본문으로 건너뛰기
cccskills
무료GitHub에 공개

vibe-flake-root-cause

Refuses "flaky" as a diagnosis. Turns an intermittent failure into a reproduction by isolating it from the environment, naming the variable that controls it, forcing that variable, and measuring before and after with enough runs to count. Separates real defects from environment contention with evidence, and never retries to green or widens a threshold. Use when a test, performance check, or deploy step fails intermittently or passes on rerun.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md3.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

vibe-flake-root-cause

"Flaky" ends an investigation without finding anything, and a retry-to-green hides real defects. An intermittent failure is a hypothesis: some variable you haven't controlled decides the outcome. Find it, force it, and prove the fix with counts.

When to Use This Skill

  • "It passed on rerun"
  • A failure that shows up only in CI
  • A threshold (performance, visual diff, timeout) that fails on some runs
  • You're tempted to add a retry, raise a timeout, or loosen a tolerance

When NOT to Use This Skill

  • The failure reproduces every time (debug it directly)
  • Race conditions visible in the test code itself (use vibe-concurrent-test-safety)
  • The job died before any test ran (checkout, install, runner loss); a single re-run is fine there, but say so

Steps

  1. Record the failure exactly. Commit, environment, profile or device, the failing value, and the threshold. Keep the log.

  2. Run it alone, cleanly. If it passes in isolation, treat it as contention until proven otherwise, and name the resource: CPU, a shared port, a shared database, disk, or network. Record machine load alongside every timing measurement.

  3. List candidate variables and force each in turn. Common ones:

    • timing: network latency, font or asset arrival, animation frames
    • environment: CPU load, parallel agents or tests, shared ports and servers
    • data: ordering, time of day, random seeds, page or payload size
    • process mode: a server started in a mode the framework doesn't support in production
  4. Reproduce at a stated rate before changing anything (for example "10 of 15 runs fail with fonts held back 600 ms"). No reproduction means no root cause yet, so keep looking or report it as unresolved.

  5. Fix the cause, not the symptom. Then rerun the forced condition N times and report the new rate (for example "0 of 240 loads across 4 routes").

  6. Disclose any mitigation. If you clip, retry, or quarantine anything, say what, why, and why it doesn't hide a defect. Never widen a threshold or budget to pass (vibe-anti-rationalization-check).

Output Format

Flake Investigation: [test/check]

Symptom: [value vs threshold, where, how often] Isolated run: pass / fail · Load at failure: [value]

VariableForced howFailure rate
font arrivalheld back 600 ms10/15
CPU loadrun alone0/15

Root cause: [mechanism, in one or two sentences] Fix: [change] · After: [0/N under the forced condition] Mitigations disclosed: [none / list with reasons]

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Validates completed work against defined acceptance criteria. Use after completing a task that has specific success criteria defined in issues, specs, or task descriptions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ash1794/vibe-engineering1642026년 10월 8일 업데이트

Generates edge case, failure mode, and spec-driven test cases. Covers boundary values, nil inputs, concurrency, resource exhaustion, malformed data, and requirement-linked traceability tests. Use after happy-path tests exist and before claiming coverage is complete, when requirements lack tests, or before a security review.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ash1794/vibe-engineering1642026년 10월 8일 업데이트

Catches shortcuts and reward hacking — weakening or deleting tests to make them pass, hard-coding expected outputs, silently dropping requirements, or claiming work is done without running it. Use before declaring a task complete and whenever a test or requirement feels like it's in the way.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ash1794/vibe-engineering1642026년 10월 8일 업데이트

Safely integrates commits from parallel agent branches using sequential cherry-pick. Use after parallel work completes in isolated branches or worktrees.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ash1794/vibe-engineering1642026년 10월 8일 업데이트

Audits tests for concurrency safety — race conditions, shared mock state, cleanup ordering. Use when writing tests that involve goroutines, async operations, or shared mutable state.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ash1794/vibe-engineering1642026년 10월 8일 업데이트

Enforces tiered test coverage standards with three dimensions — line coverage by tier, spec-to-test traceability, and spec-to-code implementation mapping. Use before claiming code is complete.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ash1794/vibe-engineering1642026년 10월 8일 업데이트

ash1794의 스킬 모두 보기

이 스킬의 문제 신고