bubbles-artifact-ownership-routing

Enforces artifact ownership boundaries and routes foreign-artifact changes to owning agents.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? In multi-agent workflows, agents often patch artifacts they do not own, breaking traceability and routing guarantees. This Skill defines who owns each artifact and forces defects in foreign-owned artifacts to be routed to the responsible owner instead of being silently edited. ## Core Features & Use Cases - Ownership Tables: Maps specs, designs, scopes, reports, state.json fields, source code, and framework-managed paths to their owning agents. - Route-Required Flow: When a defect is found in a foreign artifact, emit a route_required finding with nextRequiredOwner and stop, letting the orchestrator dispatch the owner. - Freshness & Supersession: Handles stale spec.md or design.md through spec-review verdicts (STILL_TRUE, MINOR_DRIFT, MAJOR_DRIFT, OBSOLETE) instead of silent rewrites. - Use Case: A test agent discovers the spec contradicts the implementation. Instead of editing spec.md, it emits a route_required finding targeting bubbles.analyst and waits for the orchestrator to dispatch the fix. ## Quick Start Before editing any spec, design, scope, state, or source artifact, consult the ownership table and route any foreign-artifact changes to the owning agent.

Frequently Asked Questions about bubbles-artifact-ownership-routing

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

FAQPage Schema
How do I handle a bug found in another agent's artifact?▼

Do not edit the foreign artifact directly. Emit a route_required finding with nextRequiredOwner set to the owning agent (for example bubbles.analyst for spec.md), then stop and wait for the orchestrator to dispatch that owner.

Who owns spec.md, design.md, and state.json in Bubbles?▼

spec.md is owned by bubbles.analyst (creation) and bubbles.clarify (revisions), design.md by bubbles.design, and scopes by bubbles.plan. In state.json, execution fields belong to bubbles.implement, bubbles.test, and bubbles.audit, while certification fields belong only to bubbles.validate.

What should I do when a spec becomes stale after implementation?▼

Do not silently rewrite the spec, since that breaks traceability. Open a spec-review handoff so bubbles.spec-review classifies it as STILL_TRUE, MINOR_DRIFT, MAJOR_DRIFT, or OBSOLETE; major drift on a done spec re-enters the workflow via improve-existing mode.

Can downstream repos modify framework-managed Bubbles files?▼

No. Downstream consumer repos must not edit .github/bubbles/**, framework agents, prompts, skills, or instructions. Changes are proposed via .github/bubbles-project/proposals/<slug>.md or the bubbles framework-proposal command, and land upstream in the Bubbles source repo.

How is artifact ownership enforced mechanically?▼

Three guards enforce it: downstream-framework-write-guard.sh blocks pushes touching framework-managed paths, agent-ownership-lint.sh catches agents claiming ownership outside their declared surface, and artifact-freshness-guard.sh rejects stale artifacts used as current authority.