The user wants to save what was done in this session as a reusable Claude Code skill.
Steps
Review the session: Look at what was accomplished — the tools used, files modified, commands run, and the overall workflow.
Identify the reusable pattern: What was the core workflow or technique? Strip away project-specific details and extract the generalizable process.
Ask the user:
- "What should this skill be called?" (suggest a name based on what was done)
- "Should this be a project skill (.claude/skills/) or a personal skill (~/.claude/skills/)?"
- "Should only you be able to invoke it, or should Claude use it automatically when relevant?"
Create the skill: Write the SKILL.md file with:
- YAML frontmatter: name, description, and
disable-model-invocation: trueif user-only - Clear step-by-step instructions based on what was done
- Use
$ARGUMENTSfor any variable parts (file names, branch names, etc.) - Keep it under 500 lines — move detailed reference to supporting files if needed
- YAML frontmatter: name, description, and
Verify: Show the user the created skill and explain how to invoke it with
/skill-name.
Example output
If the session involved setting up a new API endpoint:
.claude/skills/new-endpoint/SKILL.md
---
name: new-endpoint
description: Scaffold a new REST API endpoint with tests and documentation
disable-model-invocation: true
---
Create a new API endpoint for $ARGUMENTS:
1. Create the route handler in src/routes/
2. Add request/response validation schemas
3. Write integration tests
4. Update the API documentation
5. Run tests to verify
Important
- Don't include project-specific file paths — use patterns like "src/routes/" not "/Users/alice/myproject/src/routes/"
- Include any commands that should be run (test, lint, build)
- If the workflow has multiple variants, use $ARGUMENTS to parameterize
Source: IyadhKhalfallah/clauditor — distributed by TomeVault.