Back to Discover

skills

skill

ivuorinen

My assortment of Claude Code skills

View on GitHub
2 starsNOASSERTIONSynced Aug 15, 2026

Install to Claude Code

/plugin marketplace add ivuorinen/skills

README

skills

Nitpicker — a hostile audit toolkit for coding agents. One skill, one entry point, a full deck of audit commands:

/nitpicker <command> [extra instructions]

Assumes the code is incorrect until proven otherwise. Every command files findings with evidence and a concrete fix — no compliments, no hedging.

Works in Claude Code, GitHub Copilot, pi, and any agent that reads the open Agent Skills format.

Install

AgentHow
Claude Code (plugin)/plugins → add marketplace ivuorinen/skills → install ivuorinen-skills
Any agent via skills.shnpx skills add ivuorinen/skills (installs into the agent you pick)
GitHub Copilotnpx skills add ivuorinen/skills -a copilot, or copy skills/nitpicker/ into .github/skills/ — Copilot also reads .claude/skills/ and .agents/skills/
pinpx skills add ivuorinen/skills -a pi, copy into .agents/skills/, or add the checkout to the "skills": [...] setting; invoke as /skill:nitpicker <command>

The bundled tools (skills/nitpicker/scripts/*.py) are stdlib-only and run with plain python3 — no uv, no package installs on the consumer machine.

Usage

/nitpicker                       # exhaustive whole-repo audit (default)
/nitpicker security              # run the security scanners, consolidate findings
/nitpicker tests inline          # audit the test suite; findings in the response only
/nitpicker cr fix only critical  # implement PR review comments, scoped by your words
/nitpicker release-gate          # fail if any open finding ≥ High
/nitpicker help                  # print the command table

The first word after /nitpicker picks the command (old 1.x skill names still work as aliases); everything after it is free-text instructions for that run. The modifiers inline (nothing written to disk) and changed-files (scope to modified files) work with every command.

Commands

Review and fixing

CommandWhat it hunts
(none) / auditEverything: code, tests, docs, config — the exhaustive review
reviewBugs in a diff or file set — logic errors, edge cases, missing tests
prPR defects; outputs copy-paste-ready GitHub review markdown
crUnresolved PR review comments — evaluates and implements the valid ones
complexityOver-engineering; forces the laziest solution that works
unwiredImplementations never wired in, or left incomplete; wires, merges, or removes with per-finding consent
dead-codeUnreferenced or unreachable code; reachability-proven, public and orphan removals approval-gated

Planning

CommandWhat it does
planTurns a change request into a plan hardened by the audit lenses; writes a plan doc and stops for explicit approval before any implementation
execute-planExecutes an approved plan task by task, verifying each task as it lands and stopping when blocked instead of guessing; finishes behind a gated commit/push menu. The sequel to plan

Learning

CommandWhat it does
teachTeaches a skill or concept across sessions; builds a persistent docs/lessons/ workspace — lessons, not findings

Security and data

CommandWhat it hunts
securityVulnerabilities, exposed secrets, insecure dependencies (via installed scanners)
privacyPersonal data without the control its class requires
configUndocumented env vars, unsafe prod defaults, committed secrets
iacContainer/IaC misconfig: root, open ingress, public stores, overbroad IAM
prompt-safetyLLM-integration safety: prompt injection, model-output-to-sink, tool agency

Runtime behavior

CommandWhat it hunts
perfN+1 queries, O(n²)+ hotspots, sync-blocking-in-async, unbounded growth
concurrencyData races, TOCTOU, deadlock ordering, unsafe publication
errorsSwallowed exceptions, fail-open defaults, masking fallbacks
leaksResources acquired without guaranteed release on failure paths
reliabilityNon-idempotent retries, timeouts, crash-window dup, dropped work
cacheStale reads, key collisions, unbounded growth, stampede, drift

Structure and contracts

CommandWhat it hunts
archArchitectural violations against detected or declared patterns
arch-profileDetects the architecture; writes docs/audit/arch-profile.md
contractSpec-vs-code drift and surface changes vs the declared semver bump
depsUnused, phantom, dup, unmaintained, license + supply-chain: typosquat, scripts
licenseProject license, dependency compatibility, copyleft contamination, attribution
migrationsMigrations that eat production: destructive ops, long locks, drift

Quality surfaces

CommandWhat it hunts
testsTests that cannot fail: tautologies, mocked-out subjects, coverage holes
typesSuppressed type errors, any-escapes, unsound casts, untyped boundaries
docsDocumentation that lies: stale, incorrect, missing
contributingCONTRIBUTING.md drift vs real tooling; offers to scaffold when absent
ciPipeline defects: unpinned actions, script injection, over-broad tokens
commitsCommit messages that mis-version the release vs their actual diffs
observabilityDark paths, PII in logs, unfireable alerts, cardinality bombs
a11yWCAG 2.2 AA violations computed from the actual UI code
i18nHardcoded locale assumptions against the declared locale scope

Coding-agent enforcement

CommandWhat it hunts
agent-loopholesBypassable constraints in the agent enforcement surface
agent-hooksRecurring failures no hook guards; missing hook coverage
agent-rules.claude/rules/ quality and rules mined from project conventions

Meta

CommandWhat it hunts
triageRanked run-plan of which commands to run; files nothing
reverifyRe-verify open findings; resolve fixed/invalid, keep rest
baselineSnapshots open findings as accepted; gate fails only on new
release-gateFails if any open finding at/above threshold (default High)
helpPrints the command listing

Full command instructions: skills/nitpicker/commands/, shared conventions in commands/_conventions.md.

Findings store

Open findings live one file each; resolving one appends to an append-only ledger and deletes the file, so audits scale, parallel worktrees never conflict on a counter, and PR review is never buried under resolved-finding files:

docs/audit/findings/
  INDEX.md                      # generated summary — never hand-edited
  resolved.jsonl                # append-only ledger of fixed/invalid findings
  .gitattributes                # marks the store linguist-generated (self-written)
  <auditor>/open/<id>.md        # one open finding per file

IDs are content-hashed (security-1a2b3c4d). The store is managed by the bundled CLI:

python3 skills/nitpicker/scripts/findings.py list --status open
python3 skills/nitpicker/scripts/findings.py resolve <id> --status fixed --notes "…"
python3 skills/nitpicker/scripts/findings.py validate
python3 skills/nitpicker/scripts/findings.py index

Migrating from 1.x

1.x wrote one docs/audit/<skill>-findings.md per skill. Run /nitpicker x-findings-migrator (nitpicker also detects the old files itself and asks before migrating — never mid-PR without your consent), or convert manually:

python3 skills/nitpicker/scripts/findings.py migrate docs/audit/*-findings.md
git rm docs/audit/*-findings.md

Legacy IDs (N-042) stay valid. All 1.x skill invocations (/security-auditor, /test-auditor, …) map to /nitpicker <command> aliases — the ## Commands tables in skills/nitpicker/SKILL.md list every alias next to its command.

MCP server

Installing the plugin registers a stdlib-only stdio MCP server (nitpicker) that exposes skill introspection (np_list_skills, np_read_skill, np_read_command, np_list_commands) and findings management (np_list_findings, np_show_finding, np_findings_index, np_validate_store, np_new_finding, np_resolve_finding). Every tool is prefixed np_ and publishes MCP annotations, so a client can tell the eight read-only tools from np_resolve_finding, the one irreversible call. See the "MCP server" section of skills/nitpicker/SKILL.md for scope and the non-interactive mutate contract.

Development

make check     # validate skill + commands, rules, version sync, findings store, findings index, lint, format, typecheck, tests, pre-commit
make list      # list the skill and its commands
make test      # pytest suite for the tooling

Repo conventions for agents working on this codebase: AGENTS.md (shared), CLAUDE.md (Claude Code), .github/copilot-instructions.md (Copilot).

Versioning is SemVer automated with release-please from Conventional Commits (feat: minor, fix: patch, feat!: major).

Credits

  • /nitpicker plan and /nitpicker execute-plan adapt the brainstorm → plan → gated-execution model from obra/superpowers — the separation of planning from implementation, with explicit human sign-off before code is written. plan hardens the plan with nitpicker's own adversarial audit lenses; execute-plan carries out its executing-plans skill — load-and-review, per-task verification, stop-when-blocked, never-build-on-main, gated finish.
  • /nitpicker teach adapts the stateful teaching-workspace model from mattpocock/skills — mission-grounded learning, spaced retrieval-practice lessons, and learning records as ADRs — rewritten to this repo's command conventions with lessons under docs/lessons/.

Third-party content

This repo redistributes work by other authors: the vendored graphify skill under .claude/skills/graphify/, and command files adapted from obra/superpowers, DietrichGebert/ponytail, and mattpocock/skills. All four are MIT. NOTICE carries each upstream's copyright and permission notice, repository, author, and SPDX identifier; the vendored skill also ships its upstream license at .claude/skills/graphify/LICENSE.

License

MIT © Ismo Vuorinen

Portions of this software are derived from third-party works; see NOTICE.

Rendered live from ivuorinen/skills's GitHub README — not stored, always reflects the source repo.

1 Plugin

NameDescriptionCategorySource
ivuorinen-skillsNitpicker — hostile audit toolkit: /nitpicker <command> dispatches specialist audit commands (adversarial review, security, tests, docs, types, architecture, perf, reliability, caching, concurrency, error handling, leaks, deps, licensing, CI, commits, migrations, observability, API contracts, a11y, i18n, privacy, config, IaC, prompt safety, complexity, dead and unwired code, agent rule and hook enforcement) plus planning, plan execution, teaching, triage and PR review. Bundles a stdio MCP server for skill introspection and findings management../

0 Comments

Login required
Log in to post a comment or update on this repo.

No comments yet — be the first to share an update.