Skills
Discover and search installed global skills plus enabled project-local pack skills, grouped by workflow stage or activity type.
Process
Parse arguments:
- If
$ARGUMENTSis empty orlist→ list mode (show all skills grouped by workflow stage). - If
$ARGUMENTSistypes→ type mode (show all skills grouped by activity type). - If
$ARGUMENTSstarts withsearch→ search mode (filter by keyword aftersearch).
- If
Discover skills:
- Always scan global Codex skills in
global/codex/*/SKILL.md. - If
.agents/project.jsonexists, readenabled_packsand scanpacks/<pack>/codex/*/SKILL.mdfor each enabled pack. Also scan sub-directories likepacks/<pack>/codex/<skill>/frameworks/*/SKILL.mdfor sub-skills. - Also scan all packs in
packs/*/codex/*/SKILL.md(andframeworks/*/SKILL.mdchildren) to discover available-but-not-installed skills. - If
.codex/skills/*/SKILL.mdexists in the current project, include those local skills too. - Read the first 10 lines of each file to extract YAML frontmatter fields:
name,description,type,invocation,parent. - Track which pack each skill belongs to (if any).
- Default
invocationtoprimarywhen the field is absent.
- Always scan global Codex skills in
Group skills by workflow stage using this static mapping:
The mapping includes global skills and pack-provided skills. Only skills discovered in step 2 should be printed, so domain and kanban entries appear only when the corresponding project-local pack is enabled or linked.
Stage Skills Pack Management pack,pack list,pack status,pack recommend,pack install <pack-or-skill>,pack remove <pack-or-skill>,pack which <skill>Discovery & Market Fit icp,enterprise-icpGame Development game-workflow,game-audience,game-fantasy,game-genre-map,game-comparables,game-core-loop,game-prototype-test,game-store-page-test,game-playtest-metrics,game-roadmap,game-launchDevtool Development devtool-workflow,devtool-user-map,devtool-integration-map,devtool-dx-journey,devtool-adoption,devtool-positioning,devtool-monetization,devtool-docs-auditPlanning brainstorm,brainstorm-kanban,idea-scope-brief,feature-interview,spec-interview,spec-interview --ideas,ui-interview,ux-variations,consolidate-variations,spec-interview-kanban,experiment,clone-spec-store(project-fleet pack)Mapping journey-map,metricsStrategize roadmap,roadmap-kanban,competitive-analysis,platform-strategy,gtm,landing-copy,monetization,positioning,runway-modelEvaluate dogfood,mvp-gap,scale-audit,customer-feedback,assumption-tracker,cohort-review,retroResearch Health research-roadmap,reconcile-research,reconcile-dev-docsDetail plan-phaseExecution exec,exec-kanbanShipping ship,ship-end,ship-kanban,ship-end-kanbanCode Quality expert-review,regression-check,dead-codeDebugging investigate,debug,trace,session-triageRefactoring & Migration migrate,decommission,scaffoldMonorepo affectedRelease & Deploy release,deployContext & Session afps-status,codebase-status,analyze-sessions,handoff,sync,investor-updateGit Workflow branch-lifecycleUtility commit-and-push-by-feature,init-agentic-skills,targeted-skill-builder,provision-agentic-config,poketo-kanban,poketo-kanban --archive,sync-roadmap-kanban,skills,risk-registerSkills not found in the mapping go into an Other group at the end.
Group skills by activity type (type mode only) using the
typefield from frontmatter:Type Description researchWeb search + analysis → produces documents analysisReads codebase/docs → produces assessments planningInteractive → produces specs/plans executionWrites/modifies code reviewReads code → reports issues (no changes) debuggingInvestigates + fixes problems shippingCommits, deploys, session management opsManages boards, branches, meta-tooling Display order: research → analysis → planning → execution → review → debugging → shipping → ops. Skills with no
typefield go into an Other group at the end.Apply filter (search mode only):
- Match the keyword case-insensitively against each skill's
name,description, andtype. - Keep only matching skills. Remove empty groups.
- Match the keyword case-insensitively against each skill's
Output results:
- Print each non-empty group as a
## Group Nameheading. - Under each heading, list installed/global primary and chained skills as
$<name> — <description> [type]. - Show orchestrator skills with an
⚙prefix:⚙ $<name> — <description> [type]. - Show sub-skills indented under their parent skill (identified by the
parent:frontmatter field or by living under aframeworks/directory). Format:↳ $<name> — <description> [sub-skill]. If the parent is not in the same group, place sub-skills in a "Sub-skills" subsection at the end of the parent's group. - For available-but-not-installed pack skills, list as
$<name> — <description> [type] ⚠ requires \$pack install ` or `$pack install ``. - Omit groups that have no skills (after filtering in search mode).
- At the bottom, print a total count:
**N skills** installed (M sub-skills), **P skills** available via packs(or**N skills** matching "<keyword>").
- Print each non-empty group as a
Output
List mode (default — grouped by workflow stage)
## Discovery & Market Fit
$icp — Customer discovery interview... [research]
$enterprise-icp — Enterprise multi-stakeholder discovery... [research]
## Strategize
⚙ $positioning — Parent router — detect market vs product mode... [research]
↳ $category-design — Play Bigger category design framework [sub-skill]
↳ $jtbd-positioning — Jobs to Be Done positioning framework [sub-skill]
↳ $moore-positioning — Geoffrey Moore positioning framework [sub-skill]
↳ $obviously-awesome — Obviously Awesome positioning framework [sub-skill]
↳ $strategic-canvas — Strategic Canvas positioning framework [sub-skill]
$competitive-analysis — Research competitors... [research]
...
## Execution
⚙ $exec — Execute next plan step... [execution]
...
**N skills** installed (M sub-skills), **P skills** available via packs
Type mode ($skills types)
## Research
$icp — Customer discovery interview...
$competitive-analysis — Research competitors...
...
## Analysis
$mvp-gap — Evaluate codebase against ICP...
...
**N skills** found
Constraints
- This is a read-only scan — never modify any files.
- Always read the live frontmatter from SKILL.md files; do not hardcode descriptions.
- Use the static stage mapping for stage grouping; use the
typefrontmatter field for type grouping. - Keep output compact — one line per skill, no extra detail beyond name, description, and type tag.
- In search mode, if no skills match the keyword, print:
No skills matching "<keyword>".
Default Shipping Contract
Follow the shared shipping contract convention in CLAUDE.md.