claude-skillify
I was reading through the Claude Code source code and noticed a skill called /skillify that only Anthropic employees get access to. It's gated behind USER_TYPE === 'ant' - if you're not an internal user, the registration function returns early and the skill never loads.
What it does is pretty useful. After you finish a session where you did some repeatable process - a deploy, a PR review, a cherry-pick flow, whatever - you run /skillify and it analyzes the session, interviews you about what to capture, and generates a proper SKILL.md file you can reuse later. It's how Anthropic's own team turns ad-hoc workflows into automation.
The bundled version uses internal hooks to inject session memory and extracted user messages into the prompt. Those hooks aren't available outside the binary. But the model already has the full conversation history when a skill runs inline, so the prompt just needs to reference that directly instead.
So I extracted the prompt, adapted it to work without the internal hooks, and packaged it as a plugin anyone can install.
What it does
At the end of a session where you performed a repeatable process (deploy flow, PR review, cherry-pick, etc.), run /skillify and it will:
- Analyze your conversation history to identify the process, steps, tools used, and corrections made
- Interview you interactively to confirm the skill name, steps, arguments, and save location
- Generate a properly structured SKILL.md with frontmatter, success criteria, and execution annotations
- Save it so you can invoke it with
/your-skill-namein future sessions
Install
Add the marketplace and install the plugin in Claude Code:
/plugin marketplace add 0xMH/claude-skillify
/plugin install skillify@0xMH/claude-skillify
Or test locally during development:
claude --plugin-dir ./path/to/claude-skillify
Usage
Run at the end of a session you want to capture:
/skillify
Or with a description hint:
/skillify cherry-pick workflow for release branches
How it differs from the bundled version
The bundled (internal) version injects session memory and extracted user messages via programmatic hooks (getSessionMemoryContent(), getMessagesAfterCompactBoundary()). This version instructs the model to analyze the full conversation history directly, which it already has access to when running inline. The interview flow and SKILL.md output format are identical.
SKILL.md format reference
Skills generated by skillify follow this structure:
---
name: skill-name
description: one-line description
allowed-tools:
- Read
- Write
- Bash(git:*)
when_to_use: "Use when... Examples: '...', '...'"
argument-hint: "[arg1] [arg2]"
arguments:
- arg1
- arg2
context: fork # omit for inline
---
Supported per-step annotations:
- Success criteria (required on every step)
- Execution: Direct, Task agent, Teammate, or [human]
- Artifacts: data produced for later steps
- Human checkpoint: pause before irreversible actions
- Rules: hard constraints
License
MIT