mcpField
C
change-publish

change-publish

github.com/tikalkエージェントワークフロー143160 回インストール今日更新
リポジトリ

change-publish について

change-publish は、承認済みの変更決定記録(ChDR)をプロジェクトメモリに登録するエージェントスキルです。根拠を検証し、起動時のインデックスを更新して下書きを公開済みにします。PRは作成しません。

主な機能

  1. 01決定の根拠を検証
  2. 02ChDRメモリ記録の作成
  3. 03起動時インデックスの再生成
  4. 04下書きを公開済みに更新
  5. 05重複する課題キーをスキップ

活用シーン

  1. 01change-clarify後のChDR公開
  2. 02新たに承認されたChDRの追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tikalk/adlc-team-skills --skill change-publish

インストール後、Claude Code で/change-publishを入力して読み込まれたか確認します。

同梱ファイルscripts/bash/setup-change-publish.shscripts/powershell/setup-change-publish.ps1

詳細

change-publish

このスキルの機能

承認済み ChDR を、プロジェクトのメモリレイヤー {REPO_ROOT}/docs/adlc/memory/chdr/ にコンパイルします。

  • 承認済み ChDR を検証します(Decision の主張に対するステータスと出典情報)
  • 昇格した各 ChDR を docs/adlc/memory/chdr/ChDR-{NNN}.md に OKF 形式のフロントマター付きで書き込みます
  • {REPO_ROOT}/docs/adlc/memory/chdr/chdr.md を再生成します。これは、team-boot がセッション開始時のコンテキストに挿入するブート向けインデックスです(adr/adr.md や pdr/pdr.md と同じ規約で、クラスディレクトリ内に配置します)
  • ソースのドラフトに ### Status: **Published** と記載します

team-ai-directives に対する PR を作成する /team-levelup とは異なり、change-publish が書き込むのはプロジェクトローカルのメモリです。ChDR はこのリポジトリの進化を記述するもので、チーム全体のシグナルゲートを通過しません。PR は作成されません。ユーザーは通常のフローでコミットします。

このスキルは、/change-clarify によって ChDR が承認されるまで実行されません。

使用するタイミング

  • /change-clarify の後:承認済み ChDR をメモリに昇格させる必要がある場合
  • /change-init の再実行後:メモリインデックスに追加する新たな承認済み ChDR がある場合
使用しないタイミング
  • 承認済み ChDR がない場合:まず /change-clarify を実行します
  • ChDR の検出:/change-init を使用します
  • ChDR のレビュー:/change-clarify を使用します

プロセス

ユーザー入力
$ARGUMENTS

例:

  • "ChDR-001 ChDR-003" — 指定した ChDR のみを昇格します
  • 入力なし:承認済みの ChDR をすべて昇格します
役割とコンテキスト

あなたはメモリパブリッシャーとして、承認済み ChDR をローカルのドラフトから永続的なプロジェクトメモリへ移します。役割は次のとおりです。

  • 出典情報をもう一度検証します(毒性を防ぐサーキットブレーカーです。出典のない Decision を昇格させると、team-boot を通じて今後のすべてのセッションを汚染します)
  • team-boot がインデックス化できるフロントマター付きで、昇格した記録を書き込みます
  • chdr.md インデックスを再生成し、次のセッション開始時に新たな決定が認識されるようにします
概要
  1. 環境設定(フェーズ 0):パスを解決し、承認済み ChDR を一覧表示します
  2. 前提条件の確認(フェーズ 1):承認済み ChDR が存在することを確認します
  3. 出典情報の検証(フェーズ 2):すべての Decision の主張に SHA/URL があることを再確認します
  4. 重複の確認(フェーズ 3):同じ issue key を持つ ChDR がすでにメモリ内にある場合はスキップします
  5. メモリ記録の生成(フェーズ 4):docs/adlc/memory/chdr/ChDR-{NNN}.md に書き込みます
  6. インデックスの再生成(フェーズ 5):docs/adlc/memory/chdr/chdr.md(ブート向け)を再構築します
  7. ドラフトのステータス更新(フェーズ 6):昇格したドラフトに Published と記載します
  8. 概要(フェーズ 7):結果を報告します
実行手順
フェーズ 0:環境設定

次を実行します。

scripts/bash/setup-change-publish.sh

JSON を解析して REPO_ROOT、CHDR_DRAFTS_DIR、MEMORY_DIR、MEMORY_INDEX、ACCEPTED_CHDRS を取得します。

セットアップスクリプトが利用できない場合、または失敗した場合は、手動で解決します。

  1. REPO_ROOT — .adlc/ まで上位のディレクトリをたどるか、git rev-parse --show-toplevel を実行します。
  2. CHDR_DRAFTS_DIR — REPO_ROOT/.adlc/drafts/chdr
  3. MEMORY_DIR — REPO_ROOT/docs/adlc/memory/chdr
  4. MEMORY_INDEX — REPO_ROOT/docs/adlc/memory/chdr/chdr.md(docs/adlc/memory/adr/adr.md や pdr/pdr.md と同様に、クラスディレクトリ内に配置します)
  5. ACCEPTED_CHDRS — grep -l '^### Status: \*\*Accepted\*\*' CHDR_DRAFTS_DIR/ChDR-*.md
フェーズ 1:前提条件の確認

ACCEPTED_CHDRS が空の場合:

No accepted ChDRs found.
Run /change-clarify to accept ChDRs first.
フェーズ 2:出典情報の検証

承認済みの各 ChDR について、### Decision 内の重要な文すべてに SHA(\b[0-9a-f]{7,40}\b)または URL(https?://)が記載されていることを再確認します。出典情報の検証に失敗した ChDR はスキップします。昇格できません(汚染のリスクがあります)。

