---
name: skill-editor
maturity: stable
description: Improves skill outputs and the skills themselves based on user feedback. Use when the user points out issues after a skill runs, or requests skill improvements. Triggers on "スキルを改善して", "出力がおかしい", "パターンを追加して", "ガイドライン追加", "バリデータ修正", "もっとこうして", "直して".
allowed-tools:
  - Bash(bun ~/.claude/scripts/validate-skill.ts *)
  - Bash(bun config/claude/scripts/validate-skill.ts *)
  - Bash(bun .worktrees/*/config/claude/scripts/validate-skill.ts *)
  - Read
  - Edit
hooks:
  PreToolUse:
    - matcher: "Bash"
      hooks:
        - type: command
          command: "$HOME/.claude/hooks/approve-skill-bash.py \"$HOME/.claude/skills/skill-editor/SKILL.md\""
---

# Skill Editor

スキルの出力品質を修正し、再発防止のためスキル自体を改善する。

## ツール利用

- **Edit**: ソースファイルの編集（Bash でのファイル書き込みは禁止）
- **Bash**: バリデーション・テスト実行のみ。`cd dir && cmd` は使わず、相対パスで直接実行する（`allowed-tools` のパターンマッチが壊れるため）

## フェーズ 0: 問題の特定

ユーザーのフィードバックを分析し、原因を切り分ける。

- **スキルの問題**: SKILL.md の指示不足、スクリプトのバグ、バリデータの不備 → フェーズ 1〜3 へ
- **スキル外の問題**: Claude の判断ミス、コンテキスト不足等 → スキル修正は不要。出力のみ修正

## フェーズ 1: 出力の修正

ユーザーが指摘した問題を即座に修正する。対象スキルの出力を分析し、既存のパターン・規約に合わせて修正する。

## フェーズ 2: スキルの改善

同じ問題が再発しないようスキル自体を更新する。

### 改善箇所の特定

| 問題の種類 | 改善先 |
|---|---|
| 出力ルールの欠如 | SKILL.md にガイドライン追加 |
| バリデータの不備 | scripts/ のバリデーションロジック修正 |
| 未対応のパターン | SKILL.md にパターン/ワークフロー追加 |

### 編集原則

- SKILL.md の既存構造・命名規則に合わせる（番号付きパターン等）
- 500 行以内を維持する
- ハードコードされた絶対パスを使わない

### ソースファイルの場所

`~/.claude/skills/` は Nix 管理下で読み取り専用。dotfiles リポジトリ内のソースを編集する:

```
~/.claude/skills/<skill>/*  →  config/claude/skills/<skill>/*
```

## フェーズ 3: 検証

### 構造検証

```bash
bun config/claude/scripts/validate-skill.ts \
  config/claude/skills/<skill-name>
```

### スキル固有テスト

対象スキルに固有のテスト（unittest 等）がある場合はそれも実行する。テストの有無は SKILL.md の `allowed-tools` を確認する。

### rebuild 依頼

```bash
sudo darwin-rebuild switch --flake ~/path/to/dotfiles#<hostname>
```

## トラブルシューティング

| 問題 | 対処 |
|------|------|
| バリデーションが古いコードで実行される | Nix シンボリックリンク経由でなくソースパスを直接指定する |
| 編集後も動作が変わらない | rebuild が必要 |
| SKILL.md が 500 行を超える | 参照ファイルに分割する |
