change-boot
Use when past-change rationale matters (refactoring unfamiliar code, revert or hotfix analysis, issue-linked commit archaeology, session authors git changes with human-authored messages) — injects the published ChDR index (docs/adlc/memory/chdr.md, legacy .adlc/memory/chdr.md fallback) as session context; pairs history mining (/change-init) with routine capture (direct-write drafts clarified via /change-clarify); invoked from team-boot's Class Boots catalog.
How do I install this agent skill?
npx skills add https://github.com/tikalk/adlc-team-skills --skill change-bootIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill manages change history rationale by reading from and writing to local project documentation folders. While generally safe, it carries a low risk of indirect prompt injection as it processes data from files that could contain malicious instructions.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
change-boot
Overview
One of the five class boots surfaced by team-boot's Class Boots
catalog. team-boot injects the always-relevant team context (constitution,
CDR index, skills registry) at session start; this skill loads the
change history layer on demand — the published ChDR index mined from
git history — and pairs it with decision capture so change rationale is
recovered (/change-init) rather than living only in commit messages.
Reading past rationale and recording new rationale are one loop: published ChDRs explain why the code looks the way it does; rationale discovered during the work flows back into the same record system.
When to Use
Invoke at the START of a matching task — before planning the todo list and before implementation — so the ChDR context informs planning. Never defer to session end.
Invoke when:
- Refactoring or modifying unfamiliar code — check whether a ChDR explains the current shape before changing it.
- Analyzing reverts, hotfixes, or fix chains ("why was this reverted?").
- The session authors git changes with human-authored messages (commit/merge/ revert/rebase/cherry-pick/tag with an authored message, authored PR title/body, CHANGELOG edit) — evaluate at session end whether the rationale is non-obvious enough for a ChDR; routine ops with generated or empty messages are not ChDRs (proportionality gate).
- The session produces change rationale: a revert/hotfix explanation, or a
commit that links to an issue tracker (the
/change-initmining signal).
Core Process
Step 1: Locate the ChDR Index
From the current working directory (do NOT walk up parent directories):
- Primary:
docs/adlc/memory/chdr.md(generated by/change-publish; rows start with| ChDR) - Fallback:
.adlc/memory/chdr.md(legacy layout, pre-ADR-401)
If the index is missing but docs/adlc/memory/chdr/ChDR-*.md or legacy
.adlc/memory/chdr/ChDR-*.md files exist,
synthesize a lean table from each file (ID from filename; Title/Status from
frontmatter or first heading). If nothing exists, report 0 ChDRs — never fabricate rows.
When no local memory index exists in the current working directory and the
directory sits inside a workspace (detected via a .gitmodules marker in an
ancestor), read the workspace root's docs/adlc/memory/ index instead
(ADR-401 dual-read order applies: docs/adlc/memory first, legacy
.adlc/memory fallback).
Step 1b: Read the ChDR Drafts Index
Check .adlc/drafts/chdr/ for ChDR-*.md files with status: proposed or
status: discovered in frontmatter. These are draft ChDRs pending
clarification — frontmatter proposed/discovered maps to ledger Status
captured, and both feed the Unclarified count. Collect ID / Title /
Type / Status / Date from each file.
If the directory is empty or absent, report 0 pending drafts.
Absent Context
If team-boot injected no team context this session (no Team Context & Decisions section in the first user message — unconfigured project or hook failure): say so in one line, emit the section heading with a 0 ChDRs matched (no team context injected — run /team-setup) source line, and continue the task on the directly-read ChDR index. Never treat a missing injection as an empty record set. Recovery: run /team-diagnose.
Step 2: Inject ChDR Context (Output Contract)
Emit before the task answer:
## ChDR Context
| ID | Title | Status | Date |
|--|--|--|--|
| ChDR-001 | Why payments retries are capped at 3 | stable | 2026-08-16 |
_Searched N ChDRs, K matched._
## Drafts Pending Review
| ID | Title | Type | Status | Date |
|----|-------|------|--------|------|
| (from .adlc/drafts/chdr/) |
_Unclarified: N ChDR drafts — run /change-clarify to review._
- Render ID / Title / Status / Date from the index (the full index also
carries Issue, Commit, Note — read the individual
ChDR-*.mdwhen a task matches a row). N= total index rows;K= rows relevant to the current task. K MUST equal the table rows shown. 0 rows matched → emit the section heading + the_Searched N ChDRs, K matched._line only — no table. A 0-row table header collapses into unrendered single-line markdown; never emit one. Emit the section as markdown blocks — heading, table rows, and counts line each on their own lines.
Step 3: Capture Change Rationale
| Trigger | Action |
|---|---|
| Revert or hotfix performed/analyzed with rationale | ChDR → direct write to .adlc/drafts/chdr/ |
| Commit authored that links to an issue tracker | ChDR → direct write to .adlc/drafts/chdr/ post-merge |
| Git command authored in-session with a human-authored message, authored PR title/body, or CHANGELOG edit | evaluate at session end: non-obvious rationale → ChDR direct write to .adlc/drafts/chdr/; routine ops skipped (proportionality gate) |
| Fix chain discovered in history | ChDR → direct write to .adlc/drafts/chdr/ |
| ChDR-class decision already in the ledger | verify capture happened; if not, re-surface |
Add/refresh rows in Team Context & Decisions (ID | Name | Type | Rel |
Status | Clarify) for every ChDR-class decision detected this session —
including ones from before this boot was invoked. Mirror each decision as a
task-list todo (draft → /change-clarify at session end); after
code-modifying tasks, add a trailing todo to sweep Team Context & Decisions until
Unrecorded: 0 pending · Unclarified: 0 drafts (a draft leaves Unclarified
only via its clarify skill or an explicit user handoff to a named clarify or execute skill). At session end,
deliver the clarify prompt naming each captured ChDR draft in
.adlc/drafts/chdr/ (ID + skill), covering post-merge issue-linked commits
too; if the user defers clarify, mark those rows handed off.
Failure Handling
- Missing index + missing records → emit the section heading +
_Searched 0 ChDRs, 0 matched._only — no table — and continue the user's task; never block. - Unparseable index rows → skip malformed rows, note the skip count.
Red Flags
- Fabricating ChDR rows or inflating K beyond the table shown.
- Injecting the index but ignoring capture — the pairing is the point.
- Walking up parent directories to find
.adlc/. - Mining rationale without SHA/URL provenance —
/change-clarifywill reject Decision claims that lack it.
Verification
- ChDR Context table emitted with
_Searched N ChDRs, K matched._(K = table rows). - Detected ChDR-class decisions added as Team Context & Decisions rows.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/tikalk/adlc-team-skills/change-boot">View change-boot on skillZs</a>