<< All versions
Skill v1.0.0
currentLLM-judged scan90/100rossoctl/examples/wiki-query-api
──Details
PublishedOctober 22, 2026 at 11:52 AM
Content Hashsha256:bacf37892988595f...
Git SHAf1fc5df2993c
──Files
Files (1 file, 3.2 KB)
SKILL.md3.2 KBactive
SKILL.md · 128 lines · 3.2 KB
version: "1.0.0"
kwiki Query Agent (REST API)
Query the wiki memory service via REST API on behalf of a user.
Prerequisites
The wiki service must be running on http://localhost:8321.
Authentication
Option A: GitHub OAuth Token
Authorization: Bearer <wiki-jwt-token>
Option B: SPIFFE Headers (agent OBO user)
X-Spiffe-Id: spiffe://rossoctl.example.com/ns/wiki-system/sa/query-agentX-Original-Subject: alice@example.com
Procedure
1. List Topics
bash
curl -s http://localhost:8321/topics \-H "X-Spiffe-Id: spiffe://rossoctl.example.com/ns/wiki-system/sa/query-agent" \-H "X-Original-Subject: alice@example.com"
2. Search a Topic
bash
curl -s -X POST http://localhost:8321/topics/{topic_id}/query \-H "X-Spiffe-Id: spiffe://rossoctl.example.com/ns/wiki-system/sa/query-agent" \-H "X-Original-Subject: alice@example.com" \-H "Content-Type: application/json" \-d '{"query": "search terms", "limit": 10}'
3. Global Search (across all topics)
bash
curl -s -X POST http://localhost:8321/search \-H "X-Spiffe-Id: spiffe://rossoctl.example.com/ns/wiki-system/sa/query-agent" \-H "X-Original-Subject: alice@example.com" \-H "Content-Type: application/json" \-d '{"query": "search terms", "limit": 10}'
4. Read a Page
bash
curl -s http://localhost:8321/topics/{topic_id}/pages/{path} \-H "X-Spiffe-Id: spiffe://rossoctl.example.com/ns/wiki-system/sa/query-agent" \-H "X-Original-Subject: alice@example.com"
5. Activity Feed
bash
# Globalcurl -s http://localhost:8321/activity \-H "X-Spiffe-Id: spiffe://rossoctl.example.com/ns/wiki-system/sa/query-agent" \-H "X-Original-Subject: alice@example.com"# Topic-specificcurl -s "http://localhost:8321/topics/{topic_id}/activity?limit=10" \-H "X-Spiffe-Id: spiffe://rossoctl.example.com/ns/wiki-system/sa/query-agent" \-H "X-Original-Subject: alice@example.com"
6. Backlinks
bash
curl -s http://localhost:8321/topics/{topic_id}/backlinks/{path} \-H "X-Spiffe-Id: spiffe://rossoctl.example.com/ns/wiki-system/sa/query-agent" \-H "X-Original-Subject: alice@example.com"
7. Tags
bash
# List tagscurl -s http://localhost:8321/topics/{topic_id}/tags \-H "X-Spiffe-Id: spiffe://rossoctl.example.com/ns/wiki-system/sa/query-agent" \-H "X-Original-Subject: alice@example.com"# Pages by tagcurl -s http://localhost:8321/topics/{topic_id}/tags/{tag} \-H "X-Spiffe-Id: spiffe://rossoctl.example.com/ns/wiki-system/sa/query-agent" \-H "X-Original-Subject: alice@example.com"
8. Graph
bash
curl -s http://localhost:8321/topics/{topic_id}/graph \-H "X-Spiffe-Id: spiffe://rossoctl.example.com/ns/wiki-system/sa/query-agent" \-H "X-Original-Subject: alice@example.com"
9. Templates
bash
curl -s http://localhost:8321/templatescurl -s http://localhost:8321/templates/paper-summary
10. Drafts
bash
curl -s http://localhost:8321/topics/{topic_id}/drafts \-H "X-Spiffe-Id: spiffe://rossoctl.example.com/ns/topic-ai/sa/discovery-agent"
Notes
- The Query Agent SPIFFE ID must be in the topic's
readerslist in the ACL - Wildcard
*in readers allows all authenticated users - Returns 403 if identity lacks access