sky
Original:🇺🇸 English
Translated
Answer a question about Sky governance using the local knowledge base
3installs
Sourcearcniko/sky-kb
Added on
NPX Install
npx skill4agent add arcniko/sky-kb skyTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Sky Knowledge Base
Registry
<!-- Updated by /sky setup — do not edit manually -->(Not configured yet. Ask a question or run to set up.)
/sky syncRouting
Parse the user's input to determine the subcommand:
- → Sync flow
sync - → Add Repo flow
add repo <url> - → Remove Repo flow
remove repo <name> - Anything else → Search flow (default)
Do not announce which flow you are running. Just execute it.
Setup flow
Triggered automatically when the Registry section above says "Not configured yet" and the user runs any command.
-
Ask where to store the KB using AskUserQuestion — suggestas the default (with the user's actual home directory expanded). Let the user pick or type a custom path.
~/sky-kb -
Clone the repo if the path doesn't exist:bash
git clone https://github.com/arcniko/sky-kb.git <path> -
Ask which bundle to install using AskUserQuestion with these options:
- All (Recommended) — all categories + Atlas (~41 repos). "Full picture: governance, technical, everything."
- Core — Atlas + protocol docs + core contracts (~18 repos). "Essential protocol documentation."
- Technical — Core + Spark, Grove, keepers, migration, endgame (~29 repos). "Developer-focused: all code repos, skip governance/community."
-
Map the bundle to category IDs:
- All →
["laniakea", "core-protocol", "spark", "grove", "migration", "endgame", "keepers", "governance"] - Core →
["laniakea", "core-protocol"] - Technical →
["laniakea", "core-protocol", "spark", "grove", "migration", "endgame", "keepers"]
- All →
-
Write:
<path>/.kb_config.jsonjson{"preset": "sky", "categories": [...selected IDs...], "custom_repos": [], "atlas": true} -
Update the Registry section in this SKILL.md — replace the placeholder text withusing the Edit tool.
<path> -
Run sync:bash
python3 <path>/scripts/sync.py --kb-path <path> -
If the user had a question, continue to the Search flow to answer it.
Search flow
-
Resolve KB path from the Registry section above. If it says "Not configured yet" → trigger Setup flow automatically.
-
Readto understand what content exists and where.
<kb-path>/DIRECTORY.md -
Target your search — based on DIRECTORY.md, identify the most relevant subdirectories for the question. Grep within those specific directories rather than all of.
content/ -
Read matching files to find the answer.
-
For Atlas results: also read the parent scope file for broader context.
-
For protocol questions: prioritize(current), then
laniakea-docs(legacy).mcd-docs-content -
For smart contract address lookups: read— this is the live chainlog with all current contract addresses.
<kb-path>/content/chainlog-ui/api/mainnet/active.json -
Search the forum — if local KB results are incomplete, or the question is about governance discussions/proposals/community sentiment, also search the Sky forum:
- Use WebFetch to call with prompt "Return the raw JSON"
https://sky-forum-proxy.skynav.workers.dev/search?q=<query>&max=5 - If a topic looks highly relevant, fetch full content: with prompt "Return the raw JSON"
https://sky-forum-proxy.skynav.workers.dev/topic/<id> - For "latest", "recent", or "what's new" questions: call first, then fetch full content for the most relevant topics via
https://sky-forum-proxy.skynav.workers.dev/latest?max=5/topic/<id> - Skip if local KB already provides a complete, authoritative answer
- Use WebFetch to call
How to answer
- Be specific and cite your sources (Atlas formal ID like , or file path for repo docs)
A.1.2.3 - Quote relevant passages when helpful
- When citing forum results, include the topic title and link to the discussion
- Forum posts are community discussion, not official protocol policy — note this distinction when relevant
- If the content doesn't contain an answer, say so clearly
Sync flow
- Resolve KB path from the Registry section above. If it says "Not configured yet" → trigger Setup flow.
- Run:
bash
python3 <kb-path>/scripts/sync.py --kb-path <kb-path> - Summarize concisely — only mention what changed:
- Atlas: "updated" or "already up to date"
- Repos: if ≤5 updated, list their names; if >5, just show the count (e.g. "12 repos updated")
- If nothing changed: "Everything up to date."
- If errors occurred, show them and suggest fixes.
Add Repo flow
- Parse arguments — extract repo URL (required), name (optional, derive from URL), description (optional, ask user).
- Resolve KB path from the Registry section above. If it says "Not configured yet" → trigger Setup flow first.
- Validate — run to confirm accessibility.
git ls-remote <url> HEAD - Read — check
<kb-path>/.kb_config.jsonfor duplicates.custom_repos - Add to config — append to the array in
custom_repos..kb_config.json - Run sync to clone the new repo.
- Report what was added.
Remove Repo flow
- Parse the repo name from arguments.
- Resolve KB path from the Registry section above.
- Read — find the repo in
<kb-path>/.kb_config.json.custom_repos- If not found there, check if it's a preset repo. If so, tell the user to remove the category instead.
- Remove from config — edit to remove the entry.
.kb_config.json - Delete content:
rm -rf <kb-path>/content/<name> - Run sync to regenerate DIRECTORY.md.
- Report what was removed.