Capabilities
Summarize what the kit makes available in this project — user-invocable skills, review agents, active hooks, and enabled modules — as a one-shot onboarding briefing read live from disk.
Core Rule
When asked what the kit offers, enumerate the actually installed capabilities from the filesystem — never recite a memorized list, it drifts as the kit evolves. Read what is present under .claude/ and the project root, group it, and present one scannable briefing.
When to Use
When you (or the user) need a fast map of what this kit-enabled project can do:
- Starting a session in a project that has the kit installed — "what do I have here?"
- The user asks "what can this kit do / which skills / agents / hooks are available / what's enabled".
- Onboarding a teammate, or a fresh session, to the project's setup.
Do NOT use for:
- Installation health, orphan hooks, or unfilled placeholders → run
scripts/doctor.sh. - Listing skills from a terminal, outside a session →
npx @tansuasici/claude-code-kit skills. - A portable capability file for other agents/tools →
npx @tansuasici/claude-code-kit generate agents-md.
Process
Harvest live, then summarize. Don't dump full file bodies — names + one-liners only.
-
Skills. Enumerate
.claude/skills/*/SKILL.md(skip_-prefixed infra dirs like_shared,_templates). For each, readname, the first sentence ofdescription, and whether it isuser-invocable: true. Include the wiki module (wiki-module/.claude/skills/*) whenWIKI.mdis present.for f in .claude/skills/*/SKILL.md; do name=$(awk '/^name:/{sub(/^name:[[:space:]]*/,""); print; exit}' "$f") desc=$(awk '/^description:/{sub(/^description:[[:space:]]*/,""); print; exit}' "$f" | sed 's/\. .*/./') inv=$(grep -q '^user-invocable:[[:space:]]*true' "$f" && echo "/" || echo "·") printf '%s %s — %s\n' "$inv" "$name" "$desc" done -
Agents. List
.claude/agents/*.md; read eachnameand its one-line role. -
Active hooks. Read
.claude/settings.json→hooks; report the wired events and the scripts under each (what runs automatically). Flag any hook file in.claude/hooks/that is present but not wired — those are opt-in (seeagent_docs/hooks.md→ Hook Profiles). -
Modules & overlay. Detect by marker file and report active vs available:
for m in "WIKI.md:Knowledge wiki" "ARTIFACTS.md:HTML artifacts" \ "docs/ARCHITECTURE.md:Harness docs" "DESIGN.md:Design system" \ "CLAUDE.project.md:Project overlay"; do f="${m%%:*}"; label="${m#*:}" [ -e "$f" ] && echo "✓ $label" || echo "· $label (not enabled)" done -
Version. Read
VERSION(or.claude-plugin/plugin.json) for the installed kit version. -
Present the briefing (see Output Format).
Output Format
A single scannable briefing:
- Kit — version + which optional modules are on.
- Skills — grouped by purpose (audit · review · workflow · docs · meta · wiki), each as
/name — one-liner. Mark agent-facing (non-invocable) ones distinctly. - Agents —
name — role. - Hooks — by event (what runs automatically), plus any opt-in hooks available but not wired.
- Modules & overlay — active vs available.
- Next steps — 1–2 concrete suggestions for this project (e.g. fill
CODEBASE_MAP.md, then/office-hoursto scope or/feature-cycleto build from a spec).
Notes
- Read from disk every time → never stale; new skills/agents/hooks show up automatically.
- Hooks run deterministically in the background. This lists them for awareness; it does not enable/disable them — edit
.claude/settings.json(seeagent_docs/hooks.md). - Complements, not replaces, the Claude Code
/slash menu andnpx @tansuasici/claude-code-kit skills. - Pairs with
scripts/doctor.sh: capabilities = "what you have", doctor = "is it set up correctly".