pitwallDocs

    Get started

    Check the profile

    /pitwall:doctor

    Compare the profile with the contract and name the section that is missing.

    What it does

    /pitwall:doctor checks the profile, .claude/agent-loop.md, against the contract every command relies on, and names any section that is missing or wrong. It is read-only: fixes go through /pitwall:init or through you.

    Use it when

    • you edited the profile by hand
    • a command stopped and said a section is missing
    • the repo changed tools, for example from npm to pnpm

    Try it

    /pitwall:doctor

    What it checks

    1. The sections. Every required section is there (repo, git, checks, level B, states to build, repo-specific evidence, agents per task, repo rules, permissions, language), the tracker line is valid, and no {{…}} placeholder is left.
    2. What a script cannot see. The install command still matches the lockfile on the base, every check command exists, the base branch exists on the remote, gh is signed in, and the tracker's tools are connected.

    What you’ll see

    A healthy profile:

    ok       repo
    ok       git
    ok       checks
    ok       level B
    …
    optional multi-machine (not set)
    doctor: profile OK (.claude/agent-loop.md)

    A profile with problems, each line explained in the report:

    MISSING  states to build
    BAD      tracker: the section must say `tracker: clickup`, `tracker: github` or `tracker: none`
    UNFILLED 1 line(s) still hold a {{…}} placeholder:
    doctor: 3 problem(s) in .claude/agent-loop.md

    No profile at all: doctor says the repo has not set up pitwall and points to /pitwall:init.

    The playbook the agent followsThe full spec for /pitwall:doctor. This page sums it up; when the two differ, the playbook wins.

    playbook: doctor — is this repo’s profile complete?

    Use for /pitwall:doctor, “check the profile”, and as the last step of init · read-only

    1. bash <pitwall dir>/scripts/doctor.sh from the repo root (another profile path → pass it as the argument)
    2. Exit 3 → “this repo has not set up pitwall yet — run /pitwall:init”, end
    3. Exit 1 → report each MISSING / BAD line with what that section holds (the “Profile contract” table in SKILL.md), end
    4. Exit 0 → also check what the script cannot: the install command’s package manager matches the lockfile on origin/<base> (git ls-tree --name-only origin/<base> — a base that moved from one package manager to another leaves a stale profile; fix it with /pitwall:init redo), every command in checks exists (package.json script / binary on PATH), git → base exists on origin (git ls-remote --heads origin <base>), gh auth status passes, tracker clickup → its tools are connected, tracker github → gh repo view --json hasIssuesEnabled is true and every label the tracker section names exists (gh label list --json name) · report one line per finding, or “profile OK”

    Never edit the profile here — fixes go through init or the user