Claude Code Skill Factory: Turn Repetitive Workflows Into SKILL.md
Has Claude Code interview you about a repetitive manual process, then produce a fully-structured Agent Skill (SKILL.md) covering name/description/trigger conditions/step-by-step instructions/acceptance criteria/supporting references, and verify it can be triggered automatically as well as invoked via a /slash command.
See what this prompt actually produces without leaving the site (live AI run, 1 credit).
Don't just copy-paste — download and drop it at ~/.claude/skills/skill-builder-skillmd/SKILL.md and every future session can use it automatically.
mkdir -p ~/.claude/skills/skill-builder-skillmd && mv ~/Downloads/SKILL.md ~/.claude/skills/skill-builder-skillmd/SKILL.mdNew-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\skills\skill-builder-skillmd" | Out-Null; Move-Item "$env:USERPROFILE\Downloads\SKILL.md" "$env:USERPROFILE\.claude\skills\skill-builder-skillmd\SKILL.md"When to use: You notice you keep pasting the same set of steps into Claude Code conversations—pre-deploy checks, generating commit messages, writing a PR template, running some lint-then-fix routine, etc. Why it works: it first forces Claude to interview you into producing 'trigger conditions + steps + acceptance criteria + edge cases,' then generates a file matching the official 2026 SKILL.md format—with emphasis placed on the description (which determines whether Claude auto-loads it at the right moment) and an explicit Verify step (to prevent false completion). Tips: (1) for workflows with side effects (deploy/commit/sending messages), always set disable-model-invocation so it can only be called manually via /; (2) split long reference material into supporting files using progressive disclosure, so it doesn't eat into context normally; (3) inject live state with `!command` when needed—for example, feeding a git diff straight into the instruction.
Phase 1 問題(節錄): 1) 觸發時機:你說的是「部署前」——候選觸發語:『要 deploy 了』『上線前檢查』『push 到 prod 之前』。這三個對嗎?還有別的? 2) 步驟順序:a) 跑測試 b) tsc --noEmit c) 檢查 git 是否乾淨 d) 列出將上線的 migration——順序對嗎?有沒有漏? ... Phase 2 產出(節錄): --- SKILL.md --- --- name: predeploy-check description: 上線前安全檢查並阻擋有風險的部署。Use when the user says they are about to deploy, ship, or push to production. disable-model-invocation: true allowed-tools: Bash Read Grep --- ## Current git state !`git status --porcelain` ## Steps 1. Run the test suite; if any test fails, STOP and report which. 2. Run `tsc --noEmit`; report any type errors and STOP. 3. If the working tree above is not clean, STOP and list uncommitted files. 4. List pending migrations not yet applied to prod. 5. Verify: only output "SAFE TO DEPLOY" if steps 1-4 all passed; otherwise output the first blocker. 儲存:mkdir -p ~/.claude/skills/predeploy-check && ... 測試:對 Claude 說「上線前幫我檢查」應自動觸發;或直接打 /predeploy-check
[WORKFLOW_DESCRIPTION]你想封裝成技能的重複流程,講清楚步驟、會碰到的檔案/指令、以及你期望的產出(越具體越好)
[SKILL_SCOPE]技能放哪裡:personal(~/.claude/skills/,所有專案可用)或 project(.claude/skills/,隨 repo 進版控、團隊共用)
填下面的欄位,上方 prompt 會即時替換 [方括號] 內容。填好後按「複製組好的 prompt」直接丟進工具。
You are helping me build a reusable Claude Code Agent Skill (a `SKILL.md` file) that captures a workflow I currently repeat by hand. Follow the real Claude Code skill format and conventions. Do NOT invent fields that do not exist.
## What I want to turn into a skill
{{WORKFLOW_DESCRIPTION}}
## Where it should live
Scope: {{SKILL_SCOPE}} (personal = `~/.claude/skills/<name>/SKILL.md` available in all my projects; project = `.claude/skills/<name>/SKILL.md` checked into this repo for my team)
## Phase 1 — Interview me (ask, do not assume)
Ask me a tight batch of questions, then wait for my answers. Cover:
1. The trigger: what should make Claude auto-load this skill? Give me 3-5 candidate trigger phrases / situations to react to or edit.
2. The exact step-by-step procedure, in order, including any commands to run and files to read or write.
3. The definition of done: how do we know the skill succeeded? What output or side effect must exist?
4. Failure / edge cases the skill must handle gracefully (e.g. empty input, missing file, dirty git tree).
5. Any reference material too long to inline (style guides, API specs, examples) that should become a separate supporting file instead of bloating the main body.
6. Should the model be allowed to invoke this automatically, or only me via `/<name>`? (For anything with side effects like deploy/commit/send, recommend manual-only.)
## Phase 2 — Produce the skill
After I answer, output the complete files as code blocks, ready to save:
### A) `SKILL.md`
- YAML frontmatter between `---` markers. Use only real fields: `name` (lowercase-hyphenated; this is the display name — the command comes from the directory name), `description` (what it does AND when to use it — put the key use case first; this is what Claude reads to decide when to auto-load), and where appropriate `when_to_use` (extra trigger phrases), `allowed-tools` (tools usable without a permission prompt while active), `disable-model-invocation: true` (if it should be manual-only via `/<name>`), `argument-hint` (if it takes arguments). Keep `description` + `when_to_use` well under ~1500 characters total.
- A concise markdown body that STATES what to do (imperative), not narrates why. Number the steps. Bake in the definition-of-done as an explicit final "Verify" step. Handle the edge cases I listed. Keep the body under ~500 lines; push long reference material into supporting files.
- Reference any supporting files by relative path so Claude knows what each contains and when to load it (progressive disclosure — they cost nothing until needed).
- If the procedure benefits from live context, show how to inline a shell command result using the !`<command>` dynamic-injection syntax (e.g. inlining `git diff HEAD`).
### B) Supporting files (only if needed)
For each long reference, output its filename and content (e.g. `reference.md`, `examples.md`, or a `scripts/<name>.sh` helper). Keep the main `SKILL.md` pointing at them.
### C) Save + test instructions
Give me the exact shell commands to create the directory and save the files for my chosen scope, then two ways to test it:
1. An example natural-language request that should make Claude AUTO-trigger it (matching the description).
2. The direct `/<name>` invocation.
Note that personal/project `.claude/skills/` edits are picked up live in-session, but a brand-new top-level skills directory needs a Claude Code restart.
## Rules
- Original wording only. Do not copy any existing skill text verbatim.
- Only use fields and syntax that actually exist in Claude Code. If you are unsure a field exists, leave it out and say so.
- Optimize the `description` for triggering: it is the single most important line for whether Claude loads the skill at the right moment.
- End with a 4-item checklist confirming: valid frontmatter, trigger-optimized description, explicit verify step, save+test commands provided.Suno Engineer's Mindset: 4 Steps to a Song That Doesn't Sound Like AI
A studio engineer's breakdown of Suno's fatal weaknesses (fried vocals, high-frequency artifacts), plus a 4-step DAW workflow and a Suno Studio cleanup prompt.
5 Claude Weekly Workflows That Stuck After 6 Months
Proposal generator / meeting processor / content repurposer / Friday review / shutdown reset — out of 40 I tried, only these 5 survived, each saving 30+ minutes per run.