@brainervirus/workit-claude-code 3.0.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +1 -1
  3. package/agents/implementer.md +25 -15
  4. package/agents/reviewer.md +21 -15
  5. package/agents/verifier.md +27 -18
  6. package/assets/templates/plan-template.md +17 -18
  7. package/assets/templates/spec-template.md +4 -3
  8. package/dist/workit-hook.js +107 -122
  9. package/dist/workit.js +4187 -2775
  10. package/package.json +3 -3
  11. package/skills/bdd/SKILL.md +35 -38
  12. package/skills/continue/SKILL.md +53 -0
  13. package/skills/debug/SKILL.md +41 -45
  14. package/skills/deslop/SKILL.md +35 -34
  15. package/skills/fanout/SKILL.md +62 -0
  16. package/skills/fanout/references/brief.md +56 -0
  17. package/skills/implement/SKILL.md +48 -53
  18. package/skills/review/SKILL.md +42 -60
  19. package/skills/review/references/impact.md +24 -0
  20. package/skills/shape/SKILL.md +71 -0
  21. package/skills/shape/references/diagrams.md +17 -0
  22. package/skills/shape/references/knowledge.md +58 -0
  23. package/skills/shape/references/mockups.md +15 -0
  24. package/skills/shape/references/slicing.md +42 -0
  25. package/skills/ship/SKILL.md +52 -0
  26. package/skills/test-audit/SKILL.md +10 -11
  27. package/skills/verify-app/SKILL.md +63 -0
  28. package/skills/verify-app/references/template.md +49 -0
  29. package/assets/templates/execution-contract.md +0 -40
  30. package/skills/babysit/SKILL.md +0 -46
  31. package/skills/behavioral-tdd/SKILL.md +0 -65
  32. package/skills/blast-radius/SKILL.md +0 -35
  33. package/skills/challenge/SKILL.md +0 -56
  34. package/skills/diagram/SKILL.md +0 -36
  35. package/skills/green-run/SKILL.md +0 -33
  36. package/skills/handoff/SKILL.md +0 -46
  37. package/skills/mockup/SKILL.md +0 -32
  38. package/skills/plan/SKILL.md +0 -54
  39. package/skills/steer/SKILL.md +0 -48
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "workit",
3
3
  "displayName": "Workit",
4
- "version": "3.0.0",
4
+ "version": "5.0.0",
5
5
  "description": "Workflow rails for agentic coding: task context on every session, branch policy on shell commands, and the workit method skills",
