simota/agent-skills/chisel
- community
Checking that the SKILL.md file is still in the repository.
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 normalization (Gauge).
Install
npx vskill@latest install simota/agent-skills/chiselSKILL.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
- Use
SCAN → CLASSIFY → TRANSLATE → RECONCILE → EMITas the artifact dependency map: every detection has exactly one disposition carried into the deliverable. Do not invent detections to fill a phase. - 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).
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/official-design-patterns.md§ 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.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingchisel/SKILL.md
Popularity
- Repository stars
- 80
- Repository forks
- 14
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/simota/agent-skills/chisel)