adr-lifecycle

Automate ADR lifecycle transitions across proposed, accepted, and deprecated states.

Updated Apr 30, 2026
One-click install
npx skills add https://github.com/zalman0813/gan-harness --skill adr-lifecycle
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: adr-lifecycle
Source: https://github.com/zalman0813/gan-harness/tree/main/improver/setup-gan-harness-skills/iteration-1/eval-greenfield-cli/without_skill/outputs/.claude/skills/adr-lifecycle
Command: npx skills add https://github.com/zalman0813/gan-harness --skill adr-lifecycle

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill streamlines the Architectural Decision Record (ADR) lifecycle, from proposing to accepting or backfilling changes to existing ADRs, ensuring a consistent, immutable process.

Core Features & Use Cases

  • Lifecycle Management: Track ADR status changes from proposed to accepted, superseded, or deprecated.
  • Immutable Bodies: Record the decision rationale in a body that cannot be altered after creation.
  • Superseding ADRs: Automatically backfill superseded_by upon promoting new ADRs.
  • Frontmatter Spec: Standardize ADR creation with required and optional YAML frontmatter fields.
  • Use Case: When planning a new feature in your project, create an ADR that outlines the architectural decisions, its rationale, and its lifecycle changes.

Quick Start

Run the adr-lifecycle skill and follow the three-test gate to propose a new ADR or manage existing ones.

Frequently Asked Questions about adr-lifecycle

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage the architectural decision record lifecycle from proposed to accepted?

Architectural decision record lifecycle management automates tracking status changes from proposed to accepted, superseded, or deprecated. It enforces consistency and immutability in architectural decisions using frontmatter fields and lifecycle scripts.

What is the best way to supersede an existing architectural decision record?

Superseding an architectural decision record is handled automatically by backfilling the 'superseded_by' field when a new ADR is promoted. This maintains an immutable body for the original decision rationale.

How do I standardize ADR creation with consistent frontmatter fields?

Standardizing ADR creation requires using specified YAML frontmatter fields, including both required and optional metadata. This frontmatter spec ensures architectural decisions are tracked consistently across their lifecycle.

Can I modify the decision rationale in an architectural decision record after it is accepted?

Architectural decision records use immutable bodies, meaning the decision rationale cannot be altered after creation. To change a decision, you must create a new ADR that supersedes the previous one.

What is the three-test gate for proposing a new architectural decision record?

The three-test gate is a validation step in the ADR lifecycle process used when proposing a new architectural decision record. Running the lifecycle skill triggers this gate to ensure decisions meet consistency requirements before acceptance.

When should I use an architectural decision record lifecycle management process?

Architectural decision record lifecycle management is needed when planning new features that require documented architectural decisions and rationale. It ensures decisions are tracked from proposed to accepted while maintaining an immutable history.