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

bug-repro-minimizer

Reduce a failing test case, script, or input file to the smallest version that still reproduces a bug. Use when the user has a large reproduction and asks to minimize, bisect, or isolate it, or says things like "it stops failing when I remove half the file". Do not use when there is no reliable reproduction yet - help build one first, then minimize it.

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

설치 방법 보기

포함된 파일(1)

  • SKILL.md2.5 KB

SKILL.md(원문)

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

Bug Repro Minimizer

Shrink the reproduction until every remaining line is load-bearing. The deliverable is a minimal case plus proof that each removed part was irrelevant.

Prerequisite: a reliable oracle

Before cutting anything, define a command that exits 0 for "bug gone" and non-zero for "bug present" — and run it 3 times on the untouched reproduction. If results vary, the bug is flaky; stop and stabilize the oracle first (fixed seed, pinned versions, retries) or minimization will chase noise.

Reduction loop

  1. Cut coarse to fine. Remove the biggest independent chunk first: a whole file, a function, a config section. Halve, don't nibble — deleting one line at a time on a 2,000-line repro wastes hundreds of runs.
  2. Run the oracle after every single cut. Bug still present → keep the cut. Bug gone → restore the chunk, split it in half, try each half.
  3. Then simplify values. Once no structure can be removed: shrink strings to "x", numbers to 0/1, arrays to one element — reverting any change the oracle rejects.
  4. Stop when stuck. When every remaining element has been tried and each one is required, the case is minimal.

Verify the result

  • Run the oracle 3 times on the final case — still failing every time.
  • Restore any one removed piece at random and confirm the case still fails (guards against accidentally minimizing into a different bug — compare the error message/stack, not just the exit code).

Example

start:  1,842-line SQL dump, importer crashes
cut 1:  drop bottom half            → still crashes (keep)
cut 2:  drop remaining top half     → passes (restore, split)
...
final:  3 lines - a CREATE TABLE and one INSERT with a NUL byte in a varchar

The final report: the 3-line case, the oracle command, and the observation that the NUL byte is the trigger — which is the actual bug report.

Rules

  • Never minimize on the user's only copy; work on a duplicate.
  • Log every cut and its oracle result; the log is the proof of minimality.
  • If two different errors appear during reduction, fork: minimize each separately rather than blending them.

리뷰

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

댓글

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

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

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

0 / 1,000자

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

같은 저장소의 스킬

Diagnose failing HTTP API calls - 4xx/5xx responses, timeouts, TLS errors, and auth failures - by isolating the fault layer and producing a minimal reproduction. Use when the user reports an API request failing, pastes an HTTP error response or status code, or asks why a request works in one client but not another. Do not use for designing new APIs or for performance tuning of requests that already succeed.

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

Krusty84/SKILL.md-Inspector442026년 8월 1일 업데이트

Generate or update a CHANGELOG.md from merged commits and pull requests, grouped by change type and written for end users. Use when the user asks to write release notes, update the changelog, or summarize what changed between two versions or tags. Do not use for writing individual commit messages or for API-reference documentation.

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

Krusty84/SKILL.md-Inspector442026년 8월 1일 업데이트

Apply the team style guide to source files - naming conventions, comment style, and file organization. Use when the user asks to align code with the style guide or clean up naming.

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

Krusty84/SKILL.md-Inspector442026년 8월 1일 업데이트

Run the project's configured formatter (prettier, black, gofmt, rustfmt) on changed files and fix formatting-only CI failures. Use when the user asks to format code, fix a lint/format CI step, or normalize whitespace and import order. Do not use for logic changes or refactoring.

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

Krusty84/SKILL.md-Inspector442026년 8월 1일 업데이트

Clean and normalize messy CSV/TSV files - fix malformed rows, inconsistent headers, mixed encodings, stray delimiters, and duplicated records - and deliver a valid, verified file. Use when the user mentions a broken, messy, or malformed CSV, a file a spreadsheet tool refuses to open, or asks to deduplicate or normalize tabular data. Do not use when the deliverable is analysis or a chart rather than a cleaned file, or for Excel-native features like formulas and pivot tables.

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

Krusty84/SKILL.md-Inspector442026년 8월 1일 업데이트

Does data things.

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

Krusty84/SKILL.md-Inspector442026년 8월 1일 업데이트

Krusty84의 스킬 모두 보기

이 스킬의 문제 신고