define-system-doc について
システム文書を管理する開発者向けに、Hybrid 1A のカタログ項目を作成するスキルです。証拠の確認、構造検証、明示的な人間の承認を経てから正規ファイルを書き込みます。
主な機能
- 01実行ごとに項目を1件作成
- 02項目パッケージとテンプレートを解決
- 03証拠の評価と出典を記録
- 04承認前に構造検証を実施
- 05承認済みの正規ファイルのみ書き込み
活用シーン
- 01カタログ項目のシステム文書を起草
- 02未完了の文書提案を再開
- 03証拠を確認して阻害要因を特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jayden-dang/ skills --skill define-system-docインストール後、Claude Code で/define-system-docを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
catalog/CATALOG.mdcatalog/entries/adr.mdglossary.mdout-of-scope.mdcatalog/entries/agents/config.mdcatalog/entries/architecture/data.mdINDEX.mdintegrations.mdruntime.mdsystem.mdcatalog/entries/codebase/dependencies.mdmap.mdmodules.mdownership.mdcatalog/entries/ops/deployment.mddisaster-recovery.mdobservability.mdreliability.mdrunbooks.mdcatalog/entries/product/guidelines.mdmetrics.mdpersonas.mdprinciples.mdvision.mdcatalog/entries/roadmap/INDEX.mdcatalog/entries/security/compliance.mdposture.mdthreat-model.mdcatalog/entries/specs/INDEX.mdcatalog/entries/standards/accessibility.md詳細
システムドキュメントの定義
1 回の呼び出しにつき、Hybrid 1A カタログエントリーを必ず 1 つだけ作成します。未完了の作業は
.skills/system-docs/<entry-key>/ に置きます。正規のコンシューマーファイルを書き込むのは、
構造バリデーターに合格した提案が人間によって明示的に承認された後に限ります。
パックカタログの SSOT(コンシューマーにはインストールされません): このスキルディレクトリの
catalog/CATALOG.md と catalog/entries/。
他のスキルにあるフックを参照: 共通ルールはこのファイルと同じ場所にある
consult-recipe.md に記載されています。コンシューマーはそこを参照し、ルールを再記述しません。
エントリーの解決(範囲限定)
SKILL_DIR= このSKILL.mdが格納されているディレクトリ。SKILL_DIR/catalog/CATALOG.mdのみを読み、<entry-key>の行を見つけます。- その行に記載されたエントリーパッケージのパス(
SKILL_DIR/配下)のみを読み込みます。 - パッケージに記載されたテンプレート/バリデーターのパス(
SKILL_DIR/配下)のみを読み込みます。 - デフォルトでは、カタログ全体、すべてのテンプレート、ドキュメントツリー全体を読み込まないでください。
エントリーが First-class でない場合、または作成可能なテンプレートがない場合は、そこで停止してその旨を伝えてください。内容を捏造しないでください。
一時データ
.skills/system-docs/<entry-key>/
state.md
evidence.md
proposal.md
エントリーキーのパスミラー:codebase/map → .skills/system-docs/codebase/map/。
| ファイル | 内容 |
|---|---|
state.md | エントリー、正規の保存先、フェーズ、確認済みの決定事項、None スロット、未解決スロット/ブロッカー、却下した前提、延期条件、最後に検証したリビジョン |
evidence.md | グレード(Verified | Inference | Open)付きの主張、出典、リビジョン/環境、スロット |
proposal.md | プレビューのみ — SSOT にはしません |
再開時: エントリーパッケージ + state.md + 存在する場合は正規ファイル + 未解決スロットの根拠 + テンプレート/バリデーターを読み込みます。デフォルトでは、チャット全体の再生、カタログ全体の読み込み、リポジトリ全体の再スキャンは行いません。
手順
- 成果物は 1 つ — Hybrid 1A ツリー全体を設定しないでください。開始するためだけに、空のコンシューマーディレクトリ/ファイルを作成しないでください。
- 一時データを再開または初期化します。
- 事実より先に根拠を確認 — Verified / Inference / Open。Verified の場合は file:line を引用します。コンプライアンス、SLO の目標、信頼境界、所有権、ランタイムトポロジー、運用手順に関する Inference は、人間による明示的な確認なしに確定事項へ昇格させないでください。
- 必須スロット — それぞれを確認済みの内容、
None — <reason>、または名前付きのBlocker:のいずれかで終わらせます。 - ファイル全体、または対象を絞ったパッチ(選択した内容の追加/変更/削除。無関係な内容は保持)を提案します。完全置換は、全体をレビュー済みの新しい本文としてのみ行います。
- 構造を検証 — 不合格なら、承認を求めないでください。
- 正規ファイルへの書き込み前に、人間による明示的な承認を得ます。
- このエントリーの正規パスにのみ書き込みます。単一ファイルのエントリーでは
Status: Approvedを設定します。正規パスに仲介されたStatus: Draftを置かないでください。同じ書き込みで兄弟成果物を作成しないでください。レビュー済みの完全な置換なしに、ファイル全体を上書きしないでください。 - 新しいパッチが適用されるまで、以前の Approved の内容が引き続き権威あるものとして扱われます。
- 書き込み後、
state.mdでダイジェストを完了と記録します。Approved であり、バリデーターに合格したものだけが、その対象の SSOT です。
完了条件: ユーザーが Approved の正規ファイルを受け取っている(または名前付きブロッカーを明示して停止している)こと。一時データが完了または延期されていること。兄弟 Hybrid 1A ファイルが作成されていないこと。
権威性
デフォルトの単一ファイル判定条件(エントリーパッケージで詳細化できます):
| 状態 | ルール |
|---|---|
| Absent | 正規パスが存在しない |
| Non-authoritative | 存在するが Status ≠ Approved、または構造バリデーターに不合格(外部の Draft を含む) |
| Approved | Status: Approved であり、構造バリデーターに合格 |
ディレクトリーエントリーでは、エントリーパッケージの判定条件を使用します(単一の Status ヘッダーは不要です)。
鉄則
NEVER SEED AN EMPTY HYBRID 1A TREE
NEVER WRITE CANONICAL DRAFT VIA THIS SKILL
NEVER TREAT proposal.md OR EPHEMERA AS STANDING PROJECT TRUTH
NEVER PROMOTE HIGH-RISK INFERENCE WITHOUT HUMAN CONFIRMATION
合理化
| 考え | 実態 |
|---|---|
| 「ついでに標準フォルダーを全部作っておこう」 | 空の森です。エントリーは1つだけです |
| 「パスに下書きがあっても問題ありません。ステータスには下書きとあります」 | 仲介ワークフローでは、正規の下書きは書き込みません。読み手は外部の下書きを正規の情報として扱いません |
| 「proposal.mdが最新の真実です」 | プレビューにすぎません。承認済みの正規版がSSOTです |
| 「脅威の境界はコードを見れば明らかです」 | 高リスクの分類です。永続的なテキストにする前に人間の確認が必要です |
| 「バリデーターは省略しましょう。枠は埋まっているようです」 | 構造上の不備があれば承認はブロックされます。例外はありません |
| 「マップ全体を自分の書き換えで置き換えよう」 | 対象を絞ったパッチ、または完全にレビュー済みの全面置換のみです |
危険信号 — 停止する
- 「後で使うため」に空の
docs/security/や、同階層の Hybrid 1A ファイルを作成する - このスキルを REQUIRED SUB-SKILL として指定し、モデルスキル内で自動呼び出しを促す
- このスキルから正規のパスに
Status: Draftを書き込む - 1つのエントリーのためにカタログ全体やすべてのテンプレートをコンテキストに読み込む
- 影響の大きい
Blocker:が未解決のまま承認する