Help us improve
Share bugs, ideas, or general feedback.
From squid
Runs a single task through the SWE→Tester loop with human supervision. SWE implements, Tester verifies, you review the diff and commit. Trigger via /day or when shipping one task under active supervision.
npx claudepluginhub iusztinpaul/squid --plugin squidHow this skill is triggered — by the user, by Claude, or both
Slash command
/squid:dayThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A lean counterpart to [`/night`](../night/SKILL.md). `/day` is the **same inner SWE↔Tester loop** that `/night` runs internally per task — but standalone, with the human in the human's seat for everything around it (no PM grooming, no PM acceptance, no PR Reviewer, no On-Call).
Orchestrates an end-to-end agent team pipeline for a single feature: PM creates task plan, human approves, inner SWE/Tester loop, PM acceptance, push, CI and PR review. Trigger via /night.
Orchestrates task execution with git worktree isolation, TDD implementation, validation loop, and merge for phrases like 'execute task N' or 'implement TASK-NNN'.
Executes one task from the task board using 11-step protocol: orient, baseline, implement, verify, generate proofs, commit changes, update status. Use after cw-plan/cw-dispatch or manually by ID.
Share bugs, ideas, or general feedback.
A lean counterpart to /night. /day is the same inner SWE↔Tester loop that /night runs internally per task — but standalone, with the human in the human's seat for everything around it (no PM grooming, no PM acceptance, no PR Reviewer, no On-Call).
Scope: $ARGUMENTS is either a tracker reference (NNN-slug or #N) or a free-form task description. If empty, ask the human for one before proceeding.
Pipeline: SWE implements → Tester verifies (suite + e2e adversarial pass) → report to human → human reviews & commits. The human plays the PM, PR Reviewer, and On-Call roles in real time by reading the diff and watching CI themselves.
You are the orchestrator — a MANAGER, not an implementer. You do NOT write code, run tests, or review the diff yourself. You launch agents, enforce the Tester gate, and hand the result back to the human.
Critical rules (inherit from docs/PROCESS.md):
/day again or switch to /night.Read docs/PROCESS.md to confirm the active tracker mode (file or gh).
Identify what to work on from $ARGUMENTS:
NNN-slug or NNN (file mode) → locate tracker/NNN-*.{todo,groomed,in-progress}.md. Day mode accepts .todo.md directly — no PM grooming required. If the file is .todo.md or .groomed.md, git mv it to .in-progress.md.#N (gh mode) → gh issue view N --json number,title,body,labels. No grooming step.Surface the resolved task back to the human in one paragraph before launching the SWE, so they can course-correct the framing up front.
Use TaskCreate to show progress:
[SWE] implement {task}[QA] verify {task} — blocked by SWE[Report] hand off to human — blocked by QAOnly three steps, no parallel branches. Keep it inspectable.
Launch ONE SWE on the human's working tree (no worktree isolation):
Agent(
subagent_type="squid:software-engineer",
prompt="Implement task {ID or description}. Read docs/PROCESS.md and CLAUDE.md first. Follow your role definition. Write code AND tests. Run make format-fix && make lint-fix && make unit-tests until clean. DO NOT commit. Append a SWE Report section (or, for ephemeral tasks, include the report in your final message). Hand off to Tester when done."
)
If the SWE reports a hard blocker (ambiguous spec, missing dependency), surface it to the human and pause — do not skip past like /night would.
Agent(
subagent_type="squid:tester",
prompt="QA task {ID or description}. Read docs/PROCESS.md and CLAUDE.md first. The SWE wrote: {summary from SWE report}. Follow your role definition — your headline duty is the e2e adversarial pass. Run make pre-commit && make unit-tests && make integration-tests, then run the e2e adversarial pass (happy path + 2–3 realistic break paths). Verify every acceptance criterion with evidence. Append a QA Report section. Verdict: PASS or FAIL."
)
Spot-check the Tester's report before accepting — same scrutiny rules as /night:
Then:
Agent(
subagent_type="squid:software-engineer",
prompt="QA failed on {task}. Concrete feedback: {failed AC + fixes}. Apply the fixes. Re-run lint + tests. Append a new log entry. DO NOT commit."
)
Re-run Step 4 on the same task.Produce a single markdown block summarising the task:
## Day run complete — {task}
**Files changed** ({N}): `path/to/a.py`, `path/to/b.py`, ...
**Tests run:** {N} unit ({all green / details}); {M} integration ({all green / details}).
**Acceptance criteria:**
- [x] AC1 — evidence: `tests/unit/test_x.py::test_y` (passing).
- [x] AC2 — evidence: ...
Working tree has an uncommitted diff ready for your review.
Next steps: review the diff, then commit (use /commit or your preferred flow).
Do NOT run git commit. Day mode stops here. The human:
/commit, the commit-commands plugin, or direct git).git mvs the .in-progress.md file to tracker/done/ as part of that commit, same as /night.Mark all TaskList items completed once the report is delivered. Do not pick a next task — /day is always single-shot.
/night. Both modes use the same SWE and Tester agents and the same inner loop, but /night chains it inside a longer pipeline (PM groom + acceptance + PR Reviewer + On-Call + hand-off for human squash-merge). /day skips all of that on purpose — the human supervises and plays those roles in real time. The Tester gate stays automated because it's the one check that's genuinely hard for a human to replicate (full suite + every AC + e2e adversarial pass)./day retries until the human says stop. /night's Tester FAIL Max 5 cap doesn't apply because the human is in the loop and can intervene any time./night, PM grooming absorbs that ambiguity; in /day, the human does.commit-commands plugin (if enabled) is the recommended tool for the human's commit step — same as in /night.