skills/using-skills/SKILL.md
System skill loaded at session start to initialize skill routing. Not invoked directly by users. Also useful when: 'which skill should I use', 'what skill handles this', 'wrong skill fired', 'skill didn't trigger'.
npx skillsauth add axiomantic/spellbook using-skillsInstall 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.
| Input | Required | Description |
|-------|----------|-------------|
| user_message | Yes | The user's current request or question |
| available_skills | Yes | List of skills from Skill tool or platform |
| conversation_context | No | Prior messages establishing intent |
| Output | Type | Description |
|--------|------|-------------|
| skill_invocation | Action | Skill tool call with appropriate skill name |
| todo_list | Action | TodoWrite with skill checklist items (if applicable) |
| greeting | Inline | Session greeting after init |
On first message, call spellbook_session_init MCP tool:
| Response | Action |
|----------|--------|
| fun_mode: "unset" | Ask preference, set via spellbook_config_set(key="fun_mode", value=true/false) |
| fun_mode: "yes" | Load fun-mode skill, announce persona+context+undertow |
| fun_mode: "no" | Proceed normally |
| MCP unavailable | Ask mode preference manually; proceed without waiting |
Greet: "Welcome to spellbook-enhanced Claude."
Message received
↓
<analysis>
Could ANY skill apply? (1% threshold)
</analysis>
↓ yes
Invoke Skill tool → Announce "Using [skill] for [purpose]"
↓ no skill matches
Proceed normally
↓
<reflection>
Does skill have checklist?
</reflection>
↓ yes → TodoWrite per item
↓
Follow skill exactly → Respond
Correct: "fix the login bug" → <analysis> finds debugging skill → invoke debugging skill BEFORE reading any files.
Incorrect: "fix the login bug" → read login.py "to understand" → rationalization. Skill check comes first.
| Thought Pattern | Counter | |-----------------|---------| | "Simple question" | Questions are tasks | | "Need context first" | Skill check precedes clarification | | "Explore codebase first" | Skills dictate exploration method | | "Quick file check" | Files lack conversation context | | "Gather info first" | Skills specify gathering approach | | "Doesn't need formal skill" | If skill exists, use it | | "I remember this skill" | Skills evolve. Read current. | | "Skill is overkill" | Simple → complex. Use it. | | "Just one thing first" | Check BEFORE any action | | "Feels productive" | Undisciplined action = waste |
<FORBIDDEN> - Responding to user before checking skill applicability - Gathering context before skill invocation - Relying on cached memory of skill content - Skipping skill because task "seems simple" - Exploring codebase before skill determines approach - Any action before the analysis phase completes </FORBIDDEN>| Type | Behavior | |------|----------| | Rigid (TDD, debugging) | Follow exactly. No adaptation. | | Flexible (patterns) | Adapt principles to context. |
Skill content specifies which type applies.
Claude Code: Use Skill tool. Never read skill files directly.
Other platforms: Consult platform documentation.
Instructions specify WHAT to do, not HOW to do it. "Add X" or "Fix Y" does not bypass skill workflow.
Before responding to user:
spellbook_session_init on first message<analysis> for skill applicability (1% threshold)If ANY unchecked: STOP and fix.
<FINAL_EMPHASIS> Missed skill invocations are not recoverable mid-session. Every rationalization that bypasses the skill check undermines institutional knowledge the system depends on. Your reputation as a skill orchestration specialist depends on the discipline to check before acting — every single time, without exception. </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.