agentleFS
yktsnetyktsnet/dotfiles-public/.claude/skills/skill-dev/SKILL.md

skill-dev

Skill1 starsChanged 9 days agoMITView on GitHub

新しい Claude Code skill や subagent の定義を作る・追加する・整備したくなったときの配置ルール。「スキルを作って」「これをスキルにして」「skillを追加したい」「subagent にしたい」等、SKILL.md や `.claude/agents/` の定義を新規に書こうとする前に必ず使用する。どこに置くか(dotfiles管理のグローバル vs リポ固有)と、subagent をどの段に足すかを先に決める。

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Files
SKILL.md

skill-dev

SKILL.md を書き始める前に、それが skill であるべきか、どこに置くかを決める。

1. skill にするか

知識の置き場は、読み込みの契機で決める。

契機置き場
毎回効く短い規則CLAUDE.md に1行
「〜するとき」と条件を言える手順・規範skill(description が起動条件の宣言になる)
判断の基準・ガイドそれを使う skill が持つ。1本の skill しか読まないなら SKILL.md 本体、複数の skill が読むか長いなら reference/。独立した MD に切り出さない
規則から指す共有辞書独立ディレクトリに置き、CLAUDE.md / skill から絶対パスで参照(例: secrets-agents/)
コードの非自明な前提・制約・罠そのコードの直上のコメント
人間の下書き・未整理の思考ハーネスの外。AI に自動で読ませない

skill に寄せきれないもの(どの手順にも属さない仕組みの説明など)だけを MD として残し、それを使うファイルの隣に置く。

移住のトリガーは「またこのドキュメントを手で渡したな」と気づいた瞬間。一括移行はしない。skill の更新も自動抽出しない。作業中にズレへ気づいたら提案に留め、レビューされない規範を量産しない。

2. 置き場所

  • 複数リポで使う・リポに依存しない知識/手順(local-issue pr-workflow jp-writing 等と同種) → ~/dotfiles/.claude/skills/<name>/SKILL.md。 home-manager の activation script(home-manager/modules/claude.nix)が rebuild のたびに ~/.claude/skills/ へ丸ごとコピーし、全リポ共通のグローバル skill になる。 ~/.claude/skills/ に直接書いても正本ではなく、次回 rebuild で消える (block-new-skill-md.sh が直接作成を拒否する)。 反映には rebuild が要るので、その場のセッションではまだ一覧に出ない場合がある。
  • そのリポ固有の手順・そのリポでしか意味を持たない知識 → 該当リポの .claude/skills/<name>/SKILL.md。dotfiles には置かない。
  • 迷ったら「他のリポでこの手順が使われる場面があるか」で決める。使われるなら global。

3. 作成前の重複確認

global(~/dotfiles/.claude/skills/)と、作業中のリポの .claude/skills/ の両方を検索し、 類似 skill が無いか確かめる。

4. frontmatter・内容の規約

block-new-skill-md.sh が Write 時に検査する。詳細はフック本体を参照。

---
name: sops-secrets
description: sops / age による secret の暗号化・復号・再暗号化の運用手順。secret を暗号化するとき、`.sops.yaml` を変更するとき、新デバイスの鍵を登録するときに使用する。
---
  • name / description は必須。description に「〜するとき使用する」と起動条件を列挙し、暗黙知を宣言に変える
  • 既定は disable-model-invocation: true(明示呼び出し専用)。外すのは、条件を言語化できて、その条件が起きたときに読み落とすと事故る skill だけ。外すときは user に確認する
  • 自動発火させる skill のうち、使う場面がファイルで言えるものは paths で絞る
paths:
  - "articles/**"
  - "**/wrangler.jsonc"

絞る理由: skill の description 一覧はモデルのコンテキスト長の1%程度に収められ、溢れると呼ぶ頻度の低いものから落ちる。落ちる順は重要度ではなく頻度なので、放置すると稀にしか使わない重要な skill が先に痩せる。disable-model-invocation: true は description を一覧から消し、paths は一致するファイルを扱うときだけ自動発火させる。どちらも /name での手動呼び出しは残るので、絞りすぎの代償は「自動で出てこない」だけで済む。迷ったら絞る側へ倒す。ベンダー製の技術リファレンスは既定へ倒し、該当スタックのリポを実際に持っているものだけ paths で残す。

5. 読み込み量の多い skill は探索を分ける

全走査を伴う skill(棚卸し・公開前点検・台帳の突き合わせ)は、読んだ本文がそのまま親のコンテキストに残り、承認の往復に使える残量を削る。読む対象が数ファイルを超えるなら、読み込みを読み取り専用の subagent へ出す。

  • 渡すのは対象ファイルの一覧と観点。返させるのは所見だけ(1件につき「ファイル:該当箇所 → 何が問題か → 根拠になる原文の引用」)。要約や感想は返させない
  • 親は引用箇所だけを読み直して裏を取る。読んでいない原文を根拠に user へ承認を求めない
  • 編集・承認は親に残す。subagent は読むだけ

skill 全体を subagent 側で走らせる context: fork は、会話履歴を持たず背景で走るため、1件ずつ承認を取る型の skill には使えない。分けるのは読み込みだけにする。

6. subagent をどの段に足すか

subagent(.claude/agents/ の定義、または skill の中で立てるもの)を足す前に、作業の段ごとに「作る者」と 「判定する者」を並べる。

  • 判定する者が作った者と同じ段にだけ足す。 すでに別の文脈(相談者と実行者の分離、新しいセッション、 user の承認)が確かめている段に足しても、確かめる者が増えるだけで見落としは減らない
  • 足す理由は3つに限る。客観性(判定を作った者から離す。issue-verifier)、速さ(重い読み込みや出力を親に 入れない。5 の読み込みの分離、screen-operator)、自動化(user が担っている確認のうち、書いて渡せるものを外す)
  • 渡すのは契約だけにする。 Issue ファイルや対象の一覧を渡し、親の見立てや説明は渡さない。渡すと受け手は それを前提に読み、分けた意味が無くなる
  • 書いて渡せない判断(使い心地、意図に合っているか)は subagent に渡さず、user に残す
  • 書き込み(git・gh・ファイルの編集)はさせない。直すのと user に返すのは親である
  • subagent は subagent を呼べない。判定に操作が要るなら、判定する subagent が自分で操作する

定義の置き場は skill と同じ基準で決める(2)。複数のリポで使うものは ~/dotfiles/.claude/agents/ に置き、 home-manager が ~/.claude/agents/ へ配る。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.