The catalog of all Claude Code skills under ~/.claude/skills/ — covering 54 actual skill directories plus 3 loose files (skills-registry.json, _INDEX.md, ocl-pre-ship.md, ocl-post-plan.md, skill-usage-log.ndjson = 57 total ls items). CLAUDE.md documents 44 dirs with a breakdown of 36 valid + 5 orphan + 3 invalid frontmatter. Live reality (probed 2026-05-03): 54 dirs — 34 valid SKILL.md + proper frontmatter, 5 orphan no SKILL.md, 8 invalid frontmatter, 7 empty “planned” shells. SKILLS-REGISTRY.md is critically stale (last updated 2026-03-08 — 56 days behind). This hub is the current source of truth until SKILLS-REGISTRY.md is refreshed. Read before building any new skill to avoid duplication.
/home/opsadmin/.openclaw/workspace/SKILLS-REGISTRY.md was last updated 2026-03-08 — 56 days stale as of 2026-05-03. Critical gaps:
Lists only 9 skills in the “Existing Skills” table; live filesystem has 54 dirs
Lists 7 skills as “Phase 3 — Planned / 🔴 not created”; all 7 exist as dirs on disk now (agent-router, plan-router, plan-updater, mission-control-indexer, system-mapper, two-way-sync-auditor, workflow-enforcer) but they are empty shells with no SKILL.md
Does not document any of the 45 skills added after 2026-03-08 (acquisitions-outreach, acquisitions-followup, dispo-blast, hubspot-deal-ingest, il-marketplace-pull, etc.)
skills-registry.json in ~/.claude/skills/ registers only 10 skills (the 10 UI/UX skills); 44 skills are unregistered
Action required: Update SKILLS-REGISTRY.md to current state. Until then, use this hub and CLAUDE.md §“Memory & Tools” and §“Tool Trigger Conditions” as source of truth.
Pending skill dispo-buyer-match-ai (OSIL B13) NOT YET CREATED. This is a forward-reference only — the skill will implement InvestorLift AI buyer-match replication without subscription, wrapping HubSpot+InvestorBase scoring. Per osil-il-ai-replication-2026-05-03 B13a (pending Henry signoff). Do not create until B13a is ratified.
These dirs exist on disk but have no SKILL.md. They cannot be invoked via the skill system.
Dir
Status
Notes
bencium-ux-designer/
⚠️ Orphan
No SKILL.md — but registered in skills-registry.json as community trust. Referenced in CLAUDE.md. Needs SKILL.md authored.
betterfiles-closing-packet/
⚠️ Orphan
No SKILL.md. TC workflow variant of betterfiles-cda.
betterfiles-doc-parser/
⚠️ Orphan
No SKILL.md. Document parsing for BetterFiles.
betterfiles-tc-templates/
⚠️ Orphan
No SKILL.md. TC template management.
openclaw-scripts/
⚠️ Orphan
No SKILL.md. Unclear purpose — may be a utility wrapper stub.
Invalid frontmatter — SKILL.md exists but frontmatter unparseable (8 dirs)
CLAUDE.md documents this as 3 dirs; live audit found 8. The discrepancy (5 additional invalid) is a CLAUDE.md documentation drift that requires correction.
Dir
Issue
betterfiles-autolabel/
SKILL.md exists; frontmatter missing second --- delimiter
betterfiles-dispo-emails/
SKILL.md exists; frontmatter missing second --- delimiter
dispo-learning-rollup/
SKILL.md exists; frontmatter parse error
dispo-orphan-recovery/
SKILL.md exists; frontmatter parse error
gstack/
SKILL.md exists; frontmatter missing second --- delimiter (also registered in skills-registry.json as verified)
model-usage/
SKILL.md exists; frontmatter parse error
planning-with-files/
SKILL.md exists; frontmatter parse error
session-logs/
SKILL.md exists; frontmatter parse error
Governance note: CLAUDE.md says “3 invalid frontmatter” — live count is 8. This is a documentation drift of +5. G-KB-SYNC-WITH-CLAUDEMD requires CLAUDE.md to be updated to reflect accurate counts. Until corrected: treat 8 as authoritative.
SKILLS-REGISTRY.md (2026-03-08) listed these as ”🔴 not created”. They are now created as empty directories with no SKILL.md. Not yet functional.
Dir
SKILLS-REGISTRY.md status
Current live state
agent-router/
”🔴 not created”
Dir exists, empty (no SKILL.md)
plan-router/
”🔴 not created”
Dir exists, empty (no SKILL.md)
plan-updater/
”🔴 not created”
Dir exists, empty (no SKILL.md)
mission-control-indexer/
”🔴 not created”
Dir exists, empty (no SKILL.md)
system-mapper/
”🔴 not created”
Dir exists, empty (no SKILL.md)
two-way-sync-auditor/
”🔴 not created”
Dir exists, empty (no SKILL.md)
workflow-enforcer/
”🔴 not created”
Dir exists, empty (no SKILL.md)
Skill trigger registry
Per CLAUDE.md §“Tool Trigger Conditions”, skills are auto-invoked when trigger conditions match. Below is a cross-reference mapping the CLAUDE.md trigger table to physical skill dirs.
Trigger: before building any new script, function, or workflow — check this hub and ~/.claude/skills/ for an existing skill first (CLAUDE.md §“MANDATORY: Search Before Building”)
Workflow: request matches trigger keyword → skill auto-invoked per §“Tool Trigger Conditions” → skill reads own SKILL.md → skill wraps existing workspace scripts → result returned to Claude
Agents involved: _summary (skill invocation and authoring), any agent in-scope for the skill’s domain
Failure mode: building new scripts that duplicate what existing skills already wrap (past problem: multiple phone normalization functions, duplicate Supabase client inits); skill docs/HANDOFF-FOR-KIMI.md explicitly delegates to workspace scripts — never bypass directly
Success criteria: every new workflow check → ~/.claude/skills/ first; skill SKILL.md is the contract; no parallel implementations