Help us improve
Share bugs, ideas, or general feedback.
Auto-discovered marketplace from 0xmh/claude-skillify
npx claudepluginhub 0xmh/claude-skillifyCapture repeatable session workflows into reusable SKILL.md files. An open-source reimplementation of the internal /skillify skill.
Share bugs, ideas, or general feedback.
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.
At the end of a session where you performed a repeatable process (deploy flow, PR review, cherry-pick, etc.), run /skillify and it will:
/your-skill-name in future sessionsAdd 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
Run at the end of a session you want to capture:
/skillify
Or with a description hint:
/skillify cherry-pick workflow for release branches
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.
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:
MIT