autosync-ic-skills
One-time installer that makes a Claude Code project keep its Internet Computer skills up to date automatically. Sets up a SessionStart hook plus a sync script so .claude/skills/ always mirrors the latest skills published at skills.internetcomputer.org. Use when a user wants to install, bootstrap, or enable "always-latest" Internet Computer / IC / ICP / Motoko skills in a project, or pastes the link to this skill. This is a one-time setup action, not ongoing IC knowledge — after it runs, the installed hook keeps skills current on every session. Do NOT use for IC coding questions themselves — this only configures auto-updating skills.
What this skill does
# Set up self-updating Internet Computer skills
This skill installs a small amount of project configuration so that **every new
Claude Code session automatically downloads the latest Internet Computer skills**
into `.claude/skills/`, where Claude discovers and triggers them natively.
It is a **one-time installer**. After you complete the steps below, the user never
needs this link again — the installed `SessionStart` hook does the work from then on.
## What you will create
1. `.claude/sync-ic-skills.sh` — a **differential** sync script that mirrors the live
skill index into `.claude/skills/`.
2. A `SessionStart` hook in `.claude/settings.json` that runs that script.
3. An immediate first run, so skills are present right away.
The script is a **differential mirror**. It fetches the discovery index once and
compares each skill's published `hash` against a stored manifest, re-downloading only
the skills that actually changed (and pruning ones removed upstream). Unchanged skills
are skipped with no per-file downloads, and the script stays silent unless something
changed. If the server does not publish a `hash` for a skill, the script falls back to
re-downloading it every run, so it remains correct either way.
## Important: tell the user what to expect
Adding a hook means a shell script will run automatically at the start of future
sessions. Claude Code will ask the user to **review and trust** the new hook before
it activates — this is expected and correct. Let the user know:
> "I'm adding a `SessionStart` hook that runs `.claude/sync-ic-skills.sh`. Claude Code
> will ask you to approve/trust it before it runs automatically. After that, your IC
> skills stay current on every session."
Do **not** attempt to bypass that approval.
## Step 0 — Check prerequisites (`curl`, `jq`)
The sync script needs `curl` (virtually always present) and `jq` (often not).
Before writing anything, check for them:
```bash
command -v curl >/dev/null 2>&1 && echo "curl: ok" || echo "curl: MISSING"
command -v jq >/dev/null 2>&1 && echo "jq: ok" || echo "jq: MISSING"
```
- If `jq` is **missing**, offer to install it (ask the user before running an install
command). Pick the right one for their platform:
- macOS (Homebrew): `brew install jq`
- Debian/Ubuntu: `sudo apt-get update && sudo apt-get install -y jq`
- Fedora/RHEL: `sudo dnf install -y jq`
- Alpine: `apk add jq`
- Arch: `sudo pacman -S --noconfirm jq`
- Windows (winget): `winget install jqlang.jq`
- If the user declines, still proceed — the script is written to degrade gracefully
(it exits cleanly with a warning when `jq` is absent), and they can install `jq`
later and the next session will sync.
## Step 1 — Download the sync script
The script is published as a file alongside this skill, so you fetch it verbatim rather
than transcribing it (this guarantees byte-exact content). Create the `.claude` directory
and download it:
```bash
mkdir -p .claude
curl -fsSL https://skills.internetcomputer.org/.well-known/skills/autosync-ic-skills/scripts/sync-ic-skills.sh \
-o .claude/sync-ic-skills.sh
```
Do **not** hand-write or paraphrase the script — always fetch the published copy so the
sync logic stays correct as it is updated upstream.
**What the script does** (for the user's awareness):
- Fetches `https://skills.internetcomputer.org/.well-known/skills/index.json` once.
- For each skill, compares the published `hash` against `.claude/skills/.ic-managed.json`
(a `{ "<skill>": "<hash>" }` manifest of skills it manages) and re-downloads only the
skills whose hash changed or are new.
- Prunes skills it previously installed that are no longer in the index.
- Prints a one-line `added / updated / removed` summary only when something changed;
otherwise it is silent.
- Degrades gracefully: exits cleanly (keeping cached skills) if the network is down or
`jq` is missing, and falls back to re-downloading skills the server publishes no
`hash` for.
## Step 2 — Register the SessionStart hook (idempotently)
Add a `SessionStart` hook to `.claude/settings.json` that runs the script.
- If `.claude/settings.json` does **not** exist, create it with the content below.
- If it **does** exist, **merge** — preserve all existing keys, hooks, and
permissions. Only add the `SessionStart` entry, and **only if an equivalent
`bash .claude/sync-ic-skills.sh` command is not already present** (do not create a
duplicate). Parse the existing JSON, insert into the `hooks.SessionStart` array,
and write it back; never blindly overwrite the file.
The entry to ensure is present:
```json
{
"hooks": {
"SessionStart": [
{
"hooks": [
{ "type": "command", "command": "bash .claude/sync-ic-skills.sh" }
]
}
]
}
}
```
## Step 3 — Run it once now
Run the script immediately so the skills are available in this session without
waiting for the next session start:
```bash
bash .claude/sync-ic-skills.sh
```
## Step 4 — Verify and report
- Confirm `.claude/skills/` now contains skill directories (e.g. `motoko`,
`asset-canister`, `internet-identity`, …) each with a `SKILL.md`.
- Confirm `.claude/skills/.ic-managed.json` maps each synced skill name to its hash.
- Tell the user: how many skills were installed, that the `SessionStart` hook is in
place, and that they'll be prompted to trust the hook before it auto-runs next
session. From then on, their IC skills refresh automatically every session.
## Notes
- **Safe to re-run.** Re-invoking this skill or the script is idempotent: the hook is
not duplicated, and only skills tracked in `.ic-managed.json` are ever pruned.
- **Differential by hash.** The script keys off the per-skill `hash` field in the
discovery index, so a normal session that touches nothing downloads only `index.json`
and exits silently. Skills are re-downloaded only when their hash changes. Migrating
from an older version of this script (whose manifest was a bare name array) is handled
automatically on the next run.
- **Optional mid-session refresh.** For very long-running sessions, the user can also
run `bash .claude/sync-ic-skills.sh` manually, or schedule it (e.g. via `/loop` or a
cron routine) — but the SessionStart hook covers the normal case.
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.