skill-creator について
skill-creatorは、Claude Code向けに、グローバルカタログ、特定プロジェクト、技術テンプレート用のスキルを作成するスキルです。要件を集めて形式を選び、プレビューと確認を経て作成を進めます。
主な機能
- 01グローバルまたはプロジェクト固有のスキル作成
- 02技術スキルテンプレートへの対応
- 03要件と起動条件の収集
- 04スキル形式の推定と確認
- 05作成前の内容プレビュー
活用シーン
- 01単一プロジェクト向けスキルの作成
- 02再利用可能なスキルのグローバルカタログへの追加
- 03特定技術向けスキルテンプレートの作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ fearovex-labs/ agent-config --skill skill-creatorインストール後、Claude Code で/skill-creatorを入力して読み込まれたか確認します。
詳細
skill-creator
グローバルカタログ向け、または現在のプロジェクト向けに、新しいスキルを作成します。
トリガー: skill:create, create skill, new skill, generate skill
モード /skill-create <name>
スキルを作成します。配置先はコンテキストに応じて決まります(下記のプロセスを参照)。新しい汎用スキル、プロジェクト固有のスキル、または技術テンプレートのいずれかです。次のどれにするかを尋ねます。
- 汎用 →
~/.claude/skills/<name>/SKILL.mdに配置します(すべてのプロジェクトで利用可能) - プロジェクト固有 →
.claude/skills/<name>/SKILL.mdに配置します(このプロジェクトのみ)
例外 —
agent-configリポジトリ:このリポジトリ自体が~/.claude/のソースです。このリポジトリ内で作業する場合:
- 「汎用」の配置先 →
<repo>/skills/<name>/SKILL.mdに書き込みます(~/.claude/skills/ではありません)。install.shがデプロイします。- 「プロジェクト固有」は適用されません。このリポジトリには独自の
.claude/がなく、所有するすべてのものがグローバルです。- このリポジトリから
~/.claude/skills/に直接書き込むことは絶対に避けてください。次回のinstall.sh実行時に上書きされます。
プロセス:/skill-create
ステップ 1 — 情報を収集する
コンテキストの検出(配置先を尋ねる前に実行):
is_claude_config = (
file_exists("install.sh")
AND (
project root contains install.sh AND skills/_shared/
OR basename(cwd) == "agent-config"
)
)
has_project_context = (
dir_exists(".claude")
)
is_tech_skill = name matches any of:
react*, vue*, angular*, svelte*, next*, nuxt*, remix*,
prisma*, drizzle*, sequelize*, typeorm*, mongoose*,
zod*, yup*, valibot*,
tailwind*, bootstrap*, chakra*,
typescript*, javascript*, node*,
python*, django*, fastapi*, flask*,
rails*, laravel*, spring*,
go-*, rust-*, kotlin*, swift*,
zustand*, redux*, jotai*, mobx*, recoil*,
react-native*, expo*,
playwright*, vitest*, jest*, cypress*, storybook*
if is_tech_skill AND NOT is_claude_config:
default_placement = "project-local" → option 1
rationale = "Tech-specific skills belong in the consuming project's
.claude/skills/, not the global catalog. See CLAUDE.md rule."
elif is_tech_skill AND is_claude_config:
default_placement = "_templates/tech/" → option 3 (template-only)
rationale = "In agent-config repo, tech skills go to skills/_templates/tech/
so skill-creator can scaffold them into consumer projects."
elif has_project_context AND NOT is_claude_config:
default_placement = "project-local" → option 1
else:
default_placement = "global" → option 2
役立つスキルを作成するために必要な質問をします。
配置先を尋ねるプロンプトには、検出されたデフォルトを [DEFAULT] マーカーで必ず示します。
default_placement = "project-local" の場合:
Is this skill for this specific project or for all your projects?
1. This project only → .claude/skills/ [DEFAULT]
2. Global catalog → ~/.claude/skills/
What does this skill do? (one-sentence description)
When should it activate? (what situations trigger its use?)
Are there specific code patterns, commands, or processes it should know about?
default_placement = "global" の場合:
Is this skill for this specific project or for all your projects?
1. This project only → .claude/skills/
2. Global catalog → ~/.claude/skills/ [DEFAULT]
What does this skill do? (one-sentence description)
When should it activate? (what situations trigger its use?)
Are there specific code patterns, commands, or processes it should know about?
default_placement = "_templates/tech/" の場合(agent-config リポジトリ内の技術スキル):
This is a tech-specific skill. It will NOT be deployed globally.
Save as a template at `skills/_templates/tech/<name>/` so `skill-creator`
can scaffold it into consumer projects on demand.
Confirm [Y/n]:
コンテキストが曖昧な場合(has_project_context と is_claude_config のどちらにも一致しない場合):
Is this skill for this specific project or for all your projects?
1. This project only → .claude/skills/
2. Global catalog → ~/.claude/skills/
What does this skill do? (one-sentence description)
When should it activate? (what situations trigger its use?)
Are there specific code patterns, commands, or processes it should know about?
ユーザーは Enter キーを押すか、番号付きの選択肢を選んでデフォルトを適用できます。 コマンド内ですでに十分なコンテキストが提供されている場合は、明らかな質問を省略します。
ステップ 1b — フォーマットタイプを選択する
ひな形を生成する前に、スキルのフォーマットタイプを決定します。まず推定ヒューリスティックを適用し、その結果を必ずユーザーに提示して確認します。
推定ヒューリスティック(順番に適用し、最初に一致した時点で終了):
- スキル名が
*-antipatternsまたは*-anti-patternsに一致する →anti-patternと推定 - スキル名が技術またはライブラリの名前である(既知のフレームワーク名、
-19、-5、-4などのバージョンサフィックス、または言語名を含む場合など)→referenceと推定 - スキル名が動作を表す動詞で始まる、または SDD/メタツールのパターン(
sdd-*、project-*、memory-*、deploy-*、run-*など)に一致する →proceduralと推定 - いずれにも一致しない → 推定せず、ユーザーに直接尋ねる
続行する前に、必ずフォーマットをユーザーに提示します:
Format type for this skill:
Inferred: [procedural | reference | anti-pattern | none — please select]
Available formats (full contract: docs/format-types.md):
1. procedural — orchestrates a sequence of steps (SDD phases, meta-tools, workflows)
2. reference — provides patterns and examples for a technology or library
3. anti-pattern — catalogs things to avoid (use for anti-pattern-focused skills)
Confirm [1/2/3] or press Enter to accept inferred:
docs/format-types.md が存在しない場合:
⚠️ WARNING: docs/format-types.md not found — skill-format-types change may not be applied.
Defaulting to procedural format.
procedural で続行し、スキル作成を中断しないでください。
確認済みのフォーマットを $SELECTED_FORMAT に保存し、ステップ 3 で使用します。
ステップ 2 — プロジェクトスキルの場合:コードを分析する
既存のプロジェクトコードを読み、次のことを行います。
- 文書化する実際のパターンを検出する
- スキルに含める実例を見つける
- 避けるべき既存のアンチパターンを特定する
ステップ 3 — スキルを生成する
ステップ 1b の $SELECTED_FORMAT に基づいてひな形を生成します。各ひな形には YAML フロントマターの format: $SELECTED_FORMAT と、そのフォーマットのセクション要件が含まれます。
要件の全容は docs/format-types.md に定義されています。
$SELECTED_FORMAT が procedural の場合:
---
name: [skill-name]
description: >
[one-line description]
format: procedural
---
# [skill-name]
> [One-line description. What it does and what it is for.]
**Triggers**: [word1, word2, situation1, situation2]
---
## Process
### Step 1 — [step name]
[Explain what this step does.]
### Step 2 — [step name]
[Explain what this step does.]
---
## Rules
- [constraint or invariant for this skill]
- [another constraint]
$SELECTED_FORMAT が reference の場合:
---
name: [skill-name]
description: >
[technology] patterns for [use case].
format: reference
---
# [skill-name]
> [technology] patterns for [use case].
**Triggers**: [technology name], [use-case keyword]
---
## Patterns
### [Pattern 1]: [Descriptive name]
[Explanation of the pattern]
```[language]
[real example code]
```
[パターン 2]:[説明的な名前]
[説明]
[example code]
完全な例
[シナリオ 1]
[実行可能な完全なコード]
[シナリオ 2]
[実行可能な完全なコード]
クイックリファレンス
| タスク | パターン/コマンド |
|---|---|
| [一般的なタスク] | [解決方法] |
ルール
- [避けるべき制約またはアンチパターン]
**If `$SELECTED_FORMAT` is `anti-pattern`:**
```markdown
---
name: [skill-name]
description: >
[technology] anti-patterns: [brief description].
format: anti-pattern
---
# [skill-name]
> [technology] anti-patterns: [brief description].
**Triggers**: [technology name] antipatterns, code review, refactoring
---
## Anti-patterns
### ❌ [Anti-pattern 1]: [Descriptive name]
**Why it is problematic**: [explanation]
```[language]
// ❌ Bad
[bad code]
// ✅ Good
[corrected code]
❌ [アンチパターン 2]:[説明的な名前]
問題となる理由:[説明]
ルール
- [このスキルの範囲または使用上の制約]
### Step 4 — Preview and confirm
Show the content to be created and confirm with the user before writing.
### Step 5 — Create and register
1. Create the file at the corresponding path
2. If it is a project skill, suggest adding it to the project `CLAUDE.md` in the skills section
3. If it is a generic skill, add it to the registry in `~/.claude/CLAUDE.md`
---
## Global Catalog Skills
Current catalog available in `~/.claude/skills/`:
### SDD Phase Skills
| Skill | Purpose |
|-------|---------|
| `sdd-explore` | SDD exploration phase |
| `sdd-propose` | SDD proposal phase |
| `sdd-spec` | SDD specifications phase |
| `sdd-design` | SDD technical design phase |
| `sdd-tasks` | SDD task plan phase |
| `sdd-apply` | SDD implementation phase |
| `sdd-verify` | SDD verification phase |
| `sdd-archive` | SDD archive phase |
| `sdd-init` | SDD initialization in a project |
| `sdd-status` | SDD active changes status |
### Infrastructure / Meta-tools
| Skill | Purpose |
|-------|---------|
| `project-setup` | Deploy SDD + memory structure in a new project |
| `project-audit` | Configuration audit |
| `project-fix` | Apply audit corrections |
| `project-onboard` | Diagnose and recommend onboarding sequence |
| `memory-manage` | Manage ai-context/ (init/update/maintain) |
| `codebase-teach` | Analyze bounded contexts and write ai-context/features/ docs |
| `feature-domain-expert` | Author and consume feature-level domain knowledge files |
| `config-export` | Export Claude config to Copilot, Gemini, Cursor formats |
| `skill-creator` | Skill creation |
| `smart-commit` | Conventional commit message generation |
### Workflow
| Skill | Purpose |
|-------|---------|
| `branch-pr` | PR creation workflow |
| `issue-creation` | GitHub issue creation workflow |
| `project-tracking` | GitHub Project board + Issues backlog management |
| `judgment-day` | Parallel adversarial review protocol |
### Stack-agnostic global skills
| Skill | Purpose |
|-------|---------|
| `solid-ddd` | Language-agnostic SOLID principles and DDD tactical patterns |
| `ai-media-generation` | Key-security and cost-control governance for AI image/video/audio generation |
### Tech skill templates (NOT deployed globally)
Located at `skills/_templates/tech/<name>/` in the agent-config repo. NOT
copied to `~/.claude/skills/` by `install.sh`. `skill-creator` copies them
into a consumer project's `.claude/skills/<name>/` on demand.
| Template | Purpose |
|----------|---------|
| `go-testing` | Go testing patterns including Bubbletea TUI testing |
| `nextjs-15` | Next.js 15 App Router, Server Actions, data fetching |
| `react-19` | React 19 with React Compiler, Server Components, use() hook |
| `react-native` | React Native with Expo, navigation, NativeWind |
| `tailwind-4` | Tailwind CSS 4, cn() utility, dynamic styles |
| `typescript` | TypeScript strict mode, utility types, advanced patterns |
| `zustand-5` | State management with Zustand 5, slices, persistence |
| `frontend-aesthetics` | Visual-design criteria: pick a concrete aesthetic direction before coding, avoid AI slop |
---
## Rules
- Always use real project code as examples when it is a project skill
- Never invent patterns — extract them from existing code
- Minimum 3 code examples per skill (reference and anti-pattern formats)
- Preview and confirm before writing
- Register the new skill in the corresponding CLAUDE.md
- The format-selection step (Step 1b) MUST always run before skeleton generation — a skeleton is never written without a confirmed format type
- The `format:` field MUST be present in the YAML frontmatter of every SKILL.md generated by this skill
- If `docs/format-types.md` does not exist, default all new skills to `procedural` and emit WARNING: "docs/format-types.md not found — skill-format-types change may not be applied"
- Inference is a convenience — the user MUST always confirm or override the inferred type before the skeleton is written