doc-chg
Author a Change Management (CHG) record - classify the change level, route by source to the entry gate, assess cross-layer cascade impact, and register the change. Use when modifying an existing SDD artifact across any of the 8 layers.
What this skill does
# doc-chg
## Purpose
Author a **Change Management (CHG)** record — the governance overlay for
modifying existing SDD artifacts. CHG is **NOT a lifecycle layer**: no layer
number, no readiness score. Triggered on-demand when an artifact must change;
quality bar is **gate approval**, not a numeric score.
**Cross-layer scope**: a CHG can touch any artifact along
`BRD → PRD → EARS → BDD → ADR → SPEC → TDD → IPLAN → Code`. Job: classify,
route to the correct gate, trace the cascade, keep the registry honest.
## When to Use
Use `doc-chg` when:
- An existing artifact (any layer) needs a correction, refinement, or
cross-layer change.
- A production incident forces an emergency fix that must be documented.
- An external trigger (regulatory, vendor, market) requires a controlled change.
Do **not** use it to author a brand-new artifact — use the relevant layer skill
(`../doc-brd/SKILL.md` … `../doc-iplan/SKILL.md`). For end-to-end CHG drafting
with minimal prompts, use `../doc-chg-autopilot/SKILL.md`.
## Prerequisites
Before writing, read:
1. **Template (source of truth):** `${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/CHG-TEMPLATE.yaml`
2. **CHG overview:** `${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/README.md`
3. **Index template:** `${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/CHG-00_index.TEMPLATE.md`
4. **Authoring style:** `${CLAUDE_PLUGIN_ROOT}/framework/governance/AUTHORING_STYLE.md`
5. **The entry gate** for the change source (see routing below), under
`${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/gates/`.
Confirm no ID collision: `ls docs/governance/chg/ 2>/dev/null`. Reserve the next
free `CHG-NN` (dash form — CHG carries no hierarchical 4-segment element IDs).
## Change-Level Classification (decide first)
Classification drives the entire process. Authority:
`${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/CHG-TEMPLATE.yaml` (`metadata.change_level`).
| Level | Scope | Gate | Process |
|-------|-------|------|---------|
| **C1** | Typo, formatting, clarification | None | Fix → commit → done |
| **C2** | Section update, requirement refinement | Peer review | Assess impact → update → verify |
| **C3** | Cross-layer change, new requirements | Formal gate | Full CHG process + `GATE_APPROVAL_FORM` |
| **Emergency** | Critical production issue (P0/P1) | Post-hoc gate + post-mortem | Fix → deploy → document → post-mortem within 48h |
- **C1** needs no CHG document beyond the commit; record it if a registry trail
is wanted, otherwise just commit.
- **C2** requires a CHG document with impact assessment, a rollback plan, and
peer review.
- **C3** requires the full document plus a formal gate run — hand off to
`../gate-check/SKILL.md`.
- **Emergency** uses ID format `CHG-EMG-YYYYMMDD-HHMM`, populates the
`emergency_change` block, deploys the fix, then completes a post-mortem
(`${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/templates/POST_MORTEM-TEMPLATE.md`) and a **post-hoc
gate** within 48 hours. All normal CHG sections are still filled retroactively.
## Source → Gate Routing
Where the change originates determines the **entry gate**. Authority:
`${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/README.md` and `CHG-TEMPLATE.yaml`
(`metadata.change_source`).
| Source | Trigger | Entry Gate | Cascade direction |
|--------|---------|-----------|-------------------|
| **Upstream** | BRD/PRD change cascading down | GATE-01 | downstream |
| **External** | Regulatory, vendor, market | GATE-01 | full assessment |
| **Midstream** | EARS/BDD/ADR change affecting neighbors | GATE-03 | lateral + down |
| **Design** | SPEC/TDD change | GATE-06 | downstream |
| **Execution** | IPLAN change | GATE-08 | downstream |
| **Feedback** | Production feedback, user/defect issues | GATE-CODE | bubble-up |
| **Spec** | Change to the `framework/` spec (template/governance/registry/VERSION) | GATE-SPEC | meta — no cascade |
Gate definitions live in `${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/gates/`
(`GATE-01_BUSINESS_PRODUCT.md`, `GATE-03_REQUIREMENTS_ARCHITECTURE.md`,
`GATE-06_DESIGN_TEST.md`, `GATE-08_IPLAN.md`, `GATE-CODE_IMPLEMENTATION.md`,
`GATE-SPEC_FRAMEWORK.md`). Running a gate is the job of `../gate-check/SKILL.md`;
`doc-chg` only selects the entry gate and records it.
**`Spec` is target-based, not layer-based.** A change to the `framework/`
spec itself sets `change_source: spec`, `entry_gate: GATE-SPEC`, and a
`semver_impact` (`major` → C3; `minor`/`patch` may be C2; spec change is
never C1). It does **not** cascade into artifact gates. A platform's own
authoring guidance / runtime is *not* a spec change — ordinary platform PR.
## Cross-Layer Cascade Assessment
The most common CHG failure is incomplete impact assessment. Trace the change
along the chain:
```
BRD → PRD → EARS → BDD → ADR → SPEC → TDD → IPLAN → Code
```
- **Upstream/External** changes cascade **downstream** — a BRD edit can ripple
all the way to Code.
- **Feedback** changes **bubble up** from Code toward the layer that holds the
root cause (the defect may live in TDD, SPEC, ADR, or higher).
- **Midstream** changes are **lateral** (EARS↔BDD↔ADR) plus downstream.
For every affected artifact, record in `impact_assessment.affected_layers`:
artifact ID, what changes, `cascade_direction`. Avoid the template's listed
anti-patterns (e.g. SPEC change without checking upstream ADR/BDD; BRD change
without cascading the full chain).
## Creation Process
1. **Classify** the change level (C1/C2/C3/Emergency) with justification.
2. **Identify the source** and **route** to the entry gate (table above).
3. **Reserve the ID** — next free `CHG-NN`, or `CHG-EMG-YYYYMMDD-HHMM` for
Emergency.
4. **Populate `CHG-TEMPLATE.yaml`**: `metadata` (level, source),
`change_control`, `change_description` (what/why/trigger),
`impact_assessment` (affected layers + cascade direction + risk),
`implementation`, `verification`. Add `rollback_plan` for C2/C3,
`gate_approval` for C3, and `emergency_change` for Emergency.
5. **Register** the change in `CHG-00_index.md` (from
`${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/CHG-00_index.TEMPLATE.md`) in the same change.
6. **For C3/Emergency**, hand off to `../gate-check/SKILL.md` to run the formal
gate and complete `GATE_APPROVAL_FORM`. For Emergency, also schedule the
post-mortem.
7. **Validate** (below) and commit the CHG record and index together.
## Validation
**This skill is the validator** (no runtime code). Apply against `${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/CHG-TEMPLATE.yaml` and `${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/README.md`.
- [ ] `change_level` is one of C1/C2/C3/Emergency and matches the actual scope.
- [ ] `change_source` set and `entry_gate` matches the routing table.
- [ ] `impact_assessment.affected_layers` lists **every** affected artifact;
`cascade_direction` is correct for the source.
- [ ] `rollback_plan` present for C2/C3; `gate_approval` present for C3;
`emergency_change` block complete for Emergency (incl. `post_mortem_due`).
- [ ] Change registered in `CHG-00_index.md`; no broken links.
- [ ] CHG IDs use dash form `CHG-NN` (or `CHG-EMG-YYYYMMDD-HHMM`); no
hierarchical element IDs.
| Code | Meaning | Severity |
|------|---------|----------|
| CHG-E001 | Change level missing or mismatched to scope | error |
| CHG-E002 | Entry gate does not match change source | error |
| CHG-E003 | Incomplete cascade / impact assessment | error |
| CHG-E004 | Missing rollback (C2/C3) or post-mortem schedule (Emergency) | error |
**Quality bar (not a score):** CHG passes by **gate approval**, not a ≥90
readiness score. C1 self-approves; C2 needs peer review; C3/Emergency need a
formal/post-hoc gate via `../gate-check/SKILL.md`.
## Next Skill
- C3/Emergency → `../gate-check/SKILL.md` (formal gate + `GATE_APPROVAL_FORM`).
- Validate the record → `../doc-chg-audit/SKILL.md`.
- After approval, edit the affected artifacts using their layer skills
(`../doc-brd/SKILL.md` … `Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.