跳到正文
cccskills
免费在 GitHub 公开

bugs

Review safety-sensitive Mole changes using documented bug patterns. Check how cleanup targets are selected, whether commands have time limits, whether cancellation stops later work, and whether dry runs match actual deletion plans.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Mole incident catalog for cleanup safety, bounded probes, cancellation, dry-run parity, and actionable gates. Use for a Mole safety-sensitive diff; not for docs, release notes, or generic review.

查看安装方法

适用场景

  • Reviewing cleanup and uninstall safety
  • Checking cancellation and command time limits
  • Comparing dry-run plans with actual deletion
  • Checking whether regression tests catch the original bug

包含的文件(6)

  • SKILL.md8.0 KB
  • evals/evals.json11.3 KB
  • references/deletion-evidence-and-final-sink.md12.7 KB
  • references/shell-and-test-pitfalls.md18.9 KB
  • references/state-accounting-and-progress.md7.1 KB
  • references/test-validity-and-refusal-diagnostics.md10.6 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Mole bug patterns

Generic review belongs to Waza check; root-cause investigation of a live failure belongs to hunt.

Route before loading details

Choose only the reference families touched by the evidence. A whole-project audit should classify surfaces first instead of loading every incident narrative.

#Recurring shapeFirst probeRead
1Deletion candidate built from a weak name signalInspect name, bundle-id, fallback globs, and failed-owner shortcutsDeletion evidence and final sink
2Existence or idleness decided by one probeEnumerate every legitimate location and unknown outcomeDeletion evidence and final sink
3Guard present on only one branchDiff dry-run, real, direct, fallback, and final-sink pathsDeletion evidence and final sink
4Unbounded external commandCount producer, consumer, inner-loop, and action boundsBounds, Shell, TTY, and parsing
5Bash 3.2, errexit, or pipefail trapCheck empty arrays, `fn
6TTY, stdin, or process-group theftInspect background workers and commands that may promptBounds, Shell, TTY, and parsing
7System output parsed as a stable APIForce locale, validate shape, and join on identifiers not headingsBounds, Shell, TTY, and parsing
8Persisted derived data outlives its algorithmTrace schema, TTL, evidence fingerprint, and mutationsState, accounting, and progress
9Two paths compute one number differentlyFind every producer and choose one definitionState, accounting, and progress
10Slow work looks frozenFind operations over roughly one second outside feedbackState, accounting, and progress
11Regression test cannot failProve positive control and pre-fix red stateTest validity and refusal diagnostics
12Gate cannot explain why it refusedMap each reason to one cause and a next action that fails on the broken stateTest validity and refusal diagnostics
13Mutation target is also accepted as a discovery containerCompare the recursive scan-root namespace with every purge target basenameDeletion evidence and final sink
14Owner metadata is treated as a complete, atomic inventoryIdentify who writes it, whether absence is authoritative, and what locks mutationDeletion evidence and final sink
15Cancellation stops one helper but later work continuesClassify each 124 as skip, section budget, or sticky cancel before tracing callersBounds, Shell, TTY, and parsing
16Async or cached data has no generation or freshness contractBind results to a request epoch and keep each sample's time, stale, and completeness fields togetherState, accounting, and progress
17Publication gate trusts ambiguous or pre-existing stateRequire exact source/tag equality, one generated target, and an expected-absence ref leaseTest validity and refusal diagnostics
18A sandbox well-known path is treated as app-private leftoversResolve Data/Downloads, Desktop, Pictures, Music, and Movies physically against $HOMEDeletion evidence and final sink

AGENTS.md and the path-scoped .claude/rules/ files keep each rule stated fully enough to obey plus its test anchor; the incident story lives in these references or in release-flow, and the rule bullet points to the section that holds it. Moving a story here is a merge, never the deletion of a rule that still constrains behavior.

Trace the complete mutation lifecycle

For cleanup, purge, optimize, analyze deletion, or uninstall work, review the complete chain rather than the reported branch:

discover or plan
  -> cheap irreversible filters
  -> owner and open-handle probes
  -> size or metadata work
  -> final owner re-probe
  -> parent and target identity rebind
  -> deletion or Trash sink
  -> accounting, cancellation, and user output

At every transition, answer:

  • Does live or unknown state fail closed?
  • Are timeouts classified by probe, sizing, removal, or section scope, with unknown evidence refusing deletion and cancellation stopping later mutation?
  • Are probe and sink bound to the same physical parent and target?
  • Do dry-run and real mode start from the same eligible plan without reusing stale authorization?
  • Are cheap missing, protected, whitelisted, and compiled-model filters ahead of recursive probes?
  • Does one cumulative deadline cover the dynamic scan scope, with checkpoints in nested loops?
  • Do refused, filtered, timed-out, or failed items stay out of cleaned counts and reclaimed bytes?
  • Can large candidates avoid per-item size work without making the reported total false?

Do not trade final-sink rebinding or fail-closed owner checks for speed. Optimize absent targets, duplicated discovery probes, report-only work, and wrong-scope scans first.

Working contract

  • Before proposing a remedy, apply the Product Decision Filter in AGENTS.md: a new flag, environment variable, or visible retry message is a product change, even when the underlying fix is a safety improvement. Use the existing state/accounting reference when deciding what belongs in the normal summary.
  • A sandbox well-known directory is user data until physical resolution proves otherwise. Data/Downloads is usually ~/Downloads under another name.
  • A refusal next step that succeeds on the broken state is not a next step. Do not relax the gate to make the message nicer.
  • Sweep siblings by call-site shape, not filename or helper name. Report checked N / defective M / not applicable K.
  • A recurring fix ships with a regression or source invariant that fails against the pre-fix code.
  • Treat tests as production consumers only after proving the production helper ran. Negative assertions require a positive trace.
  • A cancellation regression makes the next candidate otherwise eligible, then proves its probe and sink never run. Making every candidate fail for the same reason is a false sticky-cancellation test.
  • Absence-sensitive tests use an isolated HOME or fixture root; a shared setup_file home is not isolation.
  • Reproduce CI through MOLE_TEST_NO_AUTH=1 ./scripts/test.sh when possible. If invoking Bats directly with jobs, preserve --no-parallelize-within-files; files share state and raw bats --jobs 6 file.bats changes semantics.
  • Treat specialist or AI reports as leads. Read the implementation, callers, fallback branches, and final sink yourself.

Verification bar

Use the hotspot commands in the matching .claude/rules/ file (routed from AGENTS.md); do not guess a narrower verifier. A typical Shell safety change finishes with:

./scripts/check.sh --format
MOLE_TEST_NO_AUTH=1 bats tests/<area>.bats
MOLE_TEST_NO_AUTH=1 ./scripts/test.sh
go test ./...
MOLE_TEST_NO_AUTH=1 MOLE_DRY_RUN=1 ./mole clean --dry-run

Never infer a production defect from a function name, comment, string, fixture, or _test.go match. Confirm the live call path and verify red-green before reporting the class fixed.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

mole

免费

Inspect disk usage on macOS or Windows with Mole CLI, preview cleanup candidates, and remove approved items. It also helps check system health, review cleanup history, and guide app removal through the user's terminal.

中文简介正在准备中。当前显示英语简介。

  • Finding what is taking up disk space
  • Previewing cache cleanup before removal
  • Checking system health when a computer feels slow
tw93/Mole7.2万2026年10月21日 更新

Prepare and execute Mole CLI releases, from choosing distribution channels and checking tests to publishing version tags. Verify downloadable files, checksums, and the script-based upgrade path, then hand off to the release-notes process.

中文简介正在准备中。当前显示英语简介。

  • Checking whether a Mole CLI release is ready
  • Publishing a release with a capital-V tag
  • Verifying public downloads and the upgrade path
tw93/Mole7.2万2026年10月21日 更新

Draft and publish English and Chinese notes for an existing Mole release. Organize changes by their impact on users, identify contributors from the release history, and update the release with approved notes, acknowledgments, and reactions.

中文简介正在准备中。当前显示英语简介。

  • Drafting English and Chinese release notes
  • Ordering changes by their impact on users
  • Identifying contributors to thank for this release
tw93/Mole7.2万2026年10月21日 更新

Audit the macOS and Windows branches of Mole CLI for safety risks, excess complexity, outdated information, performance issues, and lessons missing from tests or rules. Challenge each finding before reporting it, then implement and record approved fixes.

中文简介正在准备中。当前显示英语简介。

  • Running regular audits of both Mole CLI branches
  • Finding unsafe deletion paths and performance bottlenecks
  • Checking outdated documentation and unnecessary complexity
tw93/Mole7.2万2026年10月21日 更新

查看 tw93 的全部技能

报告此技能的问题