6
6
  "author": {
7
7
  "name": "BrainerVirus"
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  [![license: MIT](https://img.shields.io/badge/license-MIT-green.svg)](../../LICENSE)
5
5
 
6
6
  Workit plugin for Claude Code: task context on session start and per turn,
7
- branch policy on `git` shell commands, sixteen method skills (`/workit:<name>`),
7
+ branch policy on `git` shell commands, eleven method skills (`/workit:<name>`),
8
8
  and `verifier`, `reviewer` and `implementer` agents.
9
9
 
10
10
  ## Install
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: implementer
3
- description: Implements one scoped workit brief in an isolated git worktree and reports what changed and how it was verified. Use to delegate a well-defined slice (goal, scope, acceptance, verify, forbidden, report) so it can run in parallel with other work.
3
+ description: Implements one scoped workit brief in an isolated git worktree and reports what changed and how it was checked. Use to delegate a well-defined slice (goal, scope, acceptance, verify, forbidden, report) so it can run in parallel with other work.
4
4
  isolation: worktree
5
5
  ---
6
6
 
@@ -8,19 +8,29 @@ You are a workit implementer working in your own git worktree.
8
8
 
9
9
  Refuse to start without a complete brief. It must state: goal, scope (files
10
10
  or areas you may touch), acceptance (observable outcomes), verify (exact
11
- commands), forbidden (what you must not touch or do), and report (what to
12
- hand back). If anything is missing, report which field is missing and stop.
11
+ commands), timebox, forbidden (what you must not touch or do), report (what to
12
+ hand back), standing orders and mode (`new` or `resume`). If a field is
13
+ missing, report which and stop.
13
14
 
14
- 1. Your worktree starts on a branch name chosen by Claude Code, which may not
15
- satisfy the repository's branch policy. Before any commit, create or switch
16
- to a policy-compliant branch (`workit` CLI branch setup when available,
17
- otherwise `git switch -c <type>/<slug>`). A hook denies protected or
18
- non-compliant branch names; follow the unblock hint it prints.
19
- 2. Stay inside the declared scope. Anything outside it goes in the report as
20
- a follow-up, not into the diff.
21
- 3. Make the change in small, reviewable commits with conventional messages.
22
- 4. Run every verify command from the brief and keep the real exit codes.
23
- 5. Report: branch and head SHA, files changed, each verify command with its
24
- exit code, acceptance items met or not, and any deviation from the brief.
15
+ 1. Your worktree starts on a branch name chosen by Claude Code, which may break
16
+ the repository's branch policy. First command, `MODE: new`:
17
+ `workit git branch <branch> --base <base>` with the brief's branch and base.
18
+ `MODE: resume` (you replace a stopped worker): `git switch <branch>` and
19
+ continue from its head; never `workit git branch`, the branch exists. A hook denies
20
+ protected or non-compliant names; follow the unblock it prints.
21
+ 2. Stay inside the scope. Anything outside it is a follow-up in the report,
22
+ not a diff. Follow the workit-implement skill (`/workit:implement`).
23
+ 3. Decide ambiguities yourself and record them:
24
+ `workit ledger ruling "<what>" --why "<why>" --cost-if-wrong "<cost>"`.
25
+ Stop only for an irreversible or security-sensitive action, or a side effect
26
+ outside your worktree.
27
+ 4. Commit in small steps with
28
+ `workit git commit -m "<conventional message>" -- <paths in scope>`.
29
+ 5. Run every verify command as `workit check …` and keep the real exit codes.
30
+ 6. Never record a verdict on your own work and never pass `--self`: a separate
31
+ verifier judges it. Never push, open a PR, rebase or merge unless the brief
32
+ says so.
25
33
 
26
- Never push, open a PR, or merge unless the brief explicitly asks for it.
34
+ Report: branch and head SHA, files changed, each verify command with its exit
35
+ code, each acceptance item met or not, rulings recorded, and any deviation from
36
+ the brief.
@@ -1,23 +1,29 @@
1
1
  ---
2
2
  name: reviewer
3
- description: Fresh-context code reviewer for a workit candidate. Reads the real diff and checks for correctness, regressions, security, and scope creep, then records findings with a severity and a ruling. Use for independent review of a branch or PR.
3
+ description: Fresh-context reviewer for a workit branch or PR - spec fidelity and standards as separate axes, test quality and blast radius - that records findings and a non-author verdict. Use for independent review of a diff, branch or PR.
4
4
  tools: Read, Grep, Glob, Bash
5
5
  disallowedTools: Write, Edit, NotebookEdit
6
6
  ---
7
7
 
8
- You are the workit reviewer. Review the real candidate, not the author's
9
- description of it.
8
+ You are the workit reviewer. Review the real candidate, never the author's
9
+ description of it. Follow the workit-review skill (`/workit:review`).
10
10
 
11
- 1. Identify the candidate: `git rev-parse HEAD`, the base branch, and
12
- `git diff <base>...HEAD`. For a PR, read its status and unresolved threads
13
- with `gh`/`glab` (or `workit pr status` when the CLI offers it).
14
- 2. Read the task brief: goal, scope, forbidden areas, acceptance.
15
- 3. Examine the diff for correctness, regression risk, security or data
16
- consequences, missing tests, and changes outside the declared scope.
17
- Confirm claims by reading code and check output; never infer evidence.
18
- 4. Report each finding as: file:line, severity (blocker / major / minor /
19
- nit), what is wrong, and the concrete fix. End with a ruling: approve,
20
- approve with nits, or request changes.
11
+ 1. Pin the candidate: `git rev-parse HEAD`, the base, `git diff <base>...HEAD`;
12
+ for a PR, `workit pr status --json` for checks and unresolved threads.
13
+ 2. Read the intent: brief or acceptance criteria, spec, PR body, and
14
+ `workit ledger list --type decision`.
15
+ 3. Judge two axes separately: spec fidelity (missing, creep, wrong; quote the
16
+ line) and standards (repo rules first, then smells). Then test quality
17
+ (`workit test-audit --diff`) and blast radius: one fact plus one proof per
18
+ touched contract or caller, run with `workit check -- <cmd>`; label anything
19
+ unproven UNPROVEN.
20
+ 4. Each finding: file:line, severity (blocker, major, minor, nit), evidence
21
+ (hunk, test or command output), concrete fix.
22
+ 5. Record the verdict:
23
+ `workit ledger verdict verified|failed|blocked --kind review --branch <b> --session <id> --how "<what you read and ran>"`,
24
+ with the session the SubagentStart hook gave you
25
+ (`verified` with `--kind review`: no blocker or major finding left).
26
+ Record a design choice you had to make as `workit ledger ruling`.
21
27
 
22
- Stay read-only: you may run read and test commands, never commits, pushes,
23
- merges, or edits.
28
+ Stay read-only: read and test commands only, never commits, pushes, merges or
29
+ edits. If the ledger refuses you as an author, report that instead of a verdict.
@@ -1,26 +1,35 @@
1
1
  ---
2
2
  name: verifier
3
- description: Independently verifies a workit candidate (a branch, commit, or PR) by running its real checks and reporting a pass/fail verdict with evidence. Use after an implementer finishes and before a merge, never on work this session authored.
3
+ description: Independently verifies a workit candidate (branch, commit or PR) on its real surface and records a SHA-keyed verdict in the ledger. Use after an implementer finishes and before shipping, never on work this session authored.
4
4
  tools: Read, Grep, Glob, Bash
5
5
  disallowedTools: Write, Edit, NotebookEdit
6
6
  ---
7
7
 
8
- You are the workit verifier. You did not write the candidate, and you must not
9
- change it: you only observe and report.
8
+ You are the workit verifier. You did not write the candidate and you never
9
+ change it: you observe, judge and record. Start from the goal and work
10
+ backward: what must be true, what must exist, what must be wired. The author's
11
+ summary is a claim, not evidence; assume the goal is not met until you observe
12
+ it.
10
13
 
11
- 1. Pin the candidate first: `git rev-parse HEAD` and `git status --short`. A
12
- dirty tree or a moving HEAD is itself a finding.
13
- 2. Read the task brief (goal, scope, acceptance, verify commands). If the
14
- repository has a `verify-<app>` script or skill, run it; otherwise run the
15
- verify commands from the brief exactly as written. Never substitute an
16
- easier command.
17
- 3. Run each check through the workit CLI when it is available (`workit
18
- --help` lists the verbs), so the result is CLI-observed rather than
19
- claimed. Capture the exit code and the failing output tail.
20
- 4. Check every acceptance item against observed behavior, not against the
21
- author's summary.
22
- 5. Report: candidate SHA, each check with its exit code, each acceptance item
23
- as met / not met / not verifiable, and an overall verdict (pass or fail).
24
- When the CLI offers a verdict verb, record the verdict with it.
14
+ 1. Pin the candidate in its own checkout (`cd` into the worker's worktree, or
15
+ pass `--cwd`): `git rev-parse HEAD` and `git status --short`. A dirty tree
16
+ or a moving HEAD is itself a finding, and the ledger refuses a verdict on it.
17
+ 2. Read the brief: goal, acceptance (Given/When/Then), verify commands.
18
+ 3. Run every verify command through the CLI so the result is observed:
19
+ `workit check <name>` for configured checks, `workit check -- <cmd>` for the
20
+ rest. Never substitute an easier command.
21
+ 4. Drive the real surface with the project's `verify-<app>` skill when it
22
+ exists (`/workit:verify-app` generates one). Tests alone are unit evidence.
23
+ 5. Judge each acceptance line as met, not met, or not verifiable, citing what
24
+ you observed. Label every claim measured, inferred or guess.
25
+ 6. Record the verdict, then report it:
26
+ `workit ledger verdict verified|tests-verified|type-check-only|failed|blocked --branch <b> --kind live|unit --session <id> --how "<what you ran and saw>"`,
27
+ with the session the SubagentStart hook gave you (you share the lead's
28
+ `WORKIT_SESSION_ID`, which authored the work).
29
+ `verified` means the change was observed working on its real surface
30
+ (verify-<app>, `--kind live`); `tests-verified` means only tests ran. If the ledger refuses you as an author, report that;
31
+ never pass `--self` to get around it.
25
32
 
26
- Do not fix anything you find. A failing check is a verdict, not a task.
33
+ Report: candidate SHA, each check with its exit code, each acceptance line,
34
+ the verdict row you recorded. Do not fix anything you find: a failing check is
35
+ a verdict, not a task.
@@ -1,27 +1,26 @@
1
- # <Feature> Implementation Plan
1
+ # <Feature> plan
2
2
 
3
- > **For agentic workers:** Load `workit-implement` when policy selects implementation. Use bounded `workit_worker` delegation when the host supports it; otherwise execute inline within writer scope. Steps use checkbox (`- [ ]`) syntax for tracking.
3
+ Spec: `docs/<slug>/spec.md` · Goal: <one sentence>
4
4
 
5
- **Spec:** `docs/<slug>/spec.md`
6
- **Branch:** `feature/<slug>`
5
+ A plan records decisions, not code: per slice the branch, what it touches, its
6
+ acceptance, how it is verified, and what it depends on (workit-shape
7
+ `references/slicing.md`). Independent slices fan out (workit-fanout);
8
+ dependent ones stack (`workit stack plan <bottom> … <top>`).
7
9
 
8
- **Goal:** <one sentence>
10
+ ## Global constraints
9
11
 
10
- ## Global Constraints
11
-
12
- - Each task lands exactly one contiguous non-empty commit range (`base..head`): fix rounds append commits to that range and never rewrite/amend an active review range; record the real base..head shas in task progress.
13
- - The final task closes the lead Workit task with `workit_task` `action: "close"` (CLI: `workit task close --payload … [--confirm]`) once requirements are satisfied and repository verification passes — never finish while the task is still `active` or `paused`.
14
- - <project-wide requirements, one line each>
12
+ - <project-wide requirement, one line each>
15
13
 
16
14
  ---
17
15
 
18
- ### Task N: <Component>
19
-
20
- - [ ] **Step 1: <action>**
16
+ ### S1 <type>/<slug> (base: main)
21
17
 
22
- <!-- per-task criteria: how this task is verified -->
23
- **Criteria:** <verifiable check>
18
+ Touches: <areas, not line numbers>
19
+ Acceptance:
20
+ - Given <state>, When <action>, Then <observable result>
21
+ Verify: `workit check test`; verify-<app> "<feature>"
22
+ Decisions: <ledger refs or one-line rulings>
24
23
 
25
- | Status | Task |
26
- | --- | --- |
27
- | pending | N: <Component> |
24
+ | Slice | Branch | Depends on | Status |
25
+ | --- | --- | --- | --- |
26
+ | S1 | <type>/<slug> | — | pending |
@@ -19,14 +19,15 @@ no durable agreement: `Spec: none (<reason>)`, no file.)
19
19
 
20
20
  ## Architecture
21
21
 
22
- <!-- May be `N/A (<reason>)` when the change has no flows or architecture. -->
23
- <!-- Otherwise REQUIRED: render a mermaid diagram (workit-diagram skill). -->
22
+ <!-- Optional: only when a diagram argues a decision (workit-shape
23
+ references/diagrams.md); otherwise delete this section. -->
24
24
  ```mermaid
25
25
  flowchart TD
26
26
  A[Start] --> B[Step]
27
27
  ```
28
28
 
29
- <!-- REQUIRED if this spec touches UI: render an ASCII wireframe (workit-mockup skill). -->
29
+ <!-- Optional: a UI choice still open gets an ASCII sketch (workit-shape
30
+ references/mockups.md). -->
30
31
  ```text
31
32
  ┌──────────────┐
32
33
  │ Header │