Skip to main content

skill-sync: Sync Installed Skills

Scans installed skills, lists their versions, compares them with latest distribution versions, and updates selected targets after user confirmation.

Source facts

Repository
xhighhongo41/agent-skills
Last source activity
October 21, 2026 at 11:08
Detected SKILL.md language
Japanese
Stars
0
Forks
0

Uses

Use skill-sync to check for updates and manage versions of installed agent skills across supported coding agents.

Prerequisites

Requires a supported coding agent configuration directory and access to the skill distribution source.

How to use

Declare skill usage in the session, run the skill to scan installed skills, review the version list, and approve updates.

Limitations

Only writes to the configuration directory of the currently executing agent unless explicitly instructed.

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
skill-sync
description
導入枈みのスキルを走査しお版を䞀芧し、配垃元の最新版ず比范しお曎新の芁吊を刀定するスキル。版が同じでも内容が配垃元ず違う耇補は「内容が違う」ずしお知らせ、既定では䞊曞きしない。register-external-skillで取り蟌んだ倖郚由来スキルは導入元ず本文の芁玄倀で曎新を刀定する。察象倖の゚ヌゞェント向けスキルは候補から倖す。゚ヌゞェントごずに必芁・䞍芁なスキルを蚭定ファむルに蚘憶する。遞んだ察象を承認のうえで取埗・配眮・怜蚌する。曞き蟌むのは実行䞭の゚ヌゞェント自身のコンフィグディレクトリ配䞋に限る。匕数にスキル名を曞くず察象を絞れる。
license
MIT
metadata
{"version":"1.5.0"}
# skill-sync: 導入枈みスキルの䞀芧ず曎新 > **skill version**: 1.5.0 セッション内で初めお本スキルを䜿甚するずきは「skill-sync スキル v1.5.0 を䜿甚したす」ず宣蚀する。 同じスキルを耇数のコヌディング゚ヌゞェントぞ配っおいるず、どこにどの版が入っおいるかが分からなくなり、 䞀郚だけ叀いたた攟眮される。本スキルは**導入枈みスキルの版を䞀芧し、配垃元の最新版ず突き合わせ、 ナヌザヌが遞んだ察象だけを曎新する**ための手順曞である。 **このスキルは利甚者のホヌムディレクトリ配䞋に曞き蟌む。**したがっお **曎新の適甚はナヌザヌの承認を埗おから行う**。承認なしにファむルを眮き換えおはならない。 ## 曞き蟌みの範囲最優先の制玄 **本スキルが曞き蟌むのは、本スキルを実行しおいる゚ヌゞェント自身のコンフィグディレクトリ配䞋に限る。** それ以倖の堎所ぞの曞き蟌みは、**ナヌザヌが明瀺的にその堎所を指瀺した堎合を陀き、行っおはならない。** 本スキルが䜿う**必芁・䞍芁の蚭定ファむル**埌述の `skill-sync.json`も、自゚ヌゞェントのコンフィグディレクトリ盎䞋に眮く。 したがっお蚭定の読み曞きもこの範囲の内偎で行う。 他の゚ヌゞェントのスキルが叀いず分かっおも、**こちらから曞き換えない**。 別の゚ヌゞェントの蚭定を勝手に觊るこずは、利甚者が本スキルに委ねた範囲を超える。 曎新が必芁なら、**その゚ヌゞェント䞊で本スキルを実行しおもらう**。 自分がどの゚ヌゞェントずしお動いおいるかが刀別できない堎合は、**曞き蟌たない**。 刀別できない旚を䌝え、以降の適甚はナヌザヌの指瀺を埅぀。 ## 前提ず䞀般化ルヌル - **゚ヌゞェントの皮類をハヌドコヌドしない。** 埌述の「既知の゚ヌゞェント」衚は*デヌタ*であり、 手順そのものは衚に無い゚ヌゞェントにも通甚する圢で曞いおある。衚に茉っおいない゚ヌゞェントを 䜿っおいる堎合は、汎甚探玢手順2で拟う。 - スキルの版は `SKILL.md` の frontmatter の `metadata.version` に入っおいる。 **これが無いスキルは「版䞍明」ずしお扱い、゚ラヌにしない**。叀い配垃物には版が入っおいない 倖郚由来スキルは陀く。手順3の「倖郚由来スキルの照合」で刀定する。 - 収録スキル配垃元の `index.json` に茉るスキルの配垃元は `index.json` ずいう1ファむルで衚珟される。**どの URL を䜿うかは手順1で決める。** 䞋蚘は**既定倀**であり、**利甚者の蚭定があればそちらが優先する**。 ``` https://raw.githubusercontent.com/xhighhongo41/agent-skills/main/skills/index.json ``` - **倖郚由来スキル**他者のリポゞトリから `register-external-skill` で取り蟌んだものは、`SKILL.md` の frontmatter の `metadata` にある `origin` 系のキヌ`origin` / `origin-path` / `origin-ref` / `origin-commit` / `origin-digest` / `origin-fetched`が 導入元を衚す。**配垃元の `index.json` には茉らず、版も無いこずがある**ので、本スキルは導入元から盎接取埗し、 本文の芁玄倀で曎新を刀定する手順3の「倖郚由来スキルの照合」。由来キヌは register-external-skill が曞き、本スキルは読んで曎新する。 - **スキルには察象゚ヌゞェントが決たっおいるものがある。** `SKILL.md` の frontmatter の `compatibility` に察象が列挙されおおり、**このキヌが無いスキルは党゚ヌゞェント向け**である。 察象倖のスキルを入れおも倚くの゚ヌゞェントは黙っお読み蟌んでしたうため、 **気づかないたた䜿えないスキルが混ざる**。これを防ぐのも本スキルの圹目である。 - **刀定ず適甚を混ぜない。** たず党䜓を䞀芧しお芋せ、察象を遞ばせ、承認を取っおから曞き蟌む。 - **版が䞀臎しおいおも内容が違うこずがある**手元で改造した、配垃元が版を䞊げずに盎した。 本スキルは版に加えお**内容も照合する**手順3の「内容の照合」。 - **必芁・䞍芁の蚭定ぱヌゞェントごずに持぀。** 実行䞭の゚ヌゞェントの蚭定ファむルだけを読み曞きし手順2の末尟、 どのスキルを導入候補に出すか・曎新候補から倖すかに䜿う手順3・4。**蚭定は本スキルの提案にだけ効く。** 配垃経路の機構䟋: OpenCode の `skills.urls` による自動取埗が取っおくるものは止められないので、 䞍芁ず蚭定したスキルが配垃キャッシュに珟れおも異垞ではない。 ## 手順 ### 1. 配垃元を決めお最新版を取埗する **たず、配垃元の URL を利甚者の蚭定から読む。** リモヌトから自動でスキルを取埗する仕組みを持぀ ゚ヌゞェントは、**その取埗元を自分の蚭定ファむルに曞いおいる**衚の䞋の「配垃元の蚭定の圚凊」。 **そこに URL があればそれが正であり、既定倀より優先する。** 蚭定を持たない゚ヌゞェント、 たたは蚭定が芋぀からない堎合は既定倀を䜿う。 **どちらの URL ず比范したかを䞀芧に明瀺する。** ここを取り違えるず、**比范の基準が実際の配垃元ずずれる**。 機構が取埗したキャッシュは利甚者の蚭定した配垃元から来おいるので、既定倀ず突き合わせるず 「ロヌカルが新しい」「配垃元に無い」ずいった**誀った状態が䞀芧に䞊ぶ**。 どちらを芋たかが曞いおあれば、利甚者はその食い違いに気づける。 決たった URL の `index.json` を取埗し、`skills[]` の各芁玠から `name` / `version` / `files` / `compatibility` を読む。 `files` はスキルフォルダ内の党ファむルの盞察パスであり、**曎新時に取埗すべきファむルの䞀芧そのもの**である。 各ファむルの取埗先は `{index.json を眮いおいる URL のディレクトリ}/{name}/{files の各パス}` で決たる。 **`compatibility` があれば、そのスキルは列挙された゚ヌゞェント専甚**である。無ければ党゚ヌゞェント向けずしお扱う。 配垃元によっおはこの倀を持たないこずがある叀い配垃物や、別の生成芏則を採る配垃元。 その堎合は**手順5で取埗する `SKILL.md` の frontmatter から読む**ので、ここで欠けおいおも゚ラヌにしない。 取埗に倱敗した堎合オフラむン、URL 誀り、配垃元の障害は**そこで止めない**。 「配垃元に接続できなかった」ず明瀺したうえで、手順2〜3のロヌカル䞀芧たでを実行しお報告する。 その状態では曎新の芁吊は刀定できないので、**曎新の適甚には進たない**。 **倖郚由来スキルの取埗は手順3で導入元ごずに行う**`index.json` には茉らないため、ここでは扱わない。 ### 2. 導入枈みスキルを走査する **たず、本スキルを実行しおいる゚ヌゞェント自身のコンフィグディレクトリを走査する。** これは曎新の察象になりうる唯䞀の堎所であり、ここを芋ないず本スキルは目的を果たせない。 ある゚ヌゞェントのスキルの眮き堎所は、次の順で決める。 1. **環境倉数による䞊曞きを最優先する。** 衚の「環境倉数による䞊曞き」欄の倉数が蚭定されおいればそちらを䜿う。 2. 「既知の゚ヌゞェント」衚のパスを匕く。 3. **衚に無い゚ヌゞェント、たたは衚のパスが存圚しない堎合は汎甚則で探す。** ほずんどの゚ヌゞェントはスキルを `<その゚ヌゞェントの蚭定ディレクトリ>/skills/<スキル名>/SKILL.md` に眮く`skills` が単数圢 `skill` の実装もある。蚭定ディレクトリの堎所は その゚ヌゞェントの文曞か、ホヌム盎䞋のドットディレクトリから刀断する。 芋぀けた各ディレクトリの盎䞋を1階局だけ列挙し、`<スキル名>/SKILL.md` があるものをスキルずみなす。 `SKILL.md` から frontmatter の `name` ず `metadata.version` ず `compatibility`、および `metadata` の `origin` 系のキヌを読む。 **`origin` があれば「倖郚由来」の印を付け、配垃元の䞀芧ず同名でも収録スキルずしおは扱わない**倖郚由来を優先する。 同名の収録スキルは「未導入」にせず「倖郚由来が同名で導入枈み」ずしお候補に出さない入れ替えたいずきは `remove-skill` で消しおから導入する。 **互換読み蟌みで芋えるディレクトリも走査する。** ゚ヌゞェントによっおは、自分の眮き堎に加えお **他の゚ヌゞェントの眮き堎も読む**「既知の゚ヌゞェント」衚の䞋の「互換読み蟌み」。そこにあるスキルは **実行䞭の゚ヌゞェントから既に䜿える**。ここを芋ないず、**既に䜿えるスキルを「未導入」ず衚瀺しお、 利甚者に二重導入させおしたう。** - **䞀芧には出すが、曞き蟌たない**「曞き蟌んではいけない堎所」を参照。実䜓の持ち䞻が別の゚ヌゞェントだからである。 - **どの゚ヌゞェントの持ち物かが分かるように瀺す。**「自分から芋えおいるが、実䜓は別の゚ヌゞェントの ディレクトリにある」ず䌝われば、利甚者は二重に入れずに枈む。 **配垃経路で取埗したスキルも走査する。** ゚ヌゞェントが配垃元から自動で取埗したスキルは、 利甚者が自分で眮くディレクトリずは**別のキャッシュ**に入るこずがある衚の「配垃キャッシュ」欄。 ここを芋ないず、**配垃経路で入ったスキルが䞀芧から䞞ごず抜ける**。 - **䞀芧には出すが、曎新の察象にはしない**「曞き蟌んではいけない堎所」を参照。 この領域ぱヌゞェントの機構が管理しおおり、手で曞き換えおも次の取埗で眮き換わる。 - キャッシュには**取埗時の版を蚘録したファむル**が眮かれるこずがある。 **蚘録された版ず `SKILL.md` の `metadata.version` の䞡方を読み、食い違えば「版䞍明」ずしお扱う。** 機構が自分で䜜る状態ではないため、手で䞊曞きされた可胜性を知らせる䟡倀がある。 - **同じスキルがナヌザヌスコヌプずキャッシュの䞡方にあれば、別行ずしお䞡方出す。** 実䜓が別のファむルなので名寄せしない。どちらが゚ヌゞェントに読たれるかは機構が決めるため、 **本スキルは「二重に存圚する」こずを知らせるに留める。** 走査で守るこず: - **゚ヌゞェント本䜓が管理する領域は走査から陀倖する**「曞き蟌んではいけない堎所」を参照。 利甚者のスキルではないため、䞀芧に出す意味がない。 - **同じ実䜓を二重に数えない。** 耇数の゚ヌゞェントが同じディレクトリを読む構成があるため 衚の「互換読み蟌み」欄を参照、実パスで名寄せする。 - プロゞェクトスコヌプのスキル䜜業䞭のリポゞトリ配䞋は、**ナヌザヌスコヌプずは別行**ずしお扱う。 リポゞトリの持ち物なので、勝手に曎新しない。 **必芁・䞍芁の蚭定を読む。** 走査が終わったら、**実行䞭の゚ヌゞェントの蚭定ファむルを読む。** 眮き堎は「既知の゚ヌゞェントのスキルディレクトリ」の節の**「必芁・䞍芁の蚭定ファむルの圚凊」の衚で匕く** 衚に無い゚ヌゞェントは、その゚ヌゞェントの蚭定ディレクトリ盎䞋の `skill-sync.json`。環境倉数による眮き堎の䞊曞きに埓う。 **自分がどの゚ヌゞェントずしお動いおいるか刀別できない堎合は読たない**「曞き蟌みの範囲」ず同じ理由。尋ねも曞きもしない。 䞀芧の「蚭定」列は — になる。蚭定ディレクトリそのものが無い堎合も同じく読たず、眮き堎の刀定を疑っお知らせる䜜らない。 配垃元に接続できなかったずき手順1は、蚭定を読んで瀺すだけにし、各スキルの刀定も手順4の初期化・解消も行わない 配垃元の䞀芧が無いず、どの名前が配垃元に無いかも決められない。 ファむルの圢は次のずおり。厳栌な JSONコメント・末尟カンマ無しで、`format` は垞に `1`、 `skills` はスキル名配垃元の `name`→ `true`必芁`false`䞍芁の察応衚である。 ```json { "format": 1, "skills": { "council": false, "python-coding": true } } ``` 読んだ結果を次の4぀に区別し、手順3・4で䜿う。 - **蚭定なし**: ファむルが無い。手順4の冒頭で初期化する。 - **蚭定が読めない**: JSON ずしお壊れおいる、`skills` が察応衚でない、`format` が `1` 以倖。**䞊曞きしない。** ファむルのパスを添えお「蚭定が読めない」ず知らせ、盎すよう案内する。 その実行では蚭定なしず同様に䞀芧を出すが、**初期化の曞き蟌みはしない**。 - **各スキルの蚭定倀**: 配垃元の䞀芧にある各スキルず倖郚由来スキルに぀いお、**必芁**`true`**䞍芁**`false` **未蚭定**キヌが無い、たたは真停倀でない。未蚭定は手順4の冒頭で解消する。 - **配垃元に無い蚭定**: 蚭定にはあるが配垃元の䞀芧に無い名前。「配垃元に無い蚭定」ずしお知らせ、**消さない** 配垃元の倉曎か綎りの違い。刀断は利甚者に委ねる。**倖郚由来スキルの名前はここに含めない**導入元があり、蚭定は同じ意味で効く。 `format` ず `skills` 以倖のキヌがあっおも異垞ではない。**読んだものは曞き戻すずきに保持する。** ### 3. 比范しお䞀芧を提瀺する たず版を比べ、版が䞀臎した行に぀いおは**内容も照合する**䞋の「内容の照合」。 ゚ヌゞェント × スキルの衚にしお、状態を次の8皮で瀺す。衚には**「由来」列収録倖郚**を眮き、 倖郚由来の行は䞋の「倖郚由来スキルの照合」で刀定する状態語は同じ8皮を䜿い、「備考」列で区別する。9番目の状態は䜜らない。 | 状態 | 意味 | 既定の扱い | |---|---|---| | 最新 | ロヌカルず配垃元の版が䞀臎し、**内容も䞀臎** | 䜕もしない | | 曎新あり | 配垃元の版が違う | **曎新候補** | | 未導入 | 配垃元にあり、**実行䞭の゚ヌゞェントからはどこにも芋えない**自分の眮き堎・互換読み蟌み・配垃キャッシュのいずれにも無い | **導入候補**蚭定が必芁なら手順4で導入するかを確認する。䞍芁なら候補に出さない。蚭定が無ければ埓来どおりナヌザヌが望む堎合のみ | | 察象倖 | `compatibility` に、実行䞭の゚ヌゞェントが含たれない | **導入・曎新の候補から倖す。**理由を添えお䞀芧には出す | | 版䞍明 | ロヌカルに `metadata.version` が無い、たたは配垃キャッシュの蚘録ず食い違う | **曎新候補**叀い配垃物か、手で䞊曞きされた可胜性 | | ロヌカルが新しい | ロヌカルの版が配垃元より進んでいる | **曎新しない。** 手元で改造した可胜性があるので必ず知らせる | | 内容が違う | 版は䞀臎するが、`files` のいずれかの内容が配垃元ず違う、たたは欠けおいる | **既定では候補に入れない。** 違うファむル名ず差分の芏暡を瀺し、含めるかを個別に確認する | | 配垃元に無い | ロヌカル固有のスキル | 觊らない | 配垃元の版は**文字列ずしお比范する**。倧小関係の刀定に頌らず、「䞀臎しない曎新候補」ずする。 「ロヌカルが新しい」の刀定だけは版番号を数倀ずしお読み、刀断が぀かなければ「版が食い違う」ず報告する。 **蚭定の列。** 䞀芧に「蚭定」の列を眮き、手順2の末尟で読んだ倀を 必芁䞍芁未蚭定— 蚭定なし・蚭定が読めない・自゚ヌゞェントを刀別できない・配垃元に無いロヌカル固有のスキルで瀺す。 - **䞍芁か぀未導入**の行は本衚から倖し、衚の䞋に「蚭定で䞍芁: `a`, `b`, `c`3件」ず1行でたずめる。**議論しない。** 名前は出すので、芋盎したいずきに気づける。 - **䞍芁か぀導入枈み**の行は本衚に出す。状態最新・曎新あり・内容が違う等は埓来どおり付ける。既定の扱いは手順4。 - **「察象倖」は蚭定より優先する。** 蚭定が必芁でも、察象倖なら察象倖ずしお扱う䞋の「察象゚ヌゞェントの刀定」。 - 蚭定は状態ではない。8皮の状態の意味は蚭定によっお倉わらない。 **内容の照合。** 版が配垃元ず䞀臎した行すべお自分の眮き堎・互換読み蟌みで芋える堎所・配垃キャッシュ・プロゞェクトスコヌプが察象である。 それ以倖の行は照合しない既に別の状態が付いおおり、「曎新あり」は取り盎しで解消する。 候補にできない堎所の行「曞き蟌みの範囲」も照合するが、結果は知らせるに留める。 - 配垃元から、そのスキルの `files` に挙がる**党ファむル**を取埗する。**手順5ず同じ取埗手段を䜿う。** 内容をそのたた埗られる手段でなければ比范にならない芁玄や敎圢を挟む取埗手段は䜿わない。 配垃元偎の取埗はスキルごずに1回でよい同じスキルが耇数の行にあっおも取り盎さない。 手元偎は、その行のスキルフォルダから同じ盞察パスのファむルを読む。 - ファむルごずに、**改行コヌドず末尟の改行の有無を揃えおから**、内容の芁玄倀ハッシュたたは党文で比べる。 それ以倖の違いはすべお「違う」ずする。 - **1ファむルでも違えば、たたは `files` にあるファむルが手元に無ければ「内容が違う」**。 手元にあっお `files` に無いファむルは、ここでは芋ない手順5で消さずに報告する。 - `files` を持たない配垃元叀い配垃物は `SKILL.md` だけ比べ、その旚を添える。 - 配垃元に接続できないずきは照合しない手順1のずおり、曎新の芁吊は刀定できない。 䞀郚のファむルだけ取埗できなかったずきは、その行を「最新」ずせず、**版は䞀臎するが内容は未照合**ず瀺し、 取埗できなかったファむル名を添える。 - 䞀芧には**違うファむル名ず差分の芏暡**違う行数の目安を添える。 **倖郚由来スキルの照合。** `origin` を持぀行が察象「由来」列は「倖郚」。導入元ごずに䞀時ディレクトリぞ浅く取埗し `git clone --depth 1 [--branch <origin-ref>] <origin> <䞀時ディレクトリ>`。䞀時ディレクトリは䜜業䞭のリポゞトリの倖に眮き、終了時に削陀する。 配眮ではないので「曞き蟌みの範囲」の察象倖。`origin` ず `origin-ref` の組が同じ導入元は1回でよい。ロヌカルパスも同じ、`origin-path` の `SKILL.md` を読む。 配垃元の `index.json` に接続できなくおも、倖郚由来の照合は導入元ごずに行う。刀定は䞊から順に圓おる。 1. 取埗できない、たたは取埗できたが `origin-path` に `SKILL.md` が無い → 状態を付けず、備考に「未照合」埌者は「䞊流に無い」ず曞く曎新の芁吊は刀定できない。手順4の候補にも入れない。 2. 䞊流の `metadata.version` があり、手元の版ず違う → **曎新あり**。 3. 本文の芁玄倀を3぀比べる: 蚘録 S`origin-digest`、手元 L手元の本文から蚈算、䞊流 U䞊流の本文から蚈算。 本文は閉じ `---` の次の行以降frontmatter が無ければ党文、改行を LF に揃え、末尟の改行を1぀にした UTF-8 の SHA-25616進は小文字で、`sha256:` を前に付けお衚す。 **register-external-skill の「芁玄倀の蚈算」ず同じ芏則であり、盎すずきは䞡方を同時に盎す。** - L=S か぀ U=S → **最新** - L=S か぀ U≠S → **曎新あり**備考「本文差分」 - L≠S か぀ U=S → **内容が違う**備考「ロヌカル改倉」。曎新しない - L≠S か぀ U≠S → **内容が違う**備考「競合」。曎新しない。差分の芏暡を添える `origin-digest` が無い行は S が無いので L ず U だけを比べ、同じなら「最新」、違えば「内容が違う」いずれも備考「蚘録なし」ずし、曎新を1床適甚しお蚘録を補うよう案内する。 **frontmatter は比べない。** 手元の frontmatter は取り蟌み時に補われおいるこずがあり、含めるず垞に「違う」になる。 「配垃元に無い」は倖郚由来の行には付けない導入元がある。 **察象゚ヌゞェントの刀定。** `compatibility` に実行䞭の゚ヌゞェントが含たれるかどうかで決める。 自分がどの゚ヌゞェントずしお動いおいるかは、「既知の゚ヌゞェント」衚の `compatibility` の倀の列で匕く。 倖郚由来スキルの `compatibility` が衚の語圙に䞀臎しない自由文なら、刀定せず衚瀺に留める察象倖ず決め぀けない。 - **「察象倖」は他の状態より優先する。** 版が叀かろうず新しかろうず、察象でないなら曎新も導入もしない。 - **察応付けができない堎合は刀定しない。** 衚に無い゚ヌゞェントで動いおいる、あるいは自分が どの゚ヌゞェントか刀別できない堎合は、**察象倖ず決め぀けず**、刀定できない旚を瀺したうえで 導入候補から倖し、刀断を利甚者に委ねる。誀っお「察象倖」ず出すず、䜿えるはずのスキルを遠ざけおしたう。 - **既に導入枈みのスキルが察象倖だった堎合は、勝手に消さずに知らせる。** 利甚者が意図しお眮いた可胜性がある。 ### 4. 導入・曎新察象を遞ぶ **黙っお党件曎新しおはならない。** 䞀芧を芋せたうえで、䜕を導入・曎新するかを決めおもらう。 **蚭定の初期化ず未蚭定の解消。** 候補を遞ぶ前に、手順2の末尟で読んだ蚭定を敎える。 **曞き蟌み先は手順2で決めた蚭定ファむルのパス**で、必ず瀺す。 - **蚭定なし**ファむルが無いなら**初期化**する。配垃元の䞀芧の各スキルず倖郚由来スキルに぀いお提案倀を決める: **察象倖** → 䞍芁導入枈みでも。察象倖を優先する、**導入枈み**手順2の3か所のいずれかに芋える→ 必芁、**未導入** → 䞍芁。 スキル名・根拠ずなる状態・提案倀の衚ず曞き蟌み先のパスを瀺し、**たずめお**修正ず確認を受ける。 確認を埗たら**1回で曞く**手順2の末尟の圢匏。`skills` のキヌはアルファベット順、2スペヌスのむンデント、末尟に改行。 **衚の確認が承認にあたる**ので、曞く盎前にもう䞀床は尋ねない。曞く前に、曞き蟌み先が自゚ヌゞェントのコンフィグディレクトリ配䞋であるこずだけは確かめる手順5ず同じ確認。 曞いた埌は、その蚭定に基づいお同じ実行の䞭で候補の遞択に進む既定の扱いは本手順の末尟の衚。 - **未蚭定のスキルがある**キヌが無い、たたは真停倀でないなら、その件だけ同じ芏則で提案し、確認しお**曞き足す** 真停倀でない倀は、尋ねた答えの真停倀で正す。他の項目ず未知のキヌは倉えない。 - **蚭定が読めない**なら曞かない手順2の末尟。**蚭定を読んでいない**自゚ヌゞェントを刀別できない・配垃元に接続できないずきも曞かない。 **曎新の候補にできるのは、自゚ヌゞェントのコンフィグディレクトリ配䞋にあるものだけ**である 「曞き蟌みの範囲」を参照。それ以倖は䞀芧に出おいおも候補から倖し、 **その゚ヌゞェント䞊で本スキルを実行するよう案内する**。 呌び出し時の匕数でスキル名や゚ヌゞェント名が指定されおいればそれを察象ずする。 指定が無ければ候補を提瀺しお遞択を促す。遞択の粒床は次の3぀を受け付ける。 - **スキル単䜍**䟋: あるスキルだけを党゚ヌゞェントで曎新する - **゚ヌゞェント単䜍**䟋: ある゚ヌゞェントだけを最新に揃える - **その組み合わせ**、および「曎新候補すべお」 「ロヌカルが新しい」ものは既定で察象から倖す。**䞊曞きするずナヌザヌの改造が消える**ため、 含めるかどうかを個別に確認する。 **「内容が違う」ものも既定で察象から倖す**「ロヌカルが新しい」ず同じ。含めるかは1件ず぀確認し、 確認のずきに差分たたは芏暡を瀺す。䞊曞きするず手元の倉曎が消える。 手元の改造を残したいなら、その改造を配垃元ぞ反映しお版を䞊げるよう案内する。 倖郚由来の「内容が違う」ロヌカル改倉・競合も同じ扱いで、改造を残すなら導入元ぞ反映するよう案内する。 **「察象倖」のものも既定で察象から倖す。** 利甚者が明瀺的に含めたいず蚀った堎合は、 **その゚ヌゞェントでは動かない芋蟌みであるこず**を䌝えたうえで刀断に埓う。 配垃偎が察象を宣蚀しおいるだけで、実行を劚げる仕組みがあるわけではないため、 入れるこず自䜓は可胜である。 **蚭定に基づく既定の扱い。** 匕数たたは察話で名指しされたスキルは、蚭定にかかわらず察象にする䞊の匕数の芏定のずおり。 蚭定を盎す必芁↔䞍芁のは、利甚者がそう答えたずきだけで、手順4のうちに曞く初期化・远蚘ず同じ扱い。 | 蚭定 | 未導入 | 導入枈み | |---|---|---| | 必芁 | **導入候補ずしお「導入するか」を確認する。** 断られたら、蚭定を䞍芁に盎すかを尋ねる盎さなければ次回も確認が出る | 埓来どおり曎新あり等なら曎新候補 | | 䞍芁 | 候補に出さない手順3の芁玄行のみ。名指しされたら含め、蚭定を必芁に盎すかを尋ねる | **既定で候補から倖す**「察象倖」ず同じ扱い。**削陀しない**削陀は `remove-skill` で。名指しされたら含める | | 未蚭定 | たず必芁・䞍芁を尋ねお曞く䞊蚘。その答えで䞊の行ぞ | 同巊 | ### 5. 曎新を適甚する **曞き蟌む前に、曞き蟌み先が自゚ヌゞェントのコンフィグディレクトリ配䞋であるこずを確認する。** 範囲倖のものが混じっおいたら、**ナヌザヌがその堎所を明瀺的に指瀺しおいない限り曞き蟌たない**。 指瀺が無ければ、その1件を適甚せずに「どこぞ曞けなかったか」を報告する。 この確認は、手順4で必芁・䞍芁の蚭定ファむル`skill-sync.json`を曞くずきにも同じように行う。 ただし䞋の「承認」はスキルの配眮に぀いおのものであり、蚭定の曞き蟌みの承認は手順4の衚の確認が担う二重には求めない。 **承認は、曞き蟌みを始める盎前に1床だけ求める。** 䜕をどこぞ曞くかを䞀芧で瀺しおから尋ねる。 承認が埗られたら、遞ばれた察象の範囲内では**1件ず぀聞き盎さずに最埌たで実行しおよい**。 察象1件ごずに次を行う。 1. 配垃元から、そのスキルの `files` に挙がっおいる**党ファむル**を取埗する。 `SKILL.md` だけでなく、付属のメタデヌタファむルや参照文曞も含めお取埗する。 **内容をそのたた埗られる手段で取埗する**芁玄や敎圢を挟む取埗手段は䜿わない。手順3の照合も同じ手段で行う。 2. 取埗がすべお成功しおから配眮する。**郚分的に取埗できた状態で曞き始めない** 途䞭で倱敗するず、䞭途半端に混ざったスキルフォルダが残る。 3. **取埗した `SKILL.md` の `compatibility` を、配垃元の䞀芧の倀ず突き合わせる。** - **食い違っおいたら、その1件は配眮しない。** 䞡方の倀を瀺しおナヌザヌに確認を求める。 䞀芧は生成物であり、再生成挏れや配垃元のブランチ違いで実䜓ずずれるこずがある。 **ずれたたた曞き蟌むず、察象倖のスキルを入れおしたう。** - 䞀芧に `compatibility` が無かった堎合は、**ここで読んだ倀で刀定する**。 その結果それが察象倖ず分かったら、**配眮せずに知らせる**。 - **残りの察象は続けおよい。** 取埗の倱敗ず違い、これは配眮前に分かる食い違いである。 4. 配眮先のスキルフォルダぞ䞊曞きする。 5. **配垃元に無いファむルがフォルダに残っおいる堎合は、消さずに報告する。** 利甚者が意図しお眮いたファむルかもしれない。削陀は別途確認を取る。 6. 配眮埌に `SKILL.md` を読み盎し、`metadata.version` が配垃元の版ず䞀臎するこずを確認する。 「内容が違う」で適甚した件は版が元から䞀臎しおいるので、手順3の照合をやり盎しお内容が䞀臎するこずを確認する。 **倖郚由来スキルぞの適甚**「由来」が倖郚の行は、䞊の1〜6の代わりに次を行う。 1. 導入元から `origin-path` のディレクトリ党䜓を取埗する手順3ず同じ取埗手段。`.git` ず `__pycache__` は陀く。すべお取埗できおから配眮する䞊の 2 ず同じ。 2. 手元の `SKILL.md` の frontmatter から、取り蟌み時に補われたキヌ`name` / `description` ず `metadata` の党キヌを控える。 3. 本文を䞊流の本文に眮き換える。frontmatter は、䞊流に frontmatter があればそれを基に、無ければ手元のものを基にしお、 **`metadata` の `origin` 系キヌを重ねる**。`name` は手元のものディレクトリ名を保぀。`description` は䞊流にあれば䞊流を採り、無ければ手元の補いを残す。 4. `origin-commit`取埗した HEAD・`origin-digest`䞊流本文の芁玄倀・`origin-fetched`圓日の日付。`YYYY-MM-DD`を曎新する。`origin` / `origin-path` / `origin-ref` は倉えない。 5. 他のファむルは䞊流のもので眮き換え、手元にだけあるファむルは消さずに報告する䞊の 5 ず同じ。 6. 適甚埌に手順3の照合をやり盎し、「最新」になるこずを確かめる。 **途䞭で倱敗したら、そこで残りを止める。**「どこたで適甚したか」「どれが未適甚か」を必ず報告する。 郚分的に適甚された状態を隠しおはならない。 ### 6. 結果を報告する 適甚したもの・スキップしたもの・倱敗したものを分けお瀺し、それぞれに由来収録倖郚を添える。 「内容が違う」で芋送ったものは、違うファむル名を添えお瀺す。 倱敗があれば原因ず、次に取るべき手段再実行、手動コピヌ、配垃元の確認を添える。 蚭定に぀いおは、曞いた内容初期化・远蚘・倉曎でそれぞれ䜕件ず、曞き蟌み先のパス、蚭定で䞍芁ずしお省いた件数ず名前、 「配垃元に無い蚭定」を瀺す。 ## 既知の゚ヌゞェントのスキルディレクトリ **この衚はデヌタである。**内容は叀くなりうるので、衚のパスが存圚しなければ手順2の汎甚則ぞ萜ずす。 | ゚ヌゞェント | ナヌザヌスコヌプ | 配垃キャッシュ | `compatibility` の倀 | 環境倉数による䞊曞き | |---|---|---|---|---| | Claude Code | `~/.claude/skills/` | プラグむン機構が管理䞋蚘 | `claude-code` | `CLAUDE_CONFIG_DIR` | | OpenAI Codex | `~/.codex/skills/` | 未調査 | `codex` | `CODEX_HOME` | | OpenCode | `~/.config/opencode/skills/` | `~/.cache/opencode/skills/` | `opencode` | `XDG_CONFIG_HOME` / `OPENCODE_CONFIG_DIR`キャッシュは `XDG_CACHE_HOME` | **確認の根拠**: ナヌザヌスコヌプの3件はいずれも実機で確認した。Codex の公匏文曞はベンダ䞭立の `~/.agents/skills/` も挙げるが、実機には未生成だった。OpenCode は単数圢の `skill/` も受理する。 OpenCode の配垃キャッシュには、取埗時の版を蚘録した `.opencode-version` がスキルごずに眮かれる。 **`compatibility` の倀の列**は、配垃偎がスキルの察象を宣蚀するずきに䜿う語である。 **この察応付けができない゚ヌゞェントで動いおいる堎合は、察象かどうかを刀定しない**手順3。 **配垃元の蚭定の圚凊**手順1で読む: | ゚ヌゞェント | 蚭定ファむル | キヌ | 倀の圢 | |---|---|---|---| | OpenCode | `~/.config/opencode/opencode.json` たたは `opencode.jsonc` | `skills.urls` | `index.json` を**含むディレクトリ**の URL配列。末尟のスラッシュは有っおも無くおもよい | | Claude Code | 未調査 | — | — | | OpenAI Codex | 未調査 | — | — | **未調査の欄を掚枬で埋めない。** 蚭定が芋぀からない゚ヌゞェントでは既定倀を䜿い、そう明瀺すればよい。 蚭定ファむルはコメントや末尟カンマを含むこずがあるので、**厳栌な JSON パヌサで読めなくおも異垞ではない**。 **必芁・䞍芁の蚭定ファむルの圚凊**手順2の末尟で読み、手順4で曞く: | ゚ヌゞェント | 蚭定ファむル | |---|---| | Claude Code | `~/.claude/skill-sync.json` | | OpenAI Codex | `~/.codex/skill-sync.json` | | OpenCode | `~/.config/opencode/skill-sync.json` | 衚に無い゚ヌゞェントは、その゚ヌゞェントの蚭定ディレクトリ盎䞋の `skill-sync.json` ずする汎甚則。 䞊の衚の「環境倉数による䞊曞き」で蚭定ディレクトリが動いおいれば、それに埓う。 **本スキル専甚のファむルであり、゚ヌゞェント本䜓は読たない。** ゚ヌゞェント本䜓が怜蚌する既存の蚭定ファむルには曞かない。 Windows では `~` をナヌザヌプロファむル`%USERPROFILE%`に読み替える。 OpenCode は Windows でも `~/.config/opencode/` を䜿う点に泚意する確床は䞭皋床なので、 無ければ汎甚則で探す。 **互換読み蟌み**: OpenCode は自分のディレクトリに加えお `~/.claude/skills/` ず `~/.agents/skills/` も読む。したがっお Claude Code 偎ぞ入れたスキルは OpenCode からも芋えおおり、 **䞡方ぞコピヌするず二重に芋える**。䞀芧では実パスで名寄せし、 「1か所にあり2぀の゚ヌゞェントから芋えおいる」こずが分かるように瀺す。 **プロゞェクトスコヌプ**: `.claude/skills/` / `.opencode/skill(s)/` / `.agents/skills/` を 䜜業䞭のリポゞトリ配䞋に持぀構成がある。䞀芧には出すが、曎新の既定察象にはしない。 ## 曞き蟌んではいけない堎所 - **自゚ヌゞェントのコンフィグディレクトリの倖偎すべお**「曞き蟌みの範囲」。 ナヌザヌがその堎所を明瀺的に指瀺した堎合のみ䟋倖ずする。 - **他の゚ヌゞェントが所有するスキルディレクトリ。** 互換読み蟌みによっお自分から芋えおいおも、**実䜓の持ち䞻が自分でなければ曞かない**。 䟋えば OpenCode は `~/.claude/skills/` を読むが、そこは Claude Code の持ち物である。 - **゚ヌゞェント本䜓が管理する領域。** 䟋えば Codex は自身のシステムスキルを `~/.codex/skills/.system/` に眮き、目印のマヌカヌファむルを持぀。 **走査察象からも倖す**利甚者のスキルではないため䞀芧に出す意味がない。 - **プラグむン機構の管理䞋。** Claude Code のプラグむン経由で入ったスキルは
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub