スキル保存フロー
Use when
- •会話中に発見した汎用パターンをスキルとして保存したいとき
- •「これスキルにして」「パターンを保存」などの依頼があったとき
- •繰り返し使えるワークフローを定型化したいとき
Don't use when
- •既存スキルの修正・削除(→ 手動編集)
- •一度きりの手順(→ スキル化不要)
- •プロジェクト固有の設定変更(→ /implement)
進捗管理
スキル開始時に全ステップを TaskCreate で登録し、各ステップの開始・完了時に TaskUpdate で状態を更新すること。
タスク一覧:
- •Step 1: パターン分析(activeForm: "パターンを分析中")
- •Step 2: スキル設計(activeForm: "スキルを設計中")
- •Step 3: スキル生成(activeForm: "スキルを生成中")
- •Step 4: 検証(activeForm: "スキルを検証中")
以下の 4 ステップを順に実行する。各ステップを飛ばさないこと。
タスク
$ARGUMENTS
Step 1: パターン分析
会話の文脈からスキル化するパターンを抽出する。
- •パターン抽出: 会話文脈から保存すべきパターンの核心を特定する
- •重複チェック: 既存スキルと重複しないか確認する
- •グローバル:
~/.claude/skills/を Glob で検索 - •プロジェクト:
.claude/skills/を Glob で検索
- •グローバル:
- •スコープ判定: パターンの汎用性を判断する
- •グローバル(言語・フレームワーク横断)→
~/.claude/skills/{name}/ - •プロジェクト固有(特定技術スタック依存)→
{project}/.claude/skills/{name}/
- •グローバル(言語・フレームワーク横断)→
重複がある場合はユーザーに報告し、続行するか確認する。
Step 2: スキル設計
スキルの構成を決定し、ユーザーに確認を取る。
- •
以下を決定する:
- •name: kebab-case のスキル名
- •description: 3行構成(下記の品質基準に従う)
- •argument-hint: 引数の説明例
- •allowed-tools: 必要なツールのみ列挙
- •セクション構成: 各セクションに含める内容の概要
- •
description の品質基準:
code
1行目: 何をするか(動詞で開始) 2行目: いつ使うか(トリガーキーワード・ファイル種別・アクション動詞を含める) 3行目: いつ使わないか(代替手段への誘導)
- •ユーザーに設計内容を提示して確認を取る(承認後に Step 3 へ進む)
Step 3: スキル生成
承認された設計に基づいてスキルファイルを作成する。
- •ディレクトリを作成する:
mkdir -p {スコープに応じたパス}/{name} - •
SKILL.mdを以下のフォーマットで書き出す:
markdown
---
name: {name}
description: {何をするか} {いつ使うか} {いつ使わないか}
argument-hint: '{引数の説明例}'
allowed-tools: {必要なツール}
---
## Overview
パターンの概要・目的(2-3行)。
## When to Use
- 使用すべき具体的状況1
- 使用すべき具体的状況2
- ...
## Instructions
ステップバイステップの手順。
1. ...
2. ...
3. ...
## Examples
具体的なコード例・入出力例。
## Guidelines
- 注意事項・ベストプラクティス
- アンチパターン
- ...
Step 4: 検証
生成したスキルファイルの品質を確認する。
チェックリスト
- • ファイルが正しいパスに存在する
- • YAML frontmatter が正しい形式である(name, description, argument-hint, allowed-tools)
- • description が3行構成になっている
- • 必須セクションが全て含まれている(Overview / When to Use / Instructions / Examples / Guidelines)
- • 内容が具体的で、第三者が読んでも実行できる
完了報告
code
## スキル保存完了
- スキル名: {name}
- 保存先: {ファイルパス}
- スコープ: グローバル / プロジェクト固有
- セクション: Overview, When to Use, Instructions, Examples, Guidelines
- 使い方: /{name} {引数}