bubbles-status-transition

Transitions Bubbles spec and scope statuses through mechanical gate checks and ceiling enforcement.

1|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/pkirsanov/bubbles --skill bubbles-status-transition-pkirsanov
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: bubbles-status-transition
Source: https://github.com/pkirsanov/bubbles/tree/main/skills/bubbles-status-transition
Command: npx skills add https://github.com/pkirsanov/bubbles --skill bubbles-status-transition-pkirsanov

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Changing a spec or scope status in the Bubbles framework is not a simple edit: statuses are gated by per-mode ceilings, sequential completion rules, and dual status mirrors that must agree. This Skill prevents rejected transitions, fabricated completion claims, and broken certification records when updating state.json or scope status lines. ## Core Features & Use Cases - Ceiling-aware transitions: Enforces each workflow mode's statusCeiling (e.g., brainstorm caps at specs_scoped, docs-only at docs_updated) and treats ceiling statuses as terminal-for-mode via is-terminal-for-mode.sh. - Mechanical guard execution: Runs state-transition-guard.sh, artifact-lint.sh, and framework-validate before any status flips to done, with raw output captured as evidence. - Mirror divergence handling: Detects E009-STATUS-MIRROR conflicts between top-level status and certification.status and routes repair to bubbles.validate via state-certification-reconcile.sh. - Grandfather clause guidance: Explains when historical done specs stay green (advisory profile) versus when changed specs are re-evaluated under current policy. - Use Case: Before committing a change that marks a bugfix spec done, run the transition guard, confirm all scopes show Status: Done with evidenced DoD items, and verify the status mirrors agree so the pre-push hook passes. ## Quick Start Ask the agent to transition the spec in specs/042-feature to done and run the Bubbles state transition guard to verify the change passes all gates.

Frequently Asked Questions about bubbles-status-transition

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

FAQPage Schema
How do I change a Bubbles spec status to done?▼

Run state-transition-guard.sh against the spec directory and confirm every scope shows Status: Done with all DoD items checked and raw output evidence. The guard must exit 0 before the status flips, and both status mirrors in state.json must agree.

Why did state-transition-guard.sh reject my status change?▼

Rejections usually come from exceeding the workflow mode's statusCeiling, incomplete scopes or DoD items, or a status mirror mismatch. Read the failing check label and remediation hint, fix the underlying gap, and re-run the guard rather than lowering the target status.

What is a status ceiling in Bubbles workflow modes?▼

Each mode in modes.yaml declares a statusCeiling capping how far a spec can transition; brainstorm caps at specs_scoped while full-delivery allows done. Ceiling statuses are terminal-for-mode, checked via is-terminal-for-mode.sh instead of comparing to the literal done string.

What does the E009-STATUS-MIRROR error mean?▼

E009-STATUS-MIRROR means state.json's top-level status and certification.status disagree, so the transition contract resolver refuses at exit 69. Only bubbles.validate may repair it via state-certification-reconcile.sh; other agents must emit a route_required packet.

Do old done specs break when the Bubbles framework upgrades?▼

No. The done-spec-audit.sh default profile is advisory, and pre-push uses the changed profile that only re-evaluates specs whose state.json changed in the diff. Historical done specs stay green unless edited, and recertification is strictly opt-in.