Agent Skills › SethGammon/Citadel › create-skill

create-skill

GitHub

用于将用户重复的工作流自动转化为标准化 SKILL.md 的元技能。通过访谈发现痛点、分析失败模式并生成可测试的技能文件,适用于需要编码和优化重复性任务的场景。

skills/create-skill/SKILL.md SethGammon/Citadel

Trigger Scenarios

用户表示反复执行相同任务 要求创建新技能以自动化工作流

Install

npx skills add SethGammon/Citadel --skill create-skill -g -y
More Options

Use without installing

npx skills use SethGammon/Citadel@create-skill

指定 Agent (Claude Code)

npx skills add SethGammon/Citadel --skill create-skill -a claude-code -g -y

安装 repo 全部 skill

npx skills add SethGammon/Citadel --all -g -y

预览 repo 内 skill

npx skills add SethGammon/Citadel --list

SKILL.md

Frontmatter
{
    "name": "create-skill",
    "license": "MIT",
    "description": "Creates new skills from the user's repeating patterns. Interview-driven: discovers the task, analyzes failure modes, generates a production SKILL.md, installs it, tests it on a real target, and teaches the user how to use it. Use when a user wants to encode a repeating workflow; do NOT use for one-off tasks or modifying existing skills.",
    "auto-trigger": false,
    "user-invocable": true,
    "trigger_keywords": [
        "create skill",
        "new skill",
        "make a skill",
        "teach the harness",
        "custom skill",
        "my own skill",
        "skill for",
        "automate this pattern",
        "repeated pattern"
    ]
}

/create-skill — Skill Creator

Orientation

Use when:

  • The user says "I keep doing this same thing" or "automate this for me"
  • The user wants to encode a workflow they have refined through repetition
  • The user says "create a skill for X" or "make a skill that does Y"

Do NOT use when:

  • The user wants a one-off task done (just do it)
  • The pattern has only happened once
  • An existing skill already covers this
  • The user wants to modify an existing skill (edit directly)

Output: A complete .claude/skills/{name}/SKILL.md in the project directory, tested and working.

Protocol

Step 1: DISCOVER — The Three Questions

Ask these three questions and wait for answers before proceeding.

Q1: "What do you keep repeating?" Listen for: trigger, steps in order, scope, frequency. If vague, probe: "Walk me through the last time you did this."

Q2: "What mistakes happen when you do it manually?" Listen for: forgotten steps, ordering mistakes, convention drift, edge cases. These become guardrails and quality gates.

Q3: "What does 'done right' look like?" Listen for: observable outputs, quality signals, anti-patterns. These become quality gates and exit protocol.

Step 2: ANALYZE — Extract the Skill's DNA

Internal working material — do not show to user.

2a. Identity statement: "You are a {role} that {does what} to ensure {outcome}." Must distinguish this skill from all others.

2b. Trigger keywords (5-10): Specific enough to avoid false matches. Check existing .claude/skills/ for conflicts.

2c. Protocol steps: Transform "what I do" into numbered steps where:

  • Each step has a clear input and output
  • Decision points have explicit criteria ("IF x THEN y, ELSE z")
  • Steps reference concrete things (file paths, commands, patterns)

Bad: "3. Review the code for issues." Good: "3. Read every function. For each, check: (a) return type explicit, (b) error cases handled, (c) no input mutations. List violations with line numbers."

2d. Quality gates: Yes/no verifiable questions, no subjective criteria. Map each to a user "done right" criterion or common mistake.

2e. Pitfalls: From Q2. Become warnings or guard clauses in the protocol.

Step 3: GENERATE — Write the SKILL.md

Every section required. File MUST be under 500 lines.

---
name: {kebab-case-name}
description: >-
  {One to three sentences. Start with verb. Use when X; do NOT use for Y.}
user-invocable: true
auto-trigger: false
trigger_keywords:
  - {keyword 1}
  - {keyword 2}
---

# /{name} — {Readable Title}

## Orientation

**Use when:**
- {condition}

**Do NOT use when:**
- {exclusion}

**What this skill needs:**
- {required input}

## Protocol

### Step 1: {VERB — Name}
{Exact instructions. What to read, what to produce. No vague directives.}

### Step 2: {VERB — Name}
{Continue...}

## Quality Gates

- [ ] {Verifiable gate}

## Exit Protocol

{Exact output format}

Writing rules:

  1. Steps must be reproducible by a different AI session with no memory of this conversation.
  2. No hedge language — "do X" not "consider X".
  3. No filler — delete sections that add no new information.
  4. Include examples only where the pattern is non-obvious.
  5. Encode the user's taste: "I hate when it does Z" → explicit prohibition.

Step 4: INSTALL & REGISTER

  1. Create .claude/skills/{name}/
  2. Write the SKILL.md
  3. Verify file exists and is readable
  4. Register with router: a. Read .claude/harness.json, Citadel's shared config path for all runtimes including Codex (create with {} if missing) b. Add skill name to registeredSkills array c. Update registeredSkillCount to match array length
  5. Only add the skill to an active project instruction file that already has an explicit skills section. Codex uses AGENTS.md. Claude Code uses CLAUDE.md when present; with confirmed AGENTS.md support, it uses AGENTS.md by default if no project CLAUDE.md exists, or both when configured under Project instructions. Check the active setting before editing and preserve user-authored guidance.
  6. Run /reload-skills if the running Claude Code version supports it; the skill is live without a session restart. If unsupported, tell the user a fresh session is required before /{name} resolves.

