ライブラリのスキルは npm パッケージに同梱し、npm update で一緒に更新させる(TanStack Intent)
GitHub からコピーしたスキルは更新が止まりがちで、ライブラリの破壊的変更のあとも古い使い方を教え続ける。@tanstack/intent はスキルを node_modules/<pkg>/skills/ に同梱し、CLAUDE.md からそのパスを参照させるので、依存の更新でスキルも新しくなる。
使う側
bash
npx @tanstack/intent@latest list # node_modules 内の同梱スキルを一覧
npx @tanstack/intent@latest install | claude # 対応表を作るプロンプトをエージェントに渡す
npx @tanstack/intent@latest stale # 参照しているスキルが古くなっていないかinstall のプロンプトは、リポを調べて「作業内容→読むべき SKILL.md」の対応を提案させ、CLAUDE.md に次のようなブロックを書かせる(中身は例)。
markdown
<!-- intent-skills:start -->
skills:
- task: "TODO の追加・編集・削除(楽観的ミューテーション)"
load: "node_modules/@tanstack/db/skills/db-core/mutations-optimistic/SKILL.md"
<!-- intent-skills:end -->作る側(ライブラリのメンテナ)
npx @tanstack/intent@latest scaffold | claudeで、ドメインの洗い出し→スキルの木構造→各 SKILL.md の生成を段階ごとにレビューしながら進めるnpx @tanstack/intent validateで形式を検査、add-library-binとedit-package-jsonでskills/をfilesに含める(!skills/_artifactsで中間成果物は除外)setup-github-actionsでスキルの検証・更新通知・鮮度チェック用のワークフロー(validate-skills / notify-intent / check-skills)が入る- パッケージの
keywordsにtanstack-intentを入れて見つけてもらう
注意点
- 依存パッケージ内のスキルも第三者の指示文。プロンプトインジェクションやスクリプト実行の危険があるので、入れる前に中身を読む(エージェントを ~/Downloads や拾ったリポで起動しない:起動前の点検と設定ファイルの見張り と同じ考え方)
- 記事は 2026年3月時点(0.0.x 系。当時は不具合のため 0.0.14 を指定する必要があった)。コマンドや出力は変わっている可能性がある
- チーム内のスキル配布は チームでスキルを配る:gh skill でピン留め、apm でマニフェスト化、出自で置き場所を分ける。Go 製 CLI にスキルを同梱する似た発想として @songmu の skillsmith の紹介もある(リンク先は未読): @songmu · 2026-03-17
追記(2026-10-29): 同梱されていないライブラリは、ドキュメントを集めてローカルのスキルにする
ライブラリ側がスキルを配っていない場合は、npm パッケージの関連ドキュメントを集めてローカルのスキル用に置くツールを @laiso が紹介している(site2skill と似た発想。X の投稿より @laiso · 2026-03-03 、リンク先は短縮 URL のみで未確認)。この場合は更新が自動で追従しないので、依存を上げたら集め直す。
出典
- @azukiazusa9 · 2026-03-15
- 記事「npm パッケージに Agent Skills を同梱する TanStack intent」: azukiazusa.dev