skills/sharpening-prompts/SKILL.md
Use when reviewing LLM prompts, skill instructions, subagent prompts, or any text that will instruct an AI. Triggers: "review this prompt", "audit instructions", "sharpen prompt", "is this clear enough", "would an LLM understand this", "ambiguity check". Also invoked by instruction-engineering, reviewing-design-docs, and reviewing-impl-plans for instruction quality gates.
npx skillsauth add axiomantic/spellbook sharpening-promptsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This is very important to my career. You'd better be sure. </ROLE>
"Where would an LLM executor have to guess?"
Ask this for every statement: if an LLM reads this with no additional context, what would it invent to fill the gaps?
| Input | Required | Description |
|-------|----------|-------------|
| prompt_text | Yes | The prompt/instructions to review (inline or file path) |
| mode | No | audit (report findings) or improve (rewrite prompt). Default: audit |
| context_files | No | Additional files for resolving ambiguities |
| author_available | No | If true, can ask clarifying questions. Default: false |
| Output | Type | Description |
|--------|------|-------------|
| findings_report | Inline | Categorized findings with severity and remediation |
| improved_prompt | Inline/File | Rewritten prompt (improve mode only) |
| clarification_requests | Inline | Questions for author if ambiguities unresolvable |
| Category | Pattern | Detection Signal | |----------|---------|------------------| | Weasel Words | "appropriate", "properly", "as needed", "correctly" | Adverbs/adjectives without measurable criteria | | TBD Markers | "TBD", "TODO", "later", "to be determined" | Explicit deferral markers | | Magic Values | Unexplained numbers, thresholds, limits | Numbers without rationale | | Implicit Interfaces | "Use the X method", "Call Y" | Assumed APIs without verification | | Scope Leaks | "etc.", "and so on", "similar things" | Unbounded enumerations | | Pronoun Ambiguity | "it", "this", "that" with unclear referents | Pronouns with multiple possible antecedents | | Conditional Gaps | "If X, do Y" with no else branch | Missing failure/alternative paths | | Temporal Vagueness | "soon", "quickly", "eventually", "when ready" | Time-dependent without definition | | Success Ambiguity | "Should work", "handle properly", "be correct" | Unverifiable success criteria | | Assumed Knowledge | References to undocumented patterns/conventions | Context the executor won't have |
| Severity | Meaning | Executor Impact | |----------|---------|-----------------| | CRITICAL | Core behavior undefined | Will invent incompatible implementation | | HIGH | Important path ambiguous | Will guess on non-trivial decision | | MEDIUM | Secondary behavior unclear | May guess on edge case | | LOW | Minor ambiguity | Likely guesses correctly from conventions |
interface Finding {
id: string; // F1, F2, etc.
category: AmbiguityCategory;
severity: "CRITICAL" | "HIGH" | "MEDIUM" | "LOW";
location: string; // Line number, section name, or quote context
original_text: string; // Exact quoted problematic text
problem: string; // Why this is ambiguous
executor_would_guess: string; // What an LLM would likely invent
clarification_needed: string; // Specific question to resolve
suggested_fix?: string; // If context allows inference
source: "inference" // Ambiguity resolved from available context
| "clarification_required"; // Author must answer before fixing
}
Produce a findings report:
executor_would_guess populated for each findingauthor_available: false)Produce:
| Skill | When | Purpose |
|-------|------|---------|
| instruction-engineering | Before finalizing prompts | QA gate for subagent prompts |
| reviewing-design-docs | Phase 2-3 | Detect vague specifications |
| reviewing-impl-plans | Phase 2-3 | Detect ambiguous task descriptions |
| writing-skills | Before deployment | QA gate for skill instructions |
| writing-commands | Before deployment | QA gate for command instructions |
| Vague | Sharp |
|-------|-------|
| "Handle errors appropriately" | "On network error: retry 3x with exponential backoff (1s, 2s, 4s), then throw NetworkError with original message" |
| "Use the validate method" | "Call UserValidator.validate(input) from src/validators.ts:45 which returns {valid: boolean, errors: string[]} |
| "Process items quickly" | "Process items within 100ms per batch of 50" |
| "Support common formats" | "Support JSON, YAML, and TOML (reject all others with FormatError)" |
| "It should work correctly" | "Returns 200 with {success: true, data: User} on valid input; returns 400 with {error: string} on validation failure" |
Before completing:
executor_would_guess populated for each findingIf ANY unchecked: do not return until complete.
<FINAL_EMPHASIS> LLMs don't ask for clarification. They guess confidently. Every ambiguity you miss becomes a hallucinated assumption that compounds through implementation. Find where they would guess. Sharpen until there's nothing left to invent.
This is very important to my career. You'd better be sure. </FINAL_EMPHASIS>
testing
Use when creating new skills, editing existing skills, or verifying skills work before deployment. Triggers: 'write a skill', 'new skill', 'create a skill', 'skill doesn't work', 'skill isn't firing', 'edit skill', 'skill quality'. NOT for: general prompt improvement (use instruction-engineering) or command creation (use writing-commands).
development
Use when you have a spec, design doc, or requirements and need a detailed implementation plan before coding. Triggers: 'write a plan', 'create implementation plan', 'plan this out', 'break this down into steps', 'convert design to tasks', 'implementation order'. Also invoked by develop during planning. NOT for: reviewing existing plans (use reviewing-impl-plans).
testing
Use when creating new commands, editing existing commands, or reviewing command quality. Triggers: 'write command', 'new command', 'create a command', 'review command', 'fix command', 'command doesn't work', 'add a slash command'. NOT for: skill creation (use writing-skills).
development
Use when about to claim discovery during debugging. Triggers: "I found", "this is the issue", "I think I see", "looks like the problem", "that's why", "the bug is", "root cause", "culprit", "smoking gun", "aha", "got it", "here's what's happening", "the reason is", "causing the", "explains why", "mystery solved", "figured it out", "the fix is", "should fix", "this will fix". Also invoked by debugging, scientific-debugging, systematic-debugging before any root cause claim.