← All skills
qa-loop
97 / 100 · Low risk
Fine to try.
By mikeyobrien/pi-tidy-tools (GitHub) · other · 63 stars · scanned at commit b253d15
Run a human-gated QA and repair loop for pi-tidy-tools.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README.
Found in 14 places.
Show 11 more
- .pi/skills/qa-loop/scripts/background-seams.visual.test.py, line 22
result = subprocess.run(["agent-tty", *args], cwd=ROOT, env=env, text=True, capture_output=True, check=True) - .pi/skills/qa-loop/scripts/pi-tui-harness.test.mjs, line 5
import { spawnSync } from "node:child_process"; - .pi/skills/qa-loop/scripts/pi-tui-harness.test.mjs, line 39
const result = spawnSync(harness, args, { cwd: resolve(dirname(harness), "../../../.."), env, encoding: "utf8" }); - .pi/skills/qa-loop/scripts/qa-ledger.mjs, line 4
import { spawnSync } from "node:child_process"; - .pi/skills/qa-loop/scripts/qa-ledger.mjs, line 55
const resolvedCommit = spawnSync("git", ["rev-parse", "--verify", `${ticket.commitSha}^{commit}`], { encoding: "utf8" }); assert(resolvedCommit.status === 0 && - .pi/skills/qa-loop/scripts/qa-ledger.test.mjs, line 6
import { spawnSync } from "node:child_process"; - .pi/skills/qa-loop/scripts/qa-ledger.test.mjs, line 12
const result = spawnSync(process.execPath, [cli, ...args], { encoding: "utf8", cwd }); - .pi/skills/qa-loop/scripts/qa-ledger.test.mjs, line 59
const root = await mkdtemp(join(tmpdir(), "qa-ledger-valid-handoff-")), invoke = (script, args, expected = 0) => { const result = spawnSync(process.execPath, [s - .pi/skills/shared/run-ledger.mjs, line 3
import { spawn } from "node:child_process"; - packages/pi-tidy-subagents/runner.ts, line 1
import { spawn, spawnSync } from "node:child_process"; - packages/pi-tidy-subagents/runner.ts, line 43
const result = spawnSync(exe, ["--mode", "rpc", "--no-session", "--approve"], { timeout: 10_000, stdio: ["ignore", "ignore", "pipe"], env: process.env });
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'qa-loop' ] || [ -L ~/.agents/skills/'qa-loop' ]; then echo 'A skill folder named qa-loop already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/mikeyobrien/pi-tidy-tools' "$d" && git -C "$d" checkout --quiet 'b253d1504091e48e3d60ebab19535bf0d1cec363' -- '.pi/skills/qa-loop' && mkdir -p ~/.agents/skills && cp -R "$d"/'.pi/skills/qa-loop' ~/.agents/skills/'qa-loop' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'qa-loop' ~/.claude/skills/'qa-loop' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for mikeyobrien/pi-tidy-tools shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/mikeyobrien/pi-tidy-tools/)
Score history
| Date | Version | Score |
|---|
| 2026-11-09 | b253d15 | 97 |