一键导入
sloth-debug
Use when a Maycrest build hits any bug, test failure, or unexpected behavior on the Expo/Supabase/Vercel stack — before proposing any fix.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when a Maycrest build hits any bug, test failure, or unexpected behavior on the Expo/Supabase/Vercel stack — before proposing any fix.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when an approved Maycrest spec needs turning into a bite-sized TDD implementation plan a contractor could execute cold — before any code is touched on a client build.
Use when the Maycrest deliver pipeline executes an implementation plan of independent tasks in the current session — one fresh subagent per task, two-stage review each.
Use when review feedback lands on a Maycrest deliverable — before implementing any suggestion, especially an unclear or questionable one — demanding verification over performative agreement.
Use when completing a task or major feature on a Maycrest build, or before merging — dispatch an independent reviewer subagent as the internal QA gate before the client sees the work.
Use when a Maycrest engagement branch is complete and tests pass — gating the handoff: verify the suite first, then choose merge, PR, keep, or discard, and produce a short client handoff package.
Use when a Maycrest client request needs scoping before any build starts — turns a fuzzy ask into an approved written spec through collaborative dialogue, before code or scaffolding.
| name | sloth-debug |
| description | Use when a Maycrest build hits any bug, test failure, or unexpected behavior on the Expo/Supabase/Vercel stack — before proposing any fix. |
Random fixes waste time and breed new bugs. Quick patches hide the real problem and resurface in front of the client. At Maycrest we find the cause before we touch the code.
Core principle: Find the root cause before attempting any fix. A symptom fix is a failure.
Violating the letter of this process is violating the spirit of debugging.
NO FIX WITHOUT ROOT CAUSE INVESTIGATION FIRST
If you haven't completed Phase 1, you cannot propose a fix. No exceptions on a client build.
Any technical issue: test failures, production bugs, unexpected behavior, performance problems, build/deploy failures, integration breakage.
Especially when: under deadline pressure, "just one quick fix" looks obvious, you've already tried multiple fixes, the last fix didn't hold, or you don't fully understand the issue.
Don't skip because: the bug "looks simple" (simple bugs have root causes too), you're rushing (rushing guarantees rework), or Corey wants it fixed NOW (systematic is faster than thrashing).
Complete each phase before the next.
Before ANY fix:
git diff, recent commits, new deps, config/env differences.When you see these: STOP. Return to Phase 1.
| Excuse | Reality |
|---|---|
| "Issue is simple, skip the process" | Simple issues have root causes too. The process is fast for them. |
| "Client emergency, no time" | Systematic debugging is FASTER than guess-and-check thrashing. |
| "Just try this first, then investigate" | The first fix sets the pattern. Do it right from the start. |
| "I'll write the test after the fix works" | Untested fixes don't stick. The test first proves it. |
| "Multiple fixes at once saves time" | Can't isolate what worked. Breeds new bugs. |
| "Reference is long, I'll adapt the pattern" | Partial understanding guarantees bugs. Read it completely. |
| "One more fix attempt" (after 2+) | 3+ failures = architecture problem. Question the pattern. |
Symptom: bookings silently vanish for some clients; the Expo UI shows success.
Phase 1 — reproduce: only fails for clients created before a recent migration. git diff
shows a new org_id column added to bookings. Boundary logging: the Expo insert succeeds, but
the Supabase response returns zero rows. Trace backward: the RLS policy filters on
org_id = auth.jwt() ->> 'org_id'; legacy clients have a null org_id, so the policy silently
rejects the row. Root cause = null org_id on legacy rows, not the insert code.
Phase 4 — failing test asserts a legacy-client booking persists. Single fix: backfill
org_id for legacy rows (the source), not loosening RLS (the symptom). Test passes, RLS intact.
maycrest-automate specialist.maycrest-ops:reality-checker for the production-readiness verdict.Adapted from the MIT-licensed obra/superpowers project (© 2025 Jesse Vincent). See NOTICE.