skills/probe/SKILL.md
Extract repository spec while detecting bugs, spec gaps, and consistency drift via dual-purpose documentation. OUTCOME.md-axis question-driven exploration with ephemeral output. Do NOT use for code review (use /audit or /polish), feature implementation (use /code), planning only (use /think), or single-bug fix (use /fix).
npx skillsauth add thkt/dotclaude probeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Trace the repository aspect-by-aspect and surface friction points as issue candidates. The act of "trying to explain" exposes contradictions and gaps. Final output is Issues, no severity rating. Output is a single file, findings.md.
No arguments. Target is the entire repository at current working directory. Scope auto-derived from .claude/OUTCOME.md.
| Input | Required | Source |
| ---------- | -------- | ------------------------------------------------------ |
| OUTCOME.md | Yes | .claude/OUTCOME.md (generate via /outcome if absent) |
| ADR | Optional | docs/decisions/ |
| Spec | Optional | .claude/workspace/planning/*/spec.md etc. |
| Item | Value |
| -------- | ------------------------------------------------------ |
| File | /tmp/probe-{repo}-{YYYYMMDD}/findings.md (ephemeral) |
| Template | ${CLAUDE_SKILL_DIR}/templates/findings.md |
Add each item under Behavior / Non-goals / Constraints in .claude/OUTCOME.md to the aspect list. If ADR exists, enumerate headings with status.
Run the following sequence per aspect, one aspect at a time.
After each aspect pass, detect via grep.
| Target | Example | | ------------------- | ------------------------------------------------------------- | | Terminology drift | ADR/README term vs implementation symbol vs test assertion | | Concept overlap | Same name carrying different meaning across fields | | Logging hygiene | Redact wrapper vs raw value in log statements | | ADR Call Site Index | Function names listed in ADR still exist / line numbers drift |
Ask one question only when stuck. Mark as "unresolved" and proceed if no answer. Durably record in findings.md Open Questions.
Record skill behavior at the end of findings.md (question count, friction patterns, Positive issue presence, aspect pass breakage).
| Category | What | | ------------------ | ------------------------------------------------------------------- | | Bug candidate | Implementation flaw leading to misbehavior | | Spec gap | Expected by OUTCOME / Spec but not reflected in implementation | | Non-goals leakage | Implementation crossing OUTCOME.md Non-goals | | Constraints breach | OUTCOME.md Constraints not honored | | Inconsistency | Pattern divergence among same-responsibility code | | ADR drift | ADR Call Site Index / function names / numbers diverge from current | | Implicit knowledge | Exists in code but undocumented | | Positive | Dynamic verification that OUTCOME / ADR / implementation align |
tools
Delegate implementation to codex (coder) via the herdr-agentchat plugin and drive a two-pane conversation to completion.
development
Extract recurring patterns from past closed PRs/issues and the research findings in workspace/research/, verify them against the latest code, and propose them to docs/wiki/ via PR.
development
Create Decision Records (DR) in MADR v4 format with auto-numbering.
development
Detect flaky tests by shaking them — repeated runs under varied order, parallelism, and seed — plus a static smell scan that flags latent flakiness in tests that currently pass. Classify each target as confirmed-flaky, latent-flaky, or stable and fix the root cause without weakening the test. Do NOT use to fix a confirmed single bug (use /fix) or for static-only code review (use /audit).