architect-analyze
Use when validating generated or refined architecture artifacts, before feature development, during architecture review, or…
Use when accepted ChDRs are ready for promotion from drafts to project memory at docs/adlc/memory/chdr/ and the boot-facing chdr.md index needs regenerating.
$ npx -y skills add tikalk/adlc-team-skills --skill change-publish --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/change-publishContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when accepted ChDRs are ready for promotion from drafts to project memory at docs/adlc/memory/chdr/ and the boot-facing chdr.md index needs regenerating.
name: change-publish description: Use when accepted ChDRs are ready for promotion from drafts to project memory at docs/adlc/memory/chdr/ and the boot-facing chdr.md index needs regenerating. disable-model-invocation: true
Compile **accepted ChDRs** into the project's memory layer at `{REPO_ROOT}/docs/adlc/memory/chdr/`:
Unlike `/team-levelup` (which opens a PR against team-ai-directives), `change-publish` writes **project-local memory** — ChDRs describe this repo's evolution and fail the team-wide signal gate. No PR is created; the user commits via their normal flow.
**This skill does not run until ChDRs have been accepted via `/change-clarify`.**
$ARGUMENTS
**Examples**:
You are acting as a **Memory Publisher** — moving accepted ChDRs from local drafts to durable project memory. Your role:
1. **Environment Setup** (Phase 0): resolve paths, list accepted ChDRs 2. **Prerequisites Check** (Phase 1): ensure accepted ChDRs exist 3. **Provenance Validation** (Phase 2): re-verify every Decision claim has SHA/URL 4. **Duplicate Check** (Phase 3): skip ChDRs already in memory with same issue key 5. **Memory Record Generation** (Phase 4): write `docs/adlc/memory/chdr/ChDR-{NNN}.md` 6. **Index Regeneration** (Phase 5): rebuild `docs/adlc/memory/chdr.md` (boot-facing) 7. **Draft Status Update** (Phase 6): mark promoted drafts `Published` 8. **Summary** (Phase 7): report results
Run:
scripts/bash/setup-change-publish.sh
Parse JSON for `REPO_ROOT`, `CHDR_DRAFTS_DIR`, `MEMORY_DIR`, `MEMORY_INDEX`, `ACCEPTED_CHDRS`.
**If the setup script is unavailable or fails**, resolve manually:
1. `REPO_ROOT` — walk up to `.adlc/`, or `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.md` (sibling of `docs/adlc/memory/pdr.md`/`adr.md`) 5. `ACCEPTED_CHDRS` — `grep -l '^### Status: \*\*Accepted\*\*' CHDR_DRAFTS_DIR/ChDR-*.md`
If `ACCEPTED_CHDRS` is empty:
No accepted ChDRs found. Run /change-clarify to accept ChDRs first.
For each accepted ChDR, re-verify: every non-trivial sentence in `### Decision` references a SHA (`\b[0-9a-f]{7,40}\b`) or URL (`https?://`). Skip ChDRs that fail provenance — they cannot be promoted (poisoning risk):
## Provenance Validation **Passing**: N | **Skipped**: M ### Skipped ChDRs | ChDR | Reason | |---|---| | ChDR-XXX | Decision claim lacks SHA/URL provenance |
Skipped ChDRs remain `Accepted` in drafts for the user to fix.
For each passing ChDR, check if a memory record already exists with the same `### Issue Links` key. If so, skip (or offer to merge) — do not create duplicates.
For each accepted ChDR, write `{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**This is the integration point with `team-boot`.** Regenerate `{MEMORY_INDEX}` (`{REPO_ROOT}/docs/adlc/memory/chdr.md`) by listing all `ChDR-*.md` files in `{MEMORY_DIR}` and building a markdown table whose rows start with `| ChDR-` (the awk filter `team-boot` uses):
# 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`'s `boot.sh`/`boot.ps1` reads this file and emits a `## ChDR Index` section + `CHDR_COUNT` into the session-start context, alongside the PDR/ADR indexes.
For each promoted ChDR, update the draft file's status to `### Status: **Published**` and add:
### Promotion
- **Date**: [YYYY-MM-DD]
- **Memory path**: docs/adlc/memory/chdr/ChDR-{NNN}.mdAgent skills that give coding agents your team's context at session start, so they stop working like strangers.
Use when validating generated or refined architecture artifacts, before feature development, during architecture review, or…
Use when architecture work starts or a tech-stack or pattern decision emerges — injects the project ADR index…
Use when ADRs need review, gaps need filling, or ADR status must be approved as Accepted before architecture generation.
Use when accepted ADRs exist and AD.md must be produced or updated as unified architecture documentation.
Use when bootstrapping architecture documentation for a brownfield project by reverse-engineering ADRs from an existing codebase.
Use when you want guided trade-off analysis, multi-option comparison, or structured architectural decision facilitation before…