pitwallCAUTION
The agent loop that queues your work, proves every PR, and leaves the merge to you.
Overview
The agent loop that queues your work, proves every PR, and leaves the merge to you.
cdc6393171beOBSERVED · 2026-10-11Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned | |
| cursor | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: pitwall
description: Single entry point of the agent loop — reads the request (Thai / English), picks a playbook, then does it with evidence. Use when the user runs /pitwall:pitwall or says "ใส่คิว", "ลุย", "ออกรถ", "ทํา 1 งาน", "หยุดหลังจบงานนี้", "หยุดเดี๋ยวนี้", "merge ตัวไหนก่อน", "แก้บั๊ก", "เทสด้วยกัน", "เปิด task", "ผมย้ําอะไรบ่อย", "วางแผน", "สัมภาษณ์ผม", "แบ่ง phase", "ให้ทําเอง", "งานไหน agent ทําได้", "PR ไหนพร้อม" · repo values live in .claude/agent-loop.md
user-invocable: true
---
# pitwall
The skill holds no repo-specific values: everything that belongs to the repo (base, check commands, browser, human-only steps, tracker, plan, recipes for building states) lives in the profile `.claude/agent-loop.md` · no profile → only `init` and `doctor` run; every other request stops with "this repo has not set up pitwall yet — run `/pitwall:init`" · never guess values the profile should hold
**pitwall dir** = `${CLAUDE_SKILL_DIR}` (this skill's folder: `playbooks/`, `principles/`, `scripts/`) · every `playbooks/...`, `principles/...`, `scripts/...` path in this skill and in the playbooks is relative to it, and `<pitwall dir>` in a command means this path
## Rules you cannot skip
In the report, state which rule changed which decision
1. **Prove it against the real thing** — the real page / request / value, not a stand-in · typecheck passing does not mean the UI works
2. **A check the agent can run itself must never be handed to a human** — ⏳ is allowed only for "the 3 wait cases (⏳)" at the top of `playbooks/lap.md` (`1 human-only step while the user is away` · `2 needs the dev env after merge` · `3 environment unusable`), with a specific reason
3. **Ask everything once, up front; never mid-round** — questions that belong to the human are asked with AskUserQuestion as tick boxes, in the profile's user language, recommended option first, marked with the profile's recommended marker; gather every point of the task into a single round (before `/pitwall:drive` = briefing in `playbooks/queue.md`)
4. **Loop work uses the 3-step ladder** (next section) — every task that runs through the `queue` / `drive` / `lap` playbooks (including `/pitwall:lap` typed by the user) · work outside the loop that the user orders directly (edit files as told, answer questions) uses "Direct work" below
5. **Humans merge** — the agent builds, proves, opens the PR · never merge, force-push, or touch branches the profile forbids
6. **Lessons become structure first** — script / lint / test / CI > a step in a playbook > text in rules > memory · writing the same instruction a second time = it should be a check
7. **Record decisions when you make them** — a row in the task's `decisions.tsv` (state folder), not written back at the end
## The 3-step ladder (loop / autopilot)
When you hit a fork during a run that has no answer in state (`answers`):
| Step | Use when | What to do |
|---|---|---|
| 1 Try it | the answer can be seen by running something (what an endpoint returns, shape, behavior, layout, timing) | run / prototype in a throwaway branch, then decide from the result · put the result in the PR · **read-only, or on local / testnet only** — never write data on a shared backend, no transactions, never touch anything on the "Always park" list |
| 2 Default + record | reversible, and there is a default in the rules / playbook (port = follow the source, existing behaviour = keep as is, UI = closest to the existing one) | follow the default · a row in `decisions.tsv` · PR section **Decisions to confirm** (one line each: option taken / other options / where to change it) · continue |
| 3 Park | on the "Always park" list, or no safe default | park as usual (`playbooks/lap.md`) + keep the question to ask as tick boxes next round |
**Classify before parking or asking** (the one definition — `/pitwall:queue` and `/pitwall:lap` point here) · **lists first**: an item on "Always park" / "Never default either" is parked / asked even when it can be run — a prototype only attaches evidence to the question, never answers it · *observable* = a fact a run reveals (what X does: behavior, timing, output, what an endpoint returns), not a choice (which X it should be) → step 1, the prototype result goes with the decision, not a question for the human · *not decidable by experiment* (business rule, backend / third-party value, design with no design file or source, a plan open question) → park in the run / ask in the briefing · a plateau is not a stop: change method before parking (`playbooks/lap.md` §4)
**Always park** (never use a default): money / price / fee · permissions / security / user data · deletes / irreversible · backend / third-party values not yet provided (placeholder only where the plan allows)
**Never default either** ("Never guess about" in "Direct work") if briefing has not answered it → park: business rules (limit, expiry, eligibility), API contract shape, which variant / environment / tenant a feature applies to, new design with no design file or source to compare against · the default "UI closest to the existing one" applies only to UI that has an existing version / source to anchor to
## Direct work (outside the loop)
Work the user gives directly while present: **below 95% sure of the approach → stop and ask before acting** — state what you understood, what you are unsure of, the options, and the one you lean toward and why · ask when unsure which file / pattern to use, when the task reads two ways, before an architectural decision (new file, new state, new pattern), before a refactor, before deleting or rewriting working code
**Never guess about**: business rules (pricing, limits, eligibility) · API contracts (endpoints, payloads, response shapes) · design decisions (layout, spacing, colours) with no design reference · which variant / environment / tenant a feature applies to · whether to create a new file or change an existing one
At 95%: a clear bug with an obvious cause, a pattern that alTrust audit
CAUTIONgrade C · trust 79/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (1)
4. Has `currentTask` → **don't touch the task**, tell the user: "will stop after `<id>` finishes (currently at step `<step>`)" — the current `/pitwall:lap` round works until the PR is opened, then sto
Gates applied: instruction_override, no_behavioural_pass.
cdc6393171befull audit observations/trust-audit/skill/aontwit__pitwall.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | cdc6393171be | CAUTION | C | 79 | first audit |
Questions
What does the pitwall skill do?
The agent loop that queues your work, proves every PR, and leaves the merge to you.
Is pitwall safe to install?
With care. The audit graded it C (79/100) and found 1 thing worth knowing before you trust this skill, listed below with the exact line each was found on.
What can pitwall access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does pitwall work with?
Its documentation mentions claude-code and cursor. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (cdc6393171be), read on 2026-10-11. The repository is watched, and a new audit runs when it changes — this is the first audit.