@brainervirus/workit-claude-code 4.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.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/agents/implementer.md +25 -15
- package/agents/reviewer.md +21 -15
- package/agents/verifier.md +27 -18
- package/assets/templates/plan-template.md +17 -18
- package/assets/templates/spec-template.md +4 -3
- package/dist/workit-hook.js +75 -106
- package/dist/workit.js +62 -30
- package/package.json +3 -3
- package/skills/bdd/SKILL.md +35 -38
- package/skills/continue/SKILL.md +53 -0
- package/skills/debug/SKILL.md +41 -45
- package/skills/deslop/SKILL.md +35 -34
- package/skills/fanout/SKILL.md +62 -0
- package/skills/fanout/references/brief.md +56 -0
- package/skills/implement/SKILL.md +48 -53
- package/skills/review/SKILL.md +42 -60
- package/skills/review/references/impact.md +24 -0
- package/skills/shape/SKILL.md +71 -0
- package/skills/shape/references/diagrams.md +17 -0
- package/skills/shape/references/knowledge.md +58 -0
- package/skills/shape/references/mockups.md +15 -0
- package/skills/shape/references/slicing.md +42 -0
- package/skills/ship/SKILL.md +52 -0
- package/skills/test-audit/SKILL.md +10 -11
- package/skills/verify-app/SKILL.md +63 -0
- package/skills/verify-app/references/template.md +49 -0
- package/assets/templates/execution-contract.md +0 -40
- package/skills/babysit/SKILL.md +0 -46
- package/skills/behavioral-tdd/SKILL.md +0 -65
- package/skills/blast-radius/SKILL.md +0 -35
- package/skills/challenge/SKILL.md +0 -56
- package/skills/diagram/SKILL.md +0 -36
- package/skills/green-run/SKILL.md +0 -33
- package/skills/handoff/SKILL.md +0 -46
- package/skills/mockup/SKILL.md +0 -32
- package/skills/plan/SKILL.md +0 -54
- package/skills/steer/SKILL.md +0 -48
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "workit",
|
|
3
3
|
"displayName": "Workit",
|
|
4
|
-
"version": "
|
|
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)
|
|
5
5
|
|
|
6
6
|
Workit plugin for Claude Code: task context on session start and per turn,
|
|
7
|
-
branch policy on `git` shell commands,
|
|
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
|
package/agents/implementer.md
CHANGED
|
@@ -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
|
|
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),
|
|
12
|
-
hand back)
|
|
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
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
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.
|
package/agents/reviewer.md
CHANGED
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: reviewer
|
|
3
|
-
description: Fresh-context
|
|
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,
|
|
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.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
3.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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:
|
|
23
|
-
|
|
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.
|
package/agents/verifier.md
CHANGED
|
@@ -1,26 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: verifier
|
|
3
|
-
description: Independently verifies a workit candidate (
|
|
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
|
|
9
|
-
change it: you
|
|
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
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
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>
|
|
1
|
+
# <Feature> plan
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Spec: `docs/<slug>/spec.md` · Goal: <one sentence>
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
10
|
+
## Global constraints
|
|
9
11
|
|
|
10
|
-
|
|
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
|
-
###
|
|
19
|
-
|
|
20
|
-
- [ ] **Step 1: <action>**
|
|
16
|
+
### S1 <type>/<slug> (base: main)
|
|
21
17
|
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
|
26
|
-
| --- | --- |
|
|
27
|
-
|
|
|
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
|
-
<!--
|
|
23
|
-
|
|
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
|
-
<!--
|
|
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 │
|