## Provenance Validation

**Passing**: N | **Skipped**: M

### Skipped ChDRs

| ChDR | Reason |
|---|---|
| ChDR-XXX | Decision claim lacks SHA/URL provenance |

スキップされた ChDR はドラフト内で Accepted のまま残り、ユーザーが修正できます。

フェーズ 3:重複の確認

検証に通った各 ChDR について、同じ ### Issue Links キーを持つメモリ記録がすでに存在するか確認します。存在する場合はスキップするか、マージを提案します。重複は作成しないでください。

フェーズ 4:メモリ記録の生成

承認済みの各 ChDR について、{MEMORY_DIR}/ChDR-{NNN}.md に書き込みます。

---
type: ChDR
title: {title from heading}
description: {descriptor from draft}
resource: ./docs/adlc/memory/chdr/ChDR-{NNN}.md
tags: [chdr]
generated:
  by: agent:change-publish
  at: {today}T00:00:00Z
id: ChDR-{NNN}
created: {date from draft}
verified:
  - by: agent:change-publish
    at: {today}T00:00:00Z
status: stable
stale_after: 365d
sources:
  - id: {sha}
    resource: git:{sha}
    title: {commit subject}
  - id: {issue-key}
    resource: {issue-url}
    title: {issue title}
---

# {Title}

{Content from draft — Context, Decision, Consequences, Evidence verbatim}

## Source

Promoted from: .adlc/drafts/chdr/ChDR-{NNN}.md
フェーズ 5:インデックスの再生成(起動時に参照)

ここが team-boot との統合ポイントです。 {MEMORY_DIR} 内のすべての ChDR-*.md ファイルを列挙し、行頭が | ChDR- の Markdown テーブルを作成して、{MEMORY_INDEX}({REPO_ROOT}/docs/adlc/memory/chdr/chdr.md)を再生成します(team-boot が使用する awk フィルターに一致させます)。

# Change Decision Records (Memory)

## ChDR Index

| ID | Title | Status | Date | Issues | Commits | Descriptor |
|----|-------|--------|------|--------|---------|------------|
| ChDR-001 | Why payments retries are capped at 3 | stable | 2026-08-16 | PROJ-123 | abc1234 | Consult before changing retry config |

**Stats**: N entries | Last Updated: YYYY-MM-DD

team-boot の boot.sh/boot.ps1 はこのファイルを読み込み、PDR/ADR のインデックスとともに、セッション開始時のコンテキストに ## ChDR Index セクションと CHDR_COUNT を出力します。

フェーズ 6:ドラフトのステータス更新

公開した ChDR ごとに、ドラフトファイルのステータスを ### Status: **Published** に更新し、次を追加します。

### Promotion

- **Date**: [YYYY-MM-DD]
- **Memory path**: docs/adlc/memory/chdr/ChDR-{NNN}.md
フェーズ 7:要約
## Change-Publish Summary

**ChDRs Promoted**: N
**ChDRs Skipped (provenance)**: M
**ChDRs Skipped (duplicate)**: K

### Artifacts

| Type | Count |
|---|---|
| Memory records (docs/adlc/memory/chdr/) | N |
| Boot index (docs/adlc/memory/chdr/chdr.md) | 1 (regenerated) |

### Next Steps

The next session start (`team-boot`) will inject the ChDR index into context.
Commit `docs/adlc/memory/chdr/` (records + `chdr.md`) via your normal flow.
主なルール
公開前に出典を確認する
  • 出典のない Decision を公開すると、後続のすべてのセッションに悪影響を及ぼします(team-boot がそれを注入します)。
  • 確認時だけでなく、公開時にも出典を再検証してください。
チーム全体ではなく、プロジェクト内に限定する
  • ChDR の公開先は docs/adlc/memory/ であり、team-ai-directives ではありません。
  • PR は作成されません。ユーザーが通常のフローでコミットします。
  • ChDR は設計上、team-levelup の「チーム全体への適用可能性」シグナルゲートを通過しません。
インデックス形式は team-boot と一致させる
  • 行頭は必ず | ChDR- にしてください(boot.sh/boot.ps1 内の awk/正規表現フィルターが使用します)。
  • ファイルの配置先は docs/adlc/memory/chdr/chdr.md にしてください(adr/adr.md や pdr/pdr.md と同様、クラスディレクトリ内)。二重読み込み時のフォールバック先は、docs/adlc/memory/chdr.md(以前のルートレベルの配置)と .adlc/memory/chdr.md(レガシーレイアウト)です。
ワークフローのガイダンスと遷移
/change-publish の後
/change-init → /change-clarify → /change-publish
    ↓
[team-boot] → injects docs/adlc/memory/chdr/chdr.md index at next session start
    ↓
[Agent consults ChDRs on demand when touching affected code]

新しい履歴を抽出するために、定期的に /change-init を再実行してください。新たに受け入れられた ChDR はメモリに追加され、インデックスが再生成されます。

次のステップ

メモリディレクトリをコミットします。次のセッションでは、team-boot を通じて ChDR インデックスが自動的に参照されます。

検証

  • 出典のある受け入れ済みのすべての ChDR が docs/adlc/memory/chdr/ChDR-*.md に公開されていること。
  • docs/adlc/memory/chdr/chdr.md のインデックスが再生成され、行頭が | ChDR- で始まっていること。
  • 公開したドラフトに ### Status: **Published** が設定されていること。
  • 出典のない ChDR が公開されていないこと。
  • メモリ内に重複した issue キーがないこと。

コンテキスト

$ARGUMENTS

コメント