Writing Skills
writing-skills
效率与协作技能,来自 obra/superpowers,查看原文获取完整用途和操作说明。
workflow-fix-and-ship【部署与运维】One bug-fix lifecycle: triage, reproduce, debug, regression test, fix, live check, PR, optional deploy verify. Use when "fix this bug and close the ticket", "patch this and ship", or a named production error. Many reports → workflow-feedback-to-closure.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Degree of freedom: MIXED. Root-cause and surgical fix [HIGH freedom];
reproduce-before-edit, regression test, and PR evidence
[LOW freedom — run exactly].
Triage → fix → verify → ship. Every step leaves evidence.
Reproduce: checkout 500s when the cart has a deleted SKU; Sentry shows
TypeErrorinquoteCart. Isolate:quoteCartassumes every line item still exists; deleted SKU yields undefined price. Fix: treat missing SKU as an invalid line + regression test with a deleted product id. Prove: Playwright retries the deleted-SKU cart → inline error, not 500; pay-happy-path still completes.
workflow-feedback-to-closure; FE↔BE contract → debug-fe-be-integration1. TRIAGE → pull Sentry + logs, reproduce locally
2. ROOT CAUSE → debug-error (isolate, identify, understand)
3. FIX → surgical change, matching tests
4. VERIFY → test-playwright (confirm fix, catch regressions)
5. PR → workflow-pr
6. POST-SHIP → deploy-verify (optional if deploy is immediate)
The turn ends at the Done criteria (Phase 6 only when a deploy is in scope) or at a real gate — a decision only the user can make, a missing credential, a failing service. A phase summary is a progress note, not a stopping point.
Pull signals before touching code:
sentry:search_issues
{
"organizationSlug": "<ORG>",
"query": "<describe the bug>",
"projectSlugOrId": "<PROJECT>",
"regionUrl": "<REGION_URL>",
"limit": 5
}
Then pull Supabase logs if the bug may be data-related:
supabase:query_logs
{
"sql": "select timestamp, event_message, log_attributes['request.method'] as method, log_attributes['request.path'] as path, log_attributes['response.status_code'] as status_code from logs where source = 'edge_logs' order by timestamp desc limit 100"
}
Reproduce locally before any code change. State the exact repro steps.
Read the
debug-errorskill and follow it.
Required output: one-sentence root cause statement — "The bug is X because Y."
Rules:
Read the
test-playwrightskill and follow it.
Drive the live app through the exact repro scenario. Confirm the fix resolves it. Check that nearby flows still work (regression scope = files touched ± 1 level).
Read the
workflow-prskill and follow it.
PR description must include:
If deploying immediately after merge, read the deploy-verify skill.
Resolve the Sentry issue after confirming the fix is live in production.