From citadel
Creates new Claude Code skills from repeating user patterns via interview: discovers tasks, analyzes failures, generates SKILL.md, installs, tests on target, teaches usage.
npx claudepluginhub sethgammon/citadel --plugin citadelThis skill uses the workspace's default tool permissions.
**Use when:**
Guides creation of Claude Code skills: evaluates suitability with recurrence/automation/value/duplication tests, details SKILL.md structure, best practices, and quick-start commands.
Create, improve, and test SKILL.md files to extend Claude Code with project-specific knowledge and reusable workflows.
Guides identifying repeated manual processes and building Claude Skills via simple briefs or complex XSPEC workflows. Use when formalizing multi-step sequences done 3+ times.
Share bugs, ideas, or general feedback.
Use when:
Do NOT use when:
Output: A complete .claude/skills/{name}/SKILL.md in the project directory, tested and working.
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.
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:
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.
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:
.claude/skills/{name}/.claude/harness.json (create with {} if missing)
b. Add skill name to registeredSkills array
c. Update registeredSkillCount to match array lengthA. How to invoke:
/{name} or /{name} [target]/do {natural language matching trigger keywords}B. How it works (30-second version):
C. How to modify:
.claude/skills/{name}/SKILL.md### Step N in Protocoltrigger_keywords in frontmatterDisclosure: "Creating skill '{name}'. Will create skills/{name}/SKILL.md."
Reversibility: green — creates skills/{name}/SKILL.md only; undo by deleting the directory.
Trust gates:
.claude/skills/{name}/SKILL.mdSKILL 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}