capabilities
Skill0 starsChanged 6 months agoMITView on GitHub
Query, browse, and manage the project capability index
We split this skill into the rules it gives an agent
33 rules. About 0 are common, 15 are distinctive, and 18 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
18
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 35
Default (no subcommand): if the first argument looks like a question rather than a subcommand name, treat it as /capabilities "<question>".
- Very specific: line 42
Check that .capabilities/CLAUDE.md exists.
- Distinctive: line 57
Search the capability index for entries matching a natural language query.
- Very specific: line 63
Read .capabilities/CLAUDE.md.
- Distinctive: line 72
Only read full capability entry files for entries whose title or tags partially match.
- Distinctive: line 77
Match found (1-3 results): Read the matching capability entry files.
- Distinctive: line 101
Use AskUserQuestion with one option per match (up to 4) plus "Other" for the full list.
- Very specific: line 122
Read .capabilities/CLAUDE.md for the domain map.
- Very specific: line 157
Read .capabilities/CLAUDE.md for existing domains.
- Distinctive: line 183
For emergent capabilities: Read all domain indexes. Ask: "Which capabilities does this compose?" Use AskUserQuestion with multiSelect, …
- Distinctive: line 187
For refinement capabilities: Ask: "Which domain area does this refine?" (The answer is implicit from the domain placement, but confirm.)
- Distinctive: line 192
Search existing artifacts for links:
- Very specific: line 194
Specs: Search .spec/registry/manifest.json (if exists) for domain keywords matching the capability name and tags
- Very specific: line 196
Decisions: Search .decisions/CLAUDE.md for ADR slugs matching keywords
- Very specific: line 198
KB:: Search .kb/CLAUDE.md for topic/category matches
- Very specific: line 199
Features: Search .feature/ and .feature/_archive/ for feature slugs with matching brief descriptions
- Distinctive: line 205
Use AskUserQuestion with multiSelect for each artifact type.
- Distinctive: line 209
If features were linked, for each feature ask:
- Distinctive: line 219
Ask: "Does this capability depend on any other capabilities?"
- Very specific: line 221
Read domain indexes and present existing capabilities as options (using <domain>/<slug> format for cross-domain references).
- Distinctive: line 224
Ask: "Does this capability enable any planned capabilities?"
- Distinctive: line 228
Ask: "What are the 3-8 key behaviors a user should know about?
- Very specific: line 233
Write .capabilities/<domain>/<slug>.md with the gathered information following the entry template.
- Very specific: line 236
Update .capabilities/<domain>/CLAUDE.md — add a row to the Capabilities table.
- Very specific: line 239
Update .capabilities/CLAUDE.md — update domain capability count and add a row to Recently Updated.
- Very specific: line 266
After changes, append an ## Updates <YYYY-MM-DD> section to the entry (following the KB pattern of never overwriting).
- Distinctive: line 280
Read these sources (skip any that don't exist):
- Very specific: line 292
If .capabilities/CLAUDE.md exists and contains a flat Capability Map table (no Domain Map), this is a migration.
- Very specific: line 300
Use the spec registry's domain taxonomy as the primary signal for domain boundaries (e.g., encryption, query, engine spec domains suggest …
- Distinctive: line 361
Create the domain directory and domain CLAUDE.md if it doesn't exist
- Distinctive: line 362
Write the capability entry file with gathered data pre-filled
- Very specific: line 383
When creating .capabilities/CLAUDE.md for the first time:
- Very specific: line 432
When writing a new .capabilities/<domain>/<slug>.md:
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/capabilities [subcommand] [arguments]
Single entry point for the project capability index. Capabilities describe what the project can do — organized by domain, with types that distinguish core capabilities from emergent compositions and refinements.
Hierarchy: domain → capability. Domains group capabilities by area of
system function (e.g., data-management, security, query). Each domain
has its own index. Capabilities are the leaf entries.
Three capability types:
- core — primary user-visible capability
- emergent — arises from composition of other capabilities (no single feature created it)
- refinement — quality/performance improvement to an existing domain area
Feature mapping: many-to-many with roles (core, extends, quality,
enables). A feature can contribute to multiple capabilities.
Subcommands
| Invocation | What it does |
/capabilities "<question>" | Search capabilities by natural language |
/capabilities list | Browse all capabilities by domain |
/capabilities add "<name>" | Create a new capability entry |
/capabilities update "<slug>" | Update an existing capability entry |
/capabilities backfill | Bootstrap from existing features, specs, and ADRs |
Default (no subcommand): if the first argument looks like a question
rather than a subcommand name, treat it as /capabilities "<question>".
Pre-flight guard
Check that .capabilities/CLAUDE.md exists. If not:
No capability index found. Would you like to set one up?Use AskUserQuestion:
- "Set up now" — create
.capabilities/CLAUDE.mdwith the seed template (see Setup section below), then continue - "Not now" — stop
capabilities "<question>" — natural language search
Search the capability index for entries matching a natural language query. This is the primary discovery mechanism — users ask "do we support X?" and get a structured answer.
Step 1 — Read the index
Read .capabilities/CLAUDE.md. Extract the domain map.
Step 2 — Match against domain indexes
For each domain, read its CLAUDE.md index. Match the query against:
- Capability title (strongest signal)
- Tags (query keywords against tags)
- Domain description (broader match)
Only read full capability entry files for entries whose title or tags partially match. This keeps the search cheap.
Step 3 — Present results
Match found (1-3 results): Read the matching capability entry files. Display:
Found <n> matching capabilities:
<title> (<type>, <status>) — <domain>
<first 2-3 sentences of "What it does">
Specs: <spec_refs>
Decisions: <decision_refs>
KB: <kb_refs>
Features: <feature count> (<feature descriptions, abbreviated>)
Full entry: .capabilities/<domain>/<slug>.mdFor emergent capabilities, also show:
Composes: <list of composed capabilities>Multiple matches (4+): Display a summary table and let the user pick:
Use AskUserQuestion with one option per match (up to 4) plus "Other" for the full list.
No match:
No capability matches "<question>".
This might be a gap in the project. Options:Use AskUserQuestion:
- "Search KB" — try
/kb "<question>"for research that might be related - "Check decisions" — try
/decisions "<question>"for deferred work - "Create capability" — start
/capabilities addif this should exist - "Done" — stop
capabilities list — browse all by domain
Read .capabilities/CLAUDE.md for the domain map. For each domain, read
its CLAUDE.md index. Display:
───────────────────────────────────────────────
Project Capabilities (<n> total, <d> domains)
───────────────────────────────────────────────
<domain name> — <domain description>
<title> (<type>) — <tags>
<first sentence of "What it does">
Features: <count> | Specs: <spec_refs> | Status: <status>
<title> (<type>) — <tags>
...
<domain name> — <domain description>
...
───────────────────────────────────────────────Refinement-type capabilities are displayed after core capabilities within
their domain, visually indented or annotated. Emergent capabilities show
their composes field.
capabilities add "<name>" — create a new entry
Interactive creation of a capability entry.
Step 1 — Domain placement
Read .capabilities/CLAUDE.md for existing domains. Use AskUserQuestion:
- One option per existing domain
- "New domain" — create a new domain (prompt for name and description)
Step 2 — Capability type
Use AskUserQuestion:
- "Core" — primary user-visible capability
- "Emergent" — arises from composition of other capabilities
- "Refinement" — quality/performance improvement in this domain
Step 3 — Gather information
Description: "Describe this capability in 1-2 sentences. What can the user do?"
Tags: "What tags describe this capability? (comma-separated)" Suggest tags based on the name, description, and domain.
Status: Use AskUserQuestion:
- "Active" — capability is implemented and available
- "Planned" — capability is designed but not yet built
- "Deprecated" — capability is being phased out
Step 4 — Type-specific fields
For emergent capabilities: Read all domain indexes. Ask: "Which capabilities does this compose?" Use AskUserQuestion with multiSelect, listing capabilities from all domains. Require at least 2.
For refinement capabilities: Ask: "Which domain area does this refine?" (The answer is implicit from the domain placement, but confirm.)
Step 5 — Cross-reference discovery
Search existing artifacts for links:
- Specs: Search
.spec/registry/manifest.json(if exists) for domain keywords matching the capability name and tags - Decisions: Search
.decisions/CLAUDE.mdfor ADR slugs matching keywords - KB: Search
.kb/CLAUDE.mdfor topic/category matches - Features: Search
.feature/and.feature/_archive/for feature slugs with matching brief descriptions
Present discovered cross-references and let the user confirm: "I found these potential links. Select which ones apply."
Use AskUserQuestion with multiSelect for each artifact type.
Step 6 — Feature descriptions and roles
If features were linked, for each feature ask:
- One-line description of the feature's contribution
- Role: Use AskUserQuestion:
- "Core" — primary implementation of this capability
- "Extends" — adds a new dimension
- "Quality" — performance/cleanup improvement
- "Enables" — prerequisite, but the capability is its own concern
Step 7 — Dependencies
Ask: "Does this capability depend on any other capabilities?"
Read domain indexes and present existing capabilities as options (using
<domain>/<slug> format for cross-domain references).
Ask: "Does this capability enable any planned capabilities?"
Step 8 — Key behaviors
Ask: "What are the 3-8 key behaviors a user should know about? Link to spec requirements where possible (e.g., F03.R1)."
Step 9 — Write the entry
Write .capabilities/<domain>/<slug>.md with the gathered information
following the entry template.
Update .capabilities/<domain>/CLAUDE.md — add a row to the Capabilities
table.
Update .capabilities/CLAUDE.md — update domain capability count and add
a row to Recently Updated.
Display:
Created capability: <title>
Domain: <domain>
Type: <type>
Entry: .capabilities/<domain>/<slug>.md
Tags: <tags>
Links: <n> specs, <n> decisions, <n> KB topics, <n> featurescapabilities update "<slug>" — update an existing entry
Find the entry by searching domain indexes for the slug. Read the existing entry. Present what's there and ask what to change.
Use AskUserQuestion:
- "Add features" — link new features to this capability (with role)
- "Update description" — revise the description or key behaviors
- "Update cross-references" — add/remove spec, ADR, KB, or dependency links
- "Change status" — active/planned/deprecated
- "Move domain" — move to a different domain
After changes, append an ## Updates <YYYY-MM-DD> section to the entry
(following the KB pattern of never overwriting). Update the Recently Updated
table in the root CLAUDE.md and the domain CLAUDE.md.
capabilities backfill — bootstrap from existing project artifacts
Scans existing features, specs, and ADRs to propose an initial set of domain-organized capabilities. Use this when adopting the capability index on a project that already has work done.
Step 1 — Gather existing artifacts
Read these sources (skip any that don't exist):
- Feature briefs:
.feature/_archive/*/brief.mdand.feature/*/brief.md— extract feature name and description - Spec registry:
.spec/registry/manifest.json— extract domain taxonomy and feature IDs - Confirmed ADRs:
.decisions/CLAUDE.md— extract accepted decision slugs and their recommendation summaries - KB topics:
.kb/CLAUDE.md— extract topic map for cross-reference
Step 2 — Detect existing flat capabilities
If .capabilities/CLAUDE.md exists and contains a flat Capability Map
table (no Domain Map), this is a migration. Read existing entries and
incorporate them into the domain proposal.
Step 3 — Propose domain groupings
Analyze the features, specs, and ADRs to identify logical domains:
- Use the spec registry's domain taxonomy as the primary signal for
domain boundaries (e.g.,
encryption,query,enginespec domains suggest capability domains) - Group features by the user-visible concern they serve — not by implementation coupling
- Identify cross-cutting capabilities that compose multiple domains (candidates for emergent type)
Present proposed domains:
Backfill analysis suggests <n> capability domains:
<domain name> — <description>
Capabilities: <list>
<domain name> — <description>
...Use AskUserQuestion:
- "Accept domains" — proceed with these domains
- "Adjust" — modify domain names, merge, or split (describe changes)
Step 4 — Propose capabilities within domains
For each accepted domain, propose capabilities:
- Group features that contribute to the same user-visible capability
- Assign feature roles:
corefor primary implementation,extendsfor new dimensions,qualityfor performance/cleanup - Identify pre-existing capabilities implied by specs or ADRs that have no feature backing
- Identify refinement candidates — capabilities where all features have
qualityrole - Identify emergent candidates — capabilities that compose 2+ other capabilities from different domains
Present all proposals grouped by domain:
<domain name>:
1. <capability name> (core) — <description>
Features: <slug> (core), <slug> (quality)
Specs: <refs> ADRs: <refs>
2. <capability name> (emergent) — <description>
Composes: <capability A> + <capability B>
...Use AskUserQuestion:
- "Create all" — create entries for all proposed capabilities
- "Select" — choose which ones to create
- "Review" — show full details before deciding
Step 5 — Create entries
For each accepted capability:
- Create the domain directory and domain CLAUDE.md if it doesn't exist
- Write the capability entry file with gathered data pre-filled
- The user can adjust descriptions, tags, and cross-references before writing
Step 6 — Summary
Backfill complete:
Domains: <n>
Capabilities: <n> (<n> core, <n> emergent, <n> refinement)
Features linked: <n>
Specs linked: <n>
ADRs linked: <n>
Run /capabilities list to see the full index.Setup — seed template
When creating .capabilities/CLAUDE.md for the first time:
# Project Capabilities
> Managed by vallorcine agents. Use /capabilities to query.
> Pull model. Navigate: domain → capability file.
> Do not scan this directory recursively.
> Structure: .capabilities/<domain>/<capability>.md
## Domain Map
| Domain | Path | Capabilities | Last Updated |
|--------|------|-------------|--------------|
## Recently Updated (last 5)
| Date | Domain | Capability | Change |
|------|--------|-----------|--------|Domain index template
When creating .capabilities/<domain>/CLAUDE.md:
# <Domain Name> — Capability Domain
> Pull model. Read capability files for details.
<1-2 sentence description of what this domain covers>
## Capabilities
| Capability | Type | Status | Tags | Features |
|-----------|------|--------|------|----------|
## Cross-references
- **KB topics:** <related KB topic paths>
- **Spec domains:** <related spec domain names>Capability entry template
When writing a new .capabilities/<domain>/<slug>.md:
---
title: "<name>"
slug: "<slug>"
domain: <domain-slug>
status: <active | planned | deprecated>
type: <core | emergent | refinement>
tags: [<tags>]
features:
- slug: <feature-slug>
role: <core | extends | quality | enables>
description: "<one-line contribution>"
composes: [<domain/capability slugs>] # Only for type: emergent
spec_refs: [<spec IDs>]
decision_refs: [<ADR slugs>]
kb_refs: [<KB topic/category paths>]
depends_on: [<domain/capability slugs>]
enables: [<domain/capability slugs>]
---
# <title>
<2-5 sentences: what the user can do, what problem it solves>
## What it does
<expanded description>
## Features
<rendered from frontmatter features array, grouped by role>
## Key behaviors
- <behavior 1> (<spec ref if available>)
- <behavior 2>
...
## Related
- **Specs:** <list>
- **Decisions:** <list>
- **KB:** <list>
- **Depends on:** <list>
- **Enables:** <list>
- **Composes:** <list, only for emergent>
- **Deferred work:** <list of related deferred ADRs>Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- zedarvates/botte-secrete★ 2same name
- Celorus/celorus-plugin★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository45 other files it gives its agents.
- decisions/CLAUDE.mdCLAUDE.md
- kb/CLAUDE.mdCLAUDE.md
- spec/CLAUDE.mdCLAUDE.md
- work/CLAUDE.mdCLAUDE.md
- script-devSkill
- architectSkill
- auditSkill
- curateSkill
- decisionsSkill
- feature-cleanupSkill
- feature-completeSkill
- feature-coordinateSkill
- feature-domainsSkill
- feature-hardenSkill
- feature-implementSkill
- feature-planSkill
- feature-prSkill
- feature-quickSkill
- feature-refactorSkill
- feature-resumeSkill
- feature-retroSkill
- featureSkill
- feature-testSkill
- kbSkill
- project-contextSkill
- researchSkill
- setup-vallorcineSkill
- spec-authorSkill
- spec-backfillSkill
- spec-initSkill
- spec-resolveSkill
- specSkill
- spec-splitSkill
- spec-verifySkill
- spec-writeSkill
- uninstall-vallorcineSkill
- upgrade-vallorcineSkill
- vallorcine-helpSkill
- work-decomposeSkill
- work-planSkill
- work-resumeSkill
- work-runSkill
- workSkill
- work-startSkill
- work-statusSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

