add-promote
[ADD v0.11.0] Maturity promotion โ gap analysis and level-up workflow
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
[ADD v0.11.0] Maturity promotion โ gap analysis and level-up workflow
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
[ADD v0.11.0] Generate or sync a portable AGENTS.md from ADD project state โ writes, checks drift, or merges with hand-curated content
[ADD v0.11.0] Declare absence โ get autonomous work plan for the duration
[ADD v0.11.0] Return from absence โ get briefing on autonomous work
[ADD v0.11.0] View project branding โ accent color, palette, drift detection, image gen status
[ADD v0.11.0] Update project branding โ new colors, fonts, tone, audit artifacts
[ADD v0.11.0] Generate or refresh CHANGELOG.md from conventional commits
| name | add-promote |
| description | [ADD v0.11.0] Maturity promotion โ gap analysis and level-up workflow |
| argument-hint | [--check | --execute] [--target poc|alpha|beta|ga] |
Assess readiness and promote the project's maturity level. Maturity is the master control for all ADD behavior โ promotion is intentional, evidence-based, and deliberate.
--check (default) โ Gap analysis: scan evidence against next level's requirements--execute โ Gap analysis + promotion interview + apply level change.add/config.json โ extract maturity.level, promoted_from, promoted_date, next_promotion_criteria
/add-init first."~/.codex/add/references/maturity-matrix.md โ load cascade matrix + promotion process (source of truth for level requirements)docs/prd.md โ project context, maturity referencesCLAUDE.md โ check for maturity referencesAlready at GA:
"Project is at GA โ the highest maturity level. No further promotion available. Run /add-verify to check compliance."
--target below current level: Trigger demotion flow (see below).
--target skips a level (e.g., poc โ beta):
"Cannot skip levels. Progression is sequential: poc โ alpha โ beta โ ga. Next available: {next_level}."
No --target: Default to next level in sequence.
Scan project evidence and present readiness report. No file modifications.
Current maturity: {CURRENT}
Assessing readiness for: {TARGET}
Use Glob, Grep, Bash, Read to gather real data across these categories:
| # | Category | How to Check |
|---|---|---|
| 1 | Feature specs | Glob specs/*.md, count files, check for acceptance criteria |
| 2 | Test coverage | Run test command from config quality.test.unit with coverage flag. If no test command configured, score as MISSING. If command fails, score as PARTIAL and note the error. |
| 3 | CI/CD pipeline | Glob .github/workflows/*.yml, .gitlab-ci.yml, Jenkinsfile |
| 4 | PR workflow | git log --merges --oneline -20 โ check for merge commits |
| 5 | Environments | Read config environments โ count tiers with non-null URLs |
| 6 | Conventional commits | git log --oneline -20 โ check feat:/fix:/docs: compliance % |
| 7 | TDD evidence | Compare test vs implementation file timestamps |
| 8 | Branch protection | Check .github/settings.yml or gh api if available |
| 9 | Release tags | git tag -l 'v*' โ check for semver tags |
| 10 | Quality gates | Check .pre-commit-config.yaml, .husky/, CI check configs |
| 11 | Milestones completed | Glob docs/milestones/*.md โ count COMPLETE milestones |
| 12 | Learnings captured | Read .add/learnings.json โ count entries |
| 13 | PRD depth | Read docs/prd.md โ assess completeness for target level |
| 14 | Stability | git log --since="30 days ago" --oneline โ check for hotfix-free stability |
Map evidence to target level requirements. Each category gets a status:
| Status | Icon | Meaning |
|---|---|---|
| READY | โ | Meets target requirement |
| PARTIAL | โ ๏ธ | Some evidence, incomplete |
| MISSING | โ | Required but not found |
| N/A | โ | Not required at target level |
Thresholds:
Readiness %: (READY count / required count for target) ร 100
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
MATURITY READINESS: {CURRENT} โ {TARGET}
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Readiness: {PCT}% ({READY}/{REQUIRED} requirements met)
| # | Requirement | Status | Detail |
|---|-------------|--------|--------|
| 1 | Feature specs | โ
| 8 specs in specs/ |
| 2 | Test coverage โฅ {THR}% | โ ๏ธ | Current: 47% |
| 3 | CI/CD pipeline | โ
| GitHub Actions configured |
| ... | ... | ... | ... |
โโโ CASCADE CHANGES AT {TARGET} โโโ
| Dimension | Current ({CURRENT}) | After ({TARGET}) |
|-----------|--------------------|--------------------|
| Specs Required | {current} | {new} |
| TDD Enforced | {current} | {new} |
| Quality Gates | {current} | {new} |
| Parallel Agents | {current} | {new} |
| ... | ... | ... |
โโโ RECOMMENDATION โโโ
{โฅ80%: "READY TO PROMOTE โ Run /add-promote --execute"}
{50-79%: "ADDRESS GAPS FIRST" + list top gaps + remediation}
{<50%: "NOT READY" + list critical gaps}
Full promotion: gap analysis โ gate โ interview โ apply.
Execute the full --check flow above. Present the report.
โฅ80% readiness: Proceed to interview.
50-79% readiness:
Readiness: {PCT}% โ below recommended threshold (80%).
Gaps: {list}
Options:
1. Proceed anyway (gaps tracked as tech debt)
2. Cancel and address gaps first
3. Create a promotion milestone to close gaps systematically
ask the user (use a clear, single-question prompt). Option 1 proceeds with override flag. Option 2 exits. Option 3 suggests /add-milestone --create.
<50% readiness: Block promotion.
Readiness: {PCT}% โ significant gaps remain.
Address critical items first, then re-run /add-promote --check.
Exit. No override offered โ premature promotion cascades strict requirements the project can't meet.
Q1: "What drove this promotion? What evidence or milestone makes now the right time?" โ Rationale for changelog and learnings
Q2: "Any areas to temporarily exempt from the new requirements? (e.g., specific quality checks)" โ Default: "No exemptions." If provided, note they should be time-boxed.
Q3 (if not promoting to GA): "What should the criteria be for the NEXT promotion ({next_next_level})?"
Q3 (if promoting to GA): "What are your GA stability and SLA commitments?"
โ Stored as next_promotion_criteria
.add/config.json{
"maturity": {
"level": "{TARGET}",
"promoted_from": "{CURRENT}",
"promoted_date": "{YYYY-MM-DD}",
"next_promotion_criteria": "{Q3 answer}",
"exemptions": ["{Q2 answers or empty}"]
}
}
Also update maturity-dependent config:
planning.wip_limit โ per cascade matrixplanning.parallel_agents โ per cascade matrixquality.coverage_threshold โ if target requires higherquality.mode โ tighten for beta/gadocs/prd.mdSearch for maturity references (grep for current level name), update to new level. Update any "Current Maturity:" lines in Section 6.
CLAUDE.mdGrep for current level name in project CLAUDE.md, update references.
The cascade is mostly automatic via the maturity-loader rule reading the updated config. But explicitly update config thresholds that aren't purely rule-driven:
| Transition | Key Config Changes |
|---|---|
| POC โ Alpha | Enable conventional commits, spec-driven quality |
| Alpha โ Beta | Stricter quality thresholds, TDD enforcement, PR review |
| Beta โ GA | All checks blocking, 2 reviewers, protected branches, release tags |
Append to CHANGELOG.md under [Unreleased]:
### Changed
- Maturity promoted from {CURRENT} to {TARGET} ({DATE})
- Readiness: {PCT}%, Rationale: {Q1 summary}
If CHANGELOG.md doesn't exist, create from ~/.codex/add/templates/changelog.md.template.
Write to .add/learnings.json:
{
"id": "L-{NNN}",
"date": "{YYYY-MM-DD}",
"checkpoint_type": "promotion",
"category": "process",
"scope": "project",
"title": "Maturity promoted: {CURRENT} โ {TARGET}",
"body": "Promoted at {PCT}% readiness. Rationale: {Q1}. Exemptions: {Q2}. Next criteria: {Q3}.",
"tags": ["maturity", "promotion", "{TARGET}"],
"classified_by": "agent"
}
Regenerate .add/learnings.md from JSON.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
PROMOTED: {CURRENT} โ {TARGET}
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Date: {YYYY-MM-DD} | Readiness: {PCT}%
Files updated:
โ .add/config.json
โ docs/prd.md
โ CLAUDE.md
โ CHANGELOG.md
โ .add/learnings.json
Key behavior changes now active:
{3-5 most impactful cascade changes}
Next steps:
1. Run /add-verify to confirm new quality gates pass
2. Review cascade changes โ they take effect immediately
3. Next promotion: {NEXT_NEXT_LEVEL} โ {Q3 criteria}
Triggered when --target is below current level. Rare but valid โ the maturity-lifecycle rule acknowledges demotion for pivots or new uncertainty.
Requesting maturity DEMOTION: {CURRENT} โ {TARGET}
This relaxes quality requirements. Typically used when:
- Major pivot introduces new uncertainty
- Project scope changed fundamentally
Are you sure?
Q1: "What changed that requires demotion?" Q2: "Temporary (re-promote after exploration) or permanent reset?"
Same update process as promotion, but:
checkpoint_type: "demotion"maturity.demotion_temporary: true| Skill | Relationship |
|---|---|
/add-cycle --complete | Has its own promotion check โ should reference /add-promote --check for full analysis |
/add-retro | Phase 11 does promotion assessment โ should reference /add-promote as canonical tool |
/add-verify | Recommended post-promotion to validate new gates pass |
/add-init | Sets initial maturity. Promote handles all subsequent changes. |
End-of-skill epilogue: follow ~/.codex/add/references/skill-epilogue.md (observation + learning checkpoint + progress tracking). Step 4f already writes the promotion learning entry โ do not duplicate it; the epilogue's observation line still applies.