AGENT SKILL

bubbles-bug-template

Use the canonical Bubbles bug artifact template when filing or working a bug under specs/<feature>/bugs/BUG-NNN-description/. Use when reporting a regression, picking up a bug, writing the reproduction evidence, designing the fix, or auditing whether the bug folder has all required artifacts before work begins.

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

01 前言 Front Matter

name
bubbles-bug-template
description
Use the canonical Bubbles bug artifact template when filing or working a bug under specs/<feature>/bugs/BUG-NNN-description/. Use when reporting a regression, picking up a bug, writing the reproduction evidence, designing the fix, or auditing whether the bug folder has all required artifacts before work begins.

03 SKILL.md 正文

Bubbles Bug Template

Goal

Every bug folder has all 6 required artifacts before fix work begins, includes a reproducible repro, and produces an adversarial regression test that would fail if the bug were reintroduced.

When to use

  • Filing a new bug under specs/<feature>/bugs/BUG-NNN-description/ (or specs/bugs/BUG-NNN-... for cross-feature bugs)
  • Picking up an open bug; verifying it has all 6 artifacts
  • Writing reproduction evidence (BEFORE the fix) and verification evidence (AFTER the fix)
  • Designing the regression test for the bug

Required artifacts (every bug)

File Notes
bug.md description, reproduction steps, observed vs expected, severity
spec.md expected behavior specification (what the code SHOULD do)
design.md root cause analysis + fix design
scopes.md fix scope(s) with DoD checklist + Test Plan
report.md execution evidence: bug reproduced BEFORE fix, fix verified AFTER fix, regression test execution
state.json bug lifecycle state

If any file is missing, bubbles.bug (or whichever agent is handling the bug) MUST create it before proceeding.

Bug-reproduction gate (Gate 0)

  1. Reproduce the bug FIRST — capture raw terminal output in report.md under a Before Fix section.
  2. Apply the fix.
  3. Re-execute the same reproduction sequence — capture output in report.md under After Fix.
  4. Both captures MUST be in the same session and ≥10 lines each.

Adversarial regression test (NON-NEGOTIABLE)

Every bug-fix regression test MUST include at least one adversarial test case — an input that would FAIL if the bug were reintroduced. Tautological regressions (all fixtures already satisfy the broken code path) do not count. Enforced by regression-quality-guard.sh --bugfix.

Anti-patterns

  • ❌ Filing a bug with only bug.md and skipping spec.md/design.md/scopes.md/report.md/state.json
  • ❌ Writing a regression test where every fixture would also fail if you reintroduced the bug differently (tautology)
  • ❌ Calling the bug closed without an AFTER-fix reproduction capture
  • ❌ Adding a bypass like if (page.url().includes('/login')) return in the regression test

Authoritative modules

  • agents/bubbles_shared/bug-templates.md — full template text
  • agents/bubbles_shared/artifact-lifecycle.md — lifecycle rules
  • agents/bubbles_shared/quality-gates.md — adversarial regression requirement
  • agents/bubbles_shared/e2e-regression.md — regression expectations
  • bubbles/scripts/regression-quality-guard.sh — bugfix mode enforcement
  • bubbles/scripts/regression-baseline-guard.sh — baseline expectations

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