Step 5: VERIFY — Test on a Real Target

  1. Find a real target in the current project the skill applies to.
  2. Run the skill's protocol following the SKILL.md exactly — pretend you are a different AI session with no memory of this conversation.
  3. Evaluate: did every step have enough information? Did any step require missing context? Did quality gates catch real issues?
  4. If it fails or produces thin output, fix SKILL.md (common fixes: step too vague, step assumed context, gate not checkable, exit output missing fields).
  5. Run again after fixes. Must pass on second attempt. If it fails twice, discuss scope with user.

Step 6: TEACH — Explain What Was Built

A. How to invoke:

  • Direct: /{name} or /{name} [target]
  • Via router: /do {natural language matching trigger keywords}

B. How it works (30-second version):

  • Steps summary, quality gates summary, exit output summary

C. How to modify:

  • File: .claude/skills/{name}/SKILL.md
  • Add step: new ### Step N in Protocol
  • Change quality standards: edit Quality Gates checkboxes
  • Change trigger words: edit trigger_keywords in frontmatter
  • Split if too large: create two skills, move steps between them

Contextual Gates

Disclosure: "Creating skill '{name}'. Will create skills/{name}/SKILL.md." Reversibility: green — creates skills/{name}/SKILL.md only; undo by deleting the directory. Trust gates:

  • Any: full skill creation, install, and teach workflow.

Quality Gates

  • Three discovery questions asked and answered
  • Generated SKILL.md follows exact format (frontmatter + required sections)
  • Frontmatter has: name, description, user-invocable, trigger_keywords
  • Description includes use-when / do-not-use orientation
  • Protocol steps specific enough for a different AI session to follow
  • No steps contain vague directives ("review", "consider", "ensure quality")
  • Quality gates all yes/no verifiable
  • Trigger keywords do not conflict with existing skills
  • SKILL.md is under 500 lines
  • Skill tested on a real target in the current project
  • Test produced meaningful output
  • User taught invocation, mechanics, and modification
  • File installed at .claude/skills/{name}/SKILL.md

Exit Protocol

SKILL CREATED

Name: {name}
Path: .claude/skills/{name}/SKILL.md
Invoke: /{name} [target]
Route via: /do {example natural language}

What it does:
  {One sentence description}

Steps: {N} steps
Quality gates: {N} gates
Lines: {line count}/500

Tested on: {target description}
Test result: PASS

Trigger keywords: {comma-separated list}
Reversibility: green — delete skills/{name}/ to undo
Try it now: /{name} {suggested first target}

Version History

  • 75ccded Current 2026-09-28 03:04

    更新文档以遵循活跃的 Claude 项目指南

  • 5486f92 2026-09-22 15:40
  • 4bac8cd 2026-07-25 08:45

Same Skill Collection

skills/architect/SKILL.md
skills/archon/SKILL.md
skills/ascii-diagram/SKILL.md
skills/autopilot/SKILL.md
skills/cost/SKILL.md
skills/create-app/SKILL.md
skills/daemon/SKILL.md
skills/dashboard/SKILL.md
skills/decision-map/SKILL.md
skills/deploy-steward/SKILL.md
skills/design/SKILL.md
skills/do/SKILL.md
skills/doc-gen/SKILL.md
skills/evolve/SKILL.md
skills/experiment/SKILL.md
skills/fleet/SKILL.md
skills/grill/SKILL.md
skills/houseclean/SKILL.md
skills/improve/SKILL.md
skills/infra-audit/SKILL.md
skills/learn/SKILL.md
skills/live-preview/SKILL.md
skills/loop/SKILL.md
skills/map/SKILL.md
skills/marshal/SKILL.md
skills/merge-review/SKILL.md
skills/organize/SKILL.md
skills/postmortem/SKILL.md
skills/pr-watch/SKILL.md
skills/prd/SKILL.md
skills/qa/SKILL.md
skills/refactor/SKILL.md
skills/research-fleet/SKILL.md
skills/research/SKILL.md
skills/review/SKILL.md
skills/scaffold/SKILL.md
skills/schedule/SKILL.md
skills/session-handoff/SKILL.md
skills/setup/SKILL.md
skills/systematic-debugging/SKILL.md
skills/telemetry/SKILL.md
skills/test-gen/SKILL.md
skills/triage/SKILL.md
skills/unharness/SKILL.md
skills/verify/SKILL.md
skills/watch/SKILL.md
skills/wiki/SKILL.md
skills/workspace/SKILL.md
scripts/fixtures/ecosystem/anthropics-template-skill/SKILL.md

Metadata

Files
0
Version
75ccded
Hash
f6634fb6
Indexed
2026-07-25 08:45

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-28 14:03
浙ICP备14020137号-1