AGENT SKILL

bubbles-artifact-ownership-routing

Respect Bubbles artifact ownership boundaries and route foreign-artifact changes through the owning agent. Use when about to modify any spec/scope/state/test/source/docs artifact, when discovering a problem in someone else's artifact, or when handling a stale spec/design/scope. Covers ownership tables, freshness/supersession, and route-required packets.

License 许可
MIT
最近更新
2026-11-07
Stars
★ 1
Forks
0

01 前言 Front Matter

name
bubbles-artifact-ownership-routing
description
Respect Bubbles artifact ownership boundaries and route foreign-artifact changes through the owning agent. Use when about to modify any spec/scope/state/test/source/docs artifact, when discovering a problem in someone else's artifact, or when handling a stale spec/design/scope. Covers ownership tables, freshness/supersession, and route-required packets.

03 SKILL.md 正文

Bubbles Artifact Ownership & Routing

Goal

Edit only the artifacts your agent owns. When you find a defect in a foreign-owned artifact, route it instead of patching it inline. Keep ownership boundaries clean so the framework's routing guarantees hold.

When to use

  • About to edit any file under specs/, tests/, src/, docs/, or framework-managed paths
  • About to modify state.json, scopes.md, report.md, uservalidation.md, design.md, spec.md
  • Discovered a bug or staleness in someone else's owned artifact
  • Inheriting work from another specialist via a handoff packet

Ownership at a glance (consult agent-ownership.yaml for the authoritative table)

Artifact Owner
specs/<NNN>/spec.md bubbles.analyst (creation), bubbles.clarify (revision after questions)
specs/<NNN>/design.md bubbles.design
specs/<NNN>/scopes.md, scopes/*/scope.md bubbles.plan
specs/<NNN>/report.md the agent that produced the evidence (commonly bubbles.implement, bubbles.test)
specs/<NNN>/uservalidation.md human owner (agents create the checklist; only humans uncheck items)
specs/<NNN>/state.json execution.* bubbles.implement (claims), bubbles.test, bubbles.audit
specs/<NNN>/state.json certification.* bubbles.validate only
Source code, tests, configs bubbles.implement, bubbles.test, bubbles.devops per scope
Framework-managed .github/bubbles/** upstream Bubbles only (downstream consumers MUST NOT edit)

Cross-artifact mutation rule (NON-NEGOTIABLE)

If your scope's owned artifact is, say, report.md, you may NOT edit spec.md to make a test pass. The flow is:

  1. Detect the gap in the foreign artifact.
  2. Emit a route_required finding with nextRequiredOwner: bubbles.<owner>.
  3. Stop. Wait for the orchestrator to dispatch the owner.

Freshness and supersession

When spec.md or design.md drift after implementation has already shipped:

  • Do NOT silently rewrite them. That breaks traceability.
  • Open the spec-review handoff: bubbles.spec-review decides STILL_TRUE, MINOR_DRIFT, MAJOR_DRIFT, or OBSOLETE.
  • For MAJOR_DRIFT or OBSOLETE on a done spec, bubbles.workflow auto-dispatches improve-existing mode and the spec re-enters in-progress.

Framework-managed boundary (downstream repos)

Consumer repos must not edit:

  • .github/bubbles/** (scripts, workflows.yaml, capabilities, ledger)
  • .github/agents/bubbles* (framework agents)
  • .github/prompts/bubbles*
  • .github/skills/bubbles-* (framework-shipped skills)
  • .github/instructions/bubbles-*.instructions.md

If a downstream repo needs a framework change, file a project-owned proposal at .github/bubbles-project/proposals/<slug>.md or run bubbles framework-proposal <slug>. The actual change lands upstream in the Bubbles source repo.

Mechanical enforcement

  • downstream-framework-write-guard.sh blocks pushes that touch framework-managed paths from a downstream
  • agent-ownership-lint.sh catches agents that claim ownership outside their declared surface
  • artifact-freshness-guard.sh rejects stale artifacts that are being used as current authority

Authoritative modules

  • agents/bubbles_shared/artifact-ownership.md — ownership tables + delegation contract
  • agents/bubbles_shared/artifact-freshness.md — supersession + spec-review routing
  • agents/bubbles_shared/artifact-lifecycle.md — feature/bug artifact lifecycle
  • agents/bubbles_shared/consumer-trace.md — renames + removals
  • bubbles/agent-ownership.yaml — machine-readable ownership index
  • bubbles/scripts/downstream-framework-write-guard.sh — mechanical guard

04 同仓库更多 Skills

pkirsanov
pkirsanov/smackerel

smackerel-trace-capture

Wire Smackerel's concrete validate-plane stack into the framework trace-driven defect-discovery method. Use when running live-category tests (integration/e2e/e2e-ui/stress) against the ephemeral test stack; capturing SLO or trace evidence; hunting latency/error/perf bugs from spans; querying the test-stack Jaeger or Prometheus; or touching `.specify/runtime/observability`. Concrete smackerel endpoints + the exact `capture-slo.sh` command; do NOT duplicate `bubbles-observability-adapter` — this only adds the wiring.

测试与质量
★ 1
pkirsanov
pkirsanov/smackerel

smackerel-no-defaults

Enforce Smackerel's NO-DEFAULTS / fail-loud SST policy. Use when editing config, Docker Compose, deploy adapters, docs, instructions, skills, env handling, host bind addresses, or any runtime value that could be hidden by fallback syntax.

运维与部署
★ 1
pkirsanov
pkirsanov/smackerel

bubbles-workflow-mode-resolution

Resolve a Bubbles workflow mode against `bubbles/workflows.yaml`, including template inheritance, status ceilings, gate wiring, and decision policy. Use when picking a mode for a request, when a guard reports a mode-related failure, or when extending workflows.yaml with a new mode or template. Covers natural-language intent routing and the workflow registry consistency rules.

Skill与智能体开发
★ 1
pkirsanov
pkirsanov/smackerel

bubbles-workflow-execution-loops

Run per-round synchronous workflow execution loops correctly. Use when orchestrating a multi-round workflow, dispatching specialist subagents, handling round-based remediation, or interpreting a workflow mode's execution policy. Covers authorized direct execution, dispatch-and-wait, batch-then-summarize prohibition, and mapped-mode execution.

Skill与智能体开发
★ 1
pkirsanov
pkirsanov/smackerel

bubbles-vscode-agent-constraints

Design agents that fit the VS Code Copilot Chat runtime instead of fighting it. Use when authoring or editing any `*.agent.md`; when adding `tools:`, `agents:`, `handoffs:`, `model:`, `user-invocable:`, or `disable-model-invocation:` frontmatter; when designing an orchestrator that dispatches specialists; when a design implies agent-calls-agent-calls-agent chaining; when a subagent dispatch silently no-ops or an agent cannot be selected in the dropdown; or when writing a governance rule about delegation that the runtime cannot actually enforce. Prevents multi-level-subagent designs, prose-only dispatch laws, and frontmatter/body contradictions.

视觉设计Skill与智能体开发
★ 1
pkirsanov
pkirsanov/smackerel

bubbles-upkeep-cadence

How to schedule, dispatch, and record recurring operational upkeep tasks (backup, restore-drill, BCDR-drill, patch-cycle, secret-rotation, flag-cleanup, compliance-sweep). Use when authoring or modifying `config/upkeep-calendar.yaml`, when investigating a missed task, when reading the upkeep ledger, or when adding a new task type.

★ 1