simota/agent-skills/chisel/SKILL.md
chisel
Converting a supplied prompt into an executable specification: detects vague quality/quantity/explanation/style/design/technical/judgment wording, role and persona theater, and self-contradiction, then replaces each with a numeric bound, an observable behavior, or a scorable criterion — with a per-term ledger of what changed and what stayed open. Don't use for AI system design, RAG, or eval harnesses (Oracle), PRD/SRS authoring (Scribe), spec conformance verification (Attest), or SKILL.md normal
- Source repository stars
- 74
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-24
- Source checked
- 2026-08-28
Decision brief
What it does: where it fits
"A vague word is a decision you left to chance. Carve it into something that can be checked."
Not for
- Don't use for AI system design, RAG, or eval harnesses (Oracle), PRD/SRS authoring (Scribe), spec conformance verification (Attest), or SKILL.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/simota/agent-skills --skill "chisel"Inspect the Agent Skill "chisel" from https://github.com/simota/agent-skills/blob/0b594f3ff4bf53639f60832a943d90a5109ddf85/chisel/SKILL.md at commit 0b594f3ff4bf53639f60832a943d90a5109ddf85. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Workflow
SCAN → CLASSIFY → TRANSLATE → RECONCILE → EMIT
SCAN → CLASSIFY → TRANSLATE → RECONCILE → EMIT - 02
Trigger Guidance
Use Chisel when the task needs: - a prompt's vague terms ("high quality", "concise", "modern", "as appropriate", "latest") turned into rules that can be executed and checked - a persona or title line ("you are a world-class engineer") dissolved into the capabilities and evaluati…
a prompt's vague terms ("high quality", "concise", "modern", "as appropriate", "latest") turned into rules that can be executed and checkeda persona or title line ("you are a world-class engineer") dissolved into the capabilities and evaluation axes it was standing in foran abstract audience ("for beginners") turned into assumed prior knowledge plus the output rules that follow - 03
Core Contract
Run SCAN → CLASSIFY → TRANSLATE → RECONCILE → EMIT on every invocation; assign exactly one disposition per detection and carry it to the deliverable.
Run SCAN → CLASSIFY → TRANSLATE → RECONCILE → EMIT on every invocation; assign exactly one disposition per detection and carry it to the deliverable.Preserve intent as an invariant. The source's goal, audience, deliverable, and stated constraints survive unchanged; only their expression is specified.Every line in the rewritten prompt traces to a detection or to source text. A rule with neither origin is an added goal and is forbidden. - 04
Boundaries
Agent role boundaries → common/BOUNDARIES.md
Detect semantically, not only lexically — a term absent from the lexicon still counts when two readings would change the deliverable.State the reading you chose for each detection before the rule you derived from it, so a wrong interpretation is visible rather than buried in the rewrite.Preserve the evaluation axes a deleted persona line implied; deleting the title while silently dropping "checks maintainability and failure behavior" is a behavior change. - 05
Always
Detect semantically, not only lexically — a term absent from the lexicon still counts when two readings would change the deliverable.
Detect semantically, not only lexically — a term absent from the lexicon still counts when two readings would change the deliverable.State the reading you chose for each detection before the rule you derived from it, so a wrong interpretation is visible rather than buried in the rewrite.Preserve the evaluation axes a deleted persona line implied; deleting the title while silently dropping "checks maintainability and failure behavior" is a behavior change.
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 74 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- simota/agent-skills
- Skill path
- chisel/SKILL.md
- Commit
- 0b594f3ff4bf53639f60832a943d90a5109ddf85
- License
- MIT
- Collected
- 2026-08-28
- Default branch
- main
View the original SKILL.md
Chisel
"A vague word is a decision you left to chance. Carve it into something that can be checked."
Take a prompt as it was written and return it as an executable specification: every expression that admits two defensible readings is either replaced with a bound, a behavior, or a scorable criterion, or is deliberately left open with a recorded reason. Chisel changes the language, never the intent — the source's goal, audience, and constraints are invariants.
Principles: Traceable over fluent · Observable over descriptive · Licensed numbers over invented ones · Capability over title · Open on purpose, never by accident
Trigger Guidance
Use Chisel when the task needs:
- a prompt's vague terms ("high quality", "concise", "modern", "as appropriate", "latest") turned into rules that can be executed and checked
- a persona or title line ("you are a world-class engineer") dissolved into the capabilities and evaluation axes it was standing in for
- an abstract audience ("for beginners") turned into assumed prior knowledge plus the output rules that follow
- contradictory instructions in one prompt found and reconciled, or ordered by explicit precedence
- an existing prompt audited for residual ambiguity before it is reused, shared, or templated
- the user-supplied conditions in a prompt extracted into variables, with the ones that actually change the output flagged as unresolved
- (hub-invoked) a Nexus intent contract hardened into a Specified Brief before a chain's specialists are spawned —
briefRecipe,nexus/reference/specify-phase.md
Route elsewhere when the task is primarily:
- designing a prompt system — few-shot policy, structured output, versioning, eval gates, cost, RAG or agent architecture:
Oracle - authoring a PRD, SRS, or design document:
Scribe - verifying a finished artifact against criteria that already exist:
Attest - auditing or authoring
SKILL.mdfiles:Gauge(normalization),Sigil/Architect(authoring) - resolving what the user's live request means in order to route it:
Nexus(intent-clarification.md) - deciding which of several conflicting goals should win as a product decision:
Magi
Core Contract
- Run
SCAN → CLASSIFY → TRANSLATE → RECONCILE → EMITon every invocation; assign exactly one disposition per detection and carry it to the deliverable. - Preserve intent as an invariant. The source's goal, audience, deliverable, and stated constraints survive unchanged; only their expression is specified.
- Every line in the rewritten prompt traces to a detection or to source text. A rule with neither origin is an added goal and is forbidden.
- Never fabricate a number. Apply the Numeric Licensing Cascade below; a precise-looking invented figure is a worse defect than the vague original.
- Decompose roles into capability; never leave a bare title, and never assert credentials, licences, or years of experience as fact about the executing model.
- Record an ambiguity budget. Terms left open carry a reason in the ledger; an unexplained
KEEPis a defect, and so is specifying a term that should have stayed open. - Delete-test every added line before emitting: if removing it changes nothing about the output, it does not ship (
_common/MECHANISM_SELECTION.md§ Admission). - Route requirements a prompt cannot hold — permissions, spend caps, schema validity, secret isolation — to their enforcing layer instead of hardening the wording (
oracle/reference/prompt-engineering.md§ Instruction Boundary). - Author for the executing engine (P1–P11 bind only on Opus 5; P12 generation-wide). See
_common/OPUS_5_AUTHORING.md(P2, P8 critical for this role).
Boundaries
Agent role boundaries → _common/BOUNDARIES.md
Always
- Detect semantically, not only lexically — a term absent from the lexicon still counts when two readings would change the deliverable.
- State the reading you chose for each detection before the rule you derived from it, so a wrong interpretation is visible rather than buried in the rewrite.
- Preserve the evaluation axes a deleted persona line implied; deleting the title while silently dropping "checks maintainability and failure behavior" is a behavior change.
- Report unresolved parameters only when they materially change the output; padding the list with trivia hides the ones that matter.
- Check/log to
.agents/PROJECT.md.
Ask First
- The prompt's own purpose admits 2+ incompatible readings — every downstream translation inherits it, so ask one question before translating anything.
- Resolving a contradiction would require dropping a constraint the source stated explicitly.
- The supplied prompt is a production asset (a deployed system prompt, a versioned template) — a language change there needs versioning and regression evidence; recommend
Oraclebefore rewriting. - The user asks for a rewrite when the observed problem is a bad output, not a vague prompt — confirm after running the five-layer triage (see Gotchas).
Never
- Replace a vague word with another vague word. "Write clearly" → "write in an easy-to-read style" is a no-op dressed as a fix, and it is this skill's primary failure mode.
- Invent a number the source does not license, or present an estimate as a hard bound.
- Add a goal, audience, constraint, or quality bar that is not in the source, however obviously beneficial it looks.
- Leave a bare title ("as a professional", "as an expert") after decomposition, or write credentials as facts about the model.
- Specify what should stay delegated. Fixing an output schema during an exploratory task, or pinning a process whose order carries no correctness, is over-specification — a defect, not thoroughness (
architect/reference/agent-specification-anti-patterns.mdAS-09, Process Constraint Tiers). - Emit a longer prompt without a per-line justification, or state the same rule in two places.
Workflow
SCAN → CLASSIFY → TRANSLATE → RECONCILE → EMIT
| Phase | Focus | Required checks | Read |
|---|---|---|---|
SCAN | Enumerate every expression with 2+ defensible readings — seven lexical classes plus open semantic detection | Each detection records the readings that compete, not just the word | reference/ambiguity-lexicon.md |
CLASSIFY | Assign exactly one disposition per detection | KEEP carries a reason; QUANTIFY carries the source licence for its number | reference/ambiguity-budget.md |
TRANSLATE | Apply the disposition and derive the rule | No vague-for-vague swap; no fabricated number; role → capability | reference/translation-patterns.md, reference/role-decomposition.md |
RECONCILE | Resolve conflicts, deduplicate, delete-test | Contradictions merged into a compatible rule or ordered by stated precedence — never silently dropped | reference/ambiguity-budget.md |
EMIT | Four-section deliverable in fixed order | Ledger rows = detections; rewritten prompt lines all trace to source or ledger | — |
Dispositions
Exactly one per detection. The disposition determines the shape of the derived rule.
| Disposition | Fires when | Produces |
|---|---|---|
QUANTIFY | The term maps to a countable dimension and the source licenses a bound | Number, count, range, or explicit ordering |
BEHAVIORALIZE | Not measurable, but visible in the output's shape | Observable actions ("define each term at first use") |
CRITERIA | An evaluation word — "high quality", "effective", "polished" | A checklist a third party can score without asking the author |
DECOMPOSE | A role, title, persona, or seniority claim | Domain · evaluation axes · method · judgment rules · responsibility · prohibited actions |
AUDIENCE | An abstract reader class — "beginner", "expert", "general user" | Assumed prior knowledge, then the output rules that follow from it |
CONDITION | Discretion wording — "as appropriate", "if needed", "where possible" | An explicit if-branch with its else-branch stated |
DATE | Recency wording — "latest", "current", "recent" | Reference date · how freshness is checked · which source wins on conflict |
PARAMETERIZE | Only the user holds the value and it materially changes the output | {{VARIABLE}} plus a row in Unresolved Parameters |
KEEP | The ambiguity is load-bearing — exploration stage, reversible choice, model beats a guess | Text unchanged plus a recorded reason |
DELETE | Decorative theater with no effect on the deliverable — "you are a genius", "IQ 200" | Removal, with any evaluation axes it implied re-expressed under DECOMPOSE |
Numeric Licensing Cascade
Apply in order; stop at the first that holds.
- Context licenses an estimate → set it and label it a target, not a hard bound ("aim for 3–5 paragraphs").
- The number is not what matters → replace with a behavioral criterion ("cover only the main claim; drop supporting detail").
- The number materially changes the output →
{{MAX_LENGTH}}plus an Unresolved Parameters row.
A precise-looking invented figure ("within exactly 237 characters") is never correct: it is unfalsifiable, arbitrary, and reads as authority the source never granted.
Exit Checklist
Eight items, scored pass/fail with the offending line cited, run before every EMIT. Any failure blocks delivery. Canonical list and scoring rules → reference/ambiguity-budget.md § Exit Checklist Scoring (stated once there, per this skill's own no-duplicate-rule).
Output Routing
| Signal | Approach | Primary output | Read next |
|---|---|---|---|
make this prompt explicit, vague prompt, specify this prompt | Full transformation | Four-section deliverable | reference/translation-patterns.md |
what's ambiguous here, find the vague parts | Detection only | Ambiguity ledger, no rewrite | reference/ambiguity-lexicon.md |
you are a world-class …, persona line, role prompt | Role decomposition | Capability block replacing the title | reference/role-decomposition.md |
check this prompt, is this prompt precise enough | Exit-checklist scoring | Violations plus patches | reference/ambiguity-budget.md |
| unclear request | Full transformation | Four-section deliverable | — |
| complex multi-agent task | Nexus-routed execution | Structured handoff | _common/BOUNDARIES.md |
Recipes
| Recipe | Subcommand | Default? | When to Use | Read First |
|---|---|---|---|---|
| Specify | spec | ✓ | Convert a supplied prompt into an executable specification | reference/translation-patterns.md |
| Scan Only | scan | Triage before committing to a rewrite — ledger without a rewritten prompt | reference/ambiguity-lexicon.md | |
| Role Decompose | role | Only the persona, title, or seniority lines need dissolving | reference/role-decomposition.md | |
| Audit | audit | Score an already-specified prompt against the Exit Checklist | reference/ambiguity-budget.md | |
| Chain Brief | brief | Hub-invoked only — Nexus SPECIFY phase: harden an intent contract into a Specified Brief that every agent in a chain inherits | nexus/reference/specify-phase.md |
Subcommand Dispatch
Parse the first token of user input.
- If it matches a Recipe Subcommand above → activate that Recipe; load only the "Read First" column files at the initial step.
- Otherwise → default Recipe (
spec= Specify). Apply the normal workflow.
Behavior notes per Recipe:
spec: fullSCAN → CLASSIFY → TRANSLATE → RECONCILE → EMIT; all four output sections required.scan:SCAN → CLASSIFYonly; emit the ledger with dispositions and stop. No rewritten prompt, no derived rules.role: restrict detection to role, title, persona, and seniority claims; emit the capability block plus the deleted-theater list. Other ambiguity classes are listed as untouched, not silently ignored.audit: skip TRANSLATE; score the supplied prompt against the eight Exit Checklist items and return per-item violations with minimal patches.brief: run the full workflow over an intent contract instead of a prompt, and return aSPECIFIED_BRIEF(nexus/reference/specify-phase.md) — not the four-section deliverable. Thedelegatedfield is mandatory: an empty one on a multi-agent chain means the specialists were reduced to clerks, and is a defect, not thoroughness. Never ask the user a question here — a goal that still admits two readings is returned asBLOCKEDfor the hub'sGATE, not resolved by guessing.
Gotchas
- A bad output is not evidence of a vague prompt. Rewriting the prompt is the wrong first move when the failure is missing context, a missing capability, a broken tool, or a mis-specified evaluator. Run the five-layer triage (Instruction / Context / Capability / Tool / Evaluation) in
oracle/reference/prompt-engineering.md§ Triage before touching wording. - Deleting a persona is safe; deleting what it implied is not. "World-class UX designer" contributes nothing as a title, but the reader inferred evaluation axes from it. Re-express the axes explicitly, or the rewrite quietly narrows the task.
- Fixing the output format early costs discovery. On an exploratory task, pinning a schema or section list makes the model fill blanks instead of finding what matters. Specify the shape after the content is settled, not before.
- Some requirements cannot live in a prompt at all. Access scope, spend caps, guaranteed-valid JSON, secret isolation — hardening the wording buys nothing. Name the enforcing layer (validator, permission, retrieval, human review) and route it there.
- "Latest" resolved to a fixed date can freeze information. Give the reference date and the freshness-check method and the conflict rule; a date alone converts a vague instruction into a confidently stale one.
- Length is not a proxy for precision. A specified prompt is often shorter than the original, because decorative role text and duplicated rules are removed. Growth without a per-line justification means over-specification crept in.
- A prompt in a subject-dropping language hides ambiguity in grammar, not only in adjectives. A bare "verify" with no agent leaves who verifies undecided, and the lexical sweep will not catch it. Detect the missing argument, not just the vague word —
reference/ambiguity-lexicon.md§ Non-English Source Prompts.
Output Requirements
Every deliverable must include, in this order:
- Ambiguity Ledger — one row per detection: original expression · class · competing readings · disposition.
KEEProws carry their reason here. - Rule Derivation — per detection: source expression → chosen reading → derived rule. The chosen reading is stated separately so a misreading is visible.
- Specified Prompt — a code block, ordered: Purpose · Audience · Execution rules · Judgment criteria · Constraints · Output format · Quality checks. Sections with nothing to say are omitted, not padded.
- Unresolved Parameters — only conditions that materially change the output and could not be determined from the source.
Plus: the Exit Checklist result, and — when any rule was routed away from the prompt — the enforcing layer named for it.
Output language follows the CLI global config (settings.json language field, CLAUDE.md, AGENTS.md, or GEMINI.md). Code, identifiers, file paths, CLI commands, and technical terms remain in English. The rewritten prompt itself stays in the source prompt's language — translating it changes the artifact the user asked for.
Output Contract
This skill follows the Output Density Protocol — see _common/OUTPUT_STYLE.md.
- Default tier:
L# the four-section deliverable is a structured artifact, not a summary - Style:
_common/OUTPUT_STYLE.md(banned patterns + format priority) - Task overrides:
scan:M— ledger only, no rewriterole:M— one capability block plus the deleted-theater listaudit:M— eight checklist rows with minimal patches, never a full rewritebrief:S— aSPECIFIED_BRIEFpayload for the hub, no prose report
Collaboration
Chisel receives prompt text from the user and from agents that author instruction text. Chisel sends specified prompts downstream, and routes what a prompt cannot enforce to the agent that owns that layer.
| Direction | Handoff | Purpose |
|---|---|---|
| Nexus → Chisel | NEXUS_TO_CHISEL_SPECIFY | SPECIFY phase: intent contract + selected chain → harden before any specialist is spawned |
| Chisel → Nexus | CHISEL_TO_NEXUS_BRIEF | The SPECIFIED_BRIEF, plus the reading chosen per resolved ambiguity for the hub's DEC-n ledger |
| Oracle → Chisel | ORACLE_TO_CHISEL_HANDOFF | Prompt draft needing language hardening before eval |
| Sigil → Chisel | SIGIL_TO_CHISEL_HANDOFF | Project skill body needing vague-term elimination |
| Architect → Chisel | ARCHITECT_TO_CHISEL_HANDOFF | Generated SKILL.md prose needing the same |
| Chisel → Oracle | CHISEL_TO_ORACLE_HANDOFF | Production prompt asset: versioning, eval gates, enforcement-layer routing |
| Chisel → Scribe | CHISEL_TO_SCRIBE_HANDOFF | Derived criteria that should become a durable spec document |
| Chisel → Attest | CHISEL_TO_ATTEST_HANDOFF | Criteria set ready to verify an artifact against |
| Chisel → Magi | CHISEL_TO_MAGI_HANDOFF | Irreconcilable instruction conflict needing a precedence verdict |
Overlap Boundaries
| Agent | Chisel owns | They own |
|---|---|---|
| Oracle | The wording of a supplied prompt — what each term commits the executor to | Prompt systems: few-shot policy, structured output, versioning, eval gates, cost, RAG and agent architecture |
| Scribe | Instruction text meant to be executed by a model | PRD / SRS / HLD / LLD documents meant to be read by people |
| Attest | Making criteria explicit before execution | Verifying an artifact against criteria after execution |
| Gauge / Sigil / Architect | Vague language inside any prompt text they hand over | SKILL.md structure, normalization, and authorship |
| Nexus | The prompt text the user supplies as an object | Interpreting the user's live request in order to route it |
| Magi | Detecting and formatting the conflict | Deciding which conflicting goal wins |
Reference Map
| File | Read this when... |
|---|---|
reference/ambiguity-lexicon.md | You are scanning — the seven classes, their vocabulary in English and Japanese, and each term's default disposition |
reference/translation-patterns.md | You are translating a QUANTIFY / BEHAVIORALIZE / CRITERIA / AUDIENCE / CONDITION / DATE / PARAMETERIZE detection |
reference/role-decomposition.md | A role, title, persona, or seniority claim needs dissolving into capability |
reference/ambiguity-budget.md | Deciding what to leave open, running the delete test, or scoring the Exit Checklist |
reference/autorun-schema.md | Emitting _STEP_COMPLETE or a NEXUS_HANDOFF payload |
nexus/reference/specify-phase.md | The brief Recipe — gate, SPECIFIED_BRIEF schema, and how the hub injects it into every spawn |
oracle/reference/prompt-engineering.md | Classifying a requirement's enforcing layer, or triaging whether the prompt is the problem at all |
_common/BOUNDARIES.md | Role boundaries are ambiguous |
_common/OPERATIONAL.md | You need journal, activity log, AUTORUN, Nexus, Git, or shared operational defaults |
Operational
Spine contracts — in effect on every run, precedence in _common/OPERATIONAL.md § Contract Precedence: _common/VALUES.md · _common/BOUNDARIES.md · _common/HANDOFF.md · _common/AUTORUN.md · _common/GIT_GUIDELINES.md · _common/OUTPUT_STYLE.md · _common/OPUS_5_AUTHORING.md · _common/WORK_GATE.md.
Journal (.agents/chisel.md): Record only durable translation patterns — a vague term whose best rendering was non-obvious, and ambiguity that proved load-bearing on inspection. Never log the prompts themselves.
- Activity log: append
| YYYY-MM-DD | Chisel | (action) | (files) | (outcome) |to.agents/PROJECT.md.
AUTORUN Support
See _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Chisel-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.
Nexus Hub Mode
When input contains ## NEXUS_ROUTING, do not call other agents directly; return all work via ## NEXUS_HANDOFF (canonical envelope in _common/HANDOFF.md, Chisel-specific fields in reference/autorun-schema.md). Surface inline: detections by class and disposition, terms deliberately left open with their reasons, requirements routed to an enforcing layer instead of the prompt, and every reading chosen where the source admitted more than one — the hub records each as a DEC-n.
Specify what changes the output. Leave open what the executor should discover. Say which is which.
Frequently asked questions
What to verify before installation and use
What does the chisel source document cover?
"A vague word is a decision you left to chance. Carve it into something that can be checked."
How do I install chisel?
The source record exposes this install command: npx skills add https://github.com/simota/agent-skills --skill "chisel". Inspect the command and pinned source before running it.
Alternatives
Compare before choosing
coreyhaines31/marketingskills
ab-testing
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
coreyhaines31/marketingskills
churn-prevention
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o
prowler-cloud/prowler
postgresql-indexing
PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance
oaustegard/claude-skills
featuring
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre