task-pipeline-skill 0.9.0 → 0.12.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/CHANGELOG.md +106 -0
- package/LICENSE +38 -0
- package/README.md +111 -46
- package/cursor/rules/task-pipeline.mdc +49 -7
- package/package.json +2 -3
- package/plugins/task-pipeline/.claude-plugin/plugin.json +2 -2
- package/plugins/task-pipeline/commands/task-pipeline.md +13 -7
- package/plugins/task-pipeline/skills/task-pipeline/SKILL.md +76 -41
- package/plugins/task-pipeline/skills/task-pipeline/pipeline.example.json +52 -25
- package/plugins/task-pipeline/skills/task-pipeline/pipeline.schema.json +1 -1
- package/plugins/task-pipeline/skills/task-pipeline/references/artifacts.md +7 -3
- package/plugins/task-pipeline/skills/task-pipeline/references/companion-skills.md +26 -6
- package/plugins/task-pipeline/skills/task-pipeline/references/grill.md +131 -0
- package/plugins/task-pipeline/skills/task-pipeline/references/model-tiering.md +55 -22
- package/plugins/task-pipeline/skills/task-pipeline/references/stages.md +41 -30
- package/{templates → plugins/task-pipeline/skills/task-pipeline/templates}/README.md +6 -0
- package/plugins/task-pipeline/skills/task-pipeline/templates/adr.md +64 -0
- package/plugins/task-pipeline/skills/task-pipeline/templates/brief.md +59 -0
- package/plugins/task-pipeline/skills/task-pipeline/templates/context.md +87 -0
- package/templates/brief.md +0 -35
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,111 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.12.0 — 2026-07-27
|
|
4
|
+
|
|
5
|
+
The grill stops being someone else's skill. It is ported in, in full, and gains
|
|
6
|
+
the domain-awareness half it was missing.
|
|
7
|
+
|
|
8
|
+
- **The intake grill is now BUILT IN — zero external dependency.** New
|
|
9
|
+
`references/grill.md` carries the whole doctrine: the interview loop, domain
|
|
10
|
+
awareness, the autonomy sweep and the output contract. No companion skill to
|
|
11
|
+
install, no provider to resolve, no fallback path, no version skew with someone
|
|
12
|
+
else's repo. `grill-me` / `grilling` are gone from the companion matrix,
|
|
13
|
+
the preflight block and every channel's docs.
|
|
14
|
+
- **Ported from [mattpocock/skills](https://github.com/mattpocock/skills)** — the
|
|
15
|
+
`grilling` / `grill-with-docs` interview loop and its domain discipline, MIT,
|
|
16
|
+
adapted to this pipeline's flow. `LICENSE` gains a *Third-party* section with
|
|
17
|
+
Matt Pocock's copyright notice covering the three affected files.
|
|
18
|
+
- **New: domain awareness during the grill.** The grill now reads the project's
|
|
19
|
+
own `CONTEXT.md` / `CONTEXT-MAP.md` / `docs/adr/` and holds the operator to
|
|
20
|
+
them — challenging terms that conflict with the glossary, sharpening vague or
|
|
21
|
+
overloaded words into canonical ones, stress-testing relationships with concrete
|
|
22
|
+
edge-case scenarios, and surfacing contradictions between the code and what was
|
|
23
|
+
just said. Resolved terms are written to `CONTEXT.md` inline as they land, never
|
|
24
|
+
batched.
|
|
25
|
+
- **New: ADR discipline.** An ADR is offered only when a decision is hard to
|
|
26
|
+
reverse **and** surprising without context **and** the result of a real
|
|
27
|
+
trade-off; any one missing, skip it. Files are created lazily, numbered
|
|
28
|
+
sequentially in `docs/adr/`.
|
|
29
|
+
- **New templates** `templates/context.md` and `templates/adr.md` — the formats
|
|
30
|
+
those two artifacts follow, shipped on every install channel alongside
|
|
31
|
+
`brief.md`. `references/artifacts.md` now maps `CONTEXT.md` and `docs/adr/` into
|
|
32
|
+
the canonical layout.
|
|
33
|
+
- **Validator:** requires `references/grill.md` and all three templates; the
|
|
34
|
+
broken-relative-link check now strips fenced code blocks first, so illustrative
|
|
35
|
+
paths inside examples stop being false failures (verified it still catches real
|
|
36
|
+
broken links outside fences).
|
|
37
|
+
|
|
38
|
+
## v0.11.0 — 2026-07-27
|
|
39
|
+
|
|
40
|
+
The intake grill becomes mandatory, autonomy becomes something the grill actively
|
|
41
|
+
buys, and the model stops being a hardcoded per-stage tier list.
|
|
42
|
+
|
|
43
|
+
- **Stage 0 is now MANDATORY — the stage, not a particular skill.** No "clear
|
|
44
|
+
enough task" exemption, no starting stage 1 without a committed,
|
|
45
|
+
operator-confirmed brief (the entry-from-super-ux short-circuit remains the one
|
|
46
|
+
sanctioned bypass, and still demands a scope confirmation). The **provider** is
|
|
47
|
+
what's swappable: `grill-me`/`grilling` when that chain resolves, otherwise the
|
|
48
|
+
orchestrator's own grill loop — both implement the same **grill contract**, and
|
|
49
|
+
the loop is explicitly no longer described as a "fallback".
|
|
50
|
+
- **Grill-provider reality documented.** `grill-me` typically ships
|
|
51
|
+
`disable-model-invocation: true` (so the orchestrator can't call it — the
|
|
52
|
+
operator runs `/grill-me`) and is usually a thin wrapper delegating to
|
|
53
|
+
`/grilling`; if that delegate doesn't resolve the chain is dangling and the
|
|
54
|
+
built-in loop runs. The install line was also wrong — corrected to
|
|
55
|
+
`/plugin marketplace add alirezarezvani/claude-skills` →
|
|
56
|
+
`/plugin install engineering-advanced-skills@claude-code-skills`, with
|
|
57
|
+
`npx skills add mattpocock/skills` noted as the upstream origin.
|
|
58
|
+
- **New: the autonomy sweep.** The grill no longer only resolves the *task*; a
|
|
59
|
+
mandatory pass walks stages 1→9 and pre-resolves everything that would otherwise
|
|
60
|
+
interrupt the run — docs sources, branch/tracker policy, the test command and
|
|
61
|
+
what "green" means, the lint command, deploy target + release toggle + deploy
|
|
62
|
+
authorization, log/health locations, docs and wiki targets, the model. Each row
|
|
63
|
+
gets an answer or an explicit "stop and ask here"; an unasked question is a
|
|
64
|
+
scheduled interruption. Stages 5–9 read the brief instead of asking.
|
|
65
|
+
`templates/brief.md` gains the matching `## Autonomy` table.
|
|
66
|
+
- **Deploy authorization has a hard floor.** The brief can carry a standing
|
|
67
|
+
authorization for the manual stage-7 gate **only if it is specific** (named
|
|
68
|
+
target + named preconditions). A vague "just do everything" does not authorize an
|
|
69
|
+
outward, irreversible action.
|
|
70
|
+
- **Model policy replaces model tiering.** One model for the whole run, confirmed
|
|
71
|
+
**once at preflight** instead of a reminder at every stage boundary. Default
|
|
72
|
+
recommendation: *the most capable reasoning model the environment offers* — a
|
|
73
|
+
**tier, not a string**. Vendor ids are gone from everything shipped: they go
|
|
74
|
+
stale as generations ship and the operator may be on another provider entirely.
|
|
75
|
+
Stage configs use provider-agnostic tokens (`default` / `inherit`), resolved at
|
|
76
|
+
runtime; stage-5 subagents are pinned to the confirmed model; an unavailable tier
|
|
77
|
+
degrades honestly instead of blocking.
|
|
78
|
+
- **Validator gains four enforced invariants** (each with a CI negative self-test
|
|
79
|
+
proving it can fail): no hardcoded vendor model id anywhere shipped (skill,
|
|
80
|
+
references, cursor rule, command, README); stage `model` must be a
|
|
81
|
+
provider-agnostic token; the intake-grill gate must stay `manual` and declare
|
|
82
|
+
itself mandatory; `templates/brief.md` must keep its autonomy sweep.
|
|
83
|
+
- Docs realigned across every channel — SKILL.md, `references/stages.md`,
|
|
84
|
+
`references/model-tiering.md`, `references/companion-skills.md`,
|
|
85
|
+
`pipeline.schema.json`, `pipeline.example.json`, the `/task-pipeline` command,
|
|
86
|
+
the Cursor rule, and the README in both languages.
|
|
87
|
+
|
|
88
|
+
## v0.10.0 — 2026-07-25
|
|
89
|
+
|
|
90
|
+
Review pass — doc drift and a distribution defect found by an adversarial audit.
|
|
91
|
+
|
|
92
|
+
- **FIX: the stage-0 brief template never reached 3 of 4 install channels.**
|
|
93
|
+
`templates/brief.md` sat at the repo root, outside the plugin source, so the
|
|
94
|
+
skills CLI / npx / install.sh installs had no such file while `stages.md` told
|
|
95
|
+
the agent to seed from it. Moved to
|
|
96
|
+
`plugins/task-pipeline/skills/task-pipeline/templates/brief.md` — inside the
|
|
97
|
+
skill dir, so every channel ships it.
|
|
98
|
+
- **FIX: stale super-ux chain in `pipeline.example.json`.** Stage 3 still listed
|
|
99
|
+
only `ux-foundation` + `ux-scenarios`; it now runs the current chain
|
|
100
|
+
(`/ux` → `ux-foundation` → **`ux-flows`** → `ux-scenarios` → **`/ux-lint`**),
|
|
101
|
+
matching SKILL.md and `stages.md`. Stage-4 gate now also names `SCR-` screens.
|
|
102
|
+
- **FIX: README documented the old chain** in both languages, and recommended the
|
|
103
|
+
skills CLI for Claude Code (which shadows the plugin). Both corrected; multiple
|
|
104
|
+
agents now shown as repeated `--agent` flags.
|
|
105
|
+
- Description now opens with "Use when …" per canon. `ux-contract` stamp updated
|
|
106
|
+
v2 → v4. Model tiering moved to the current Opus generation (`claude-opus-5`).
|
|
107
|
+
- README gains npm / CI / license badges.
|
|
108
|
+
|
|
3
109
|
## v0.9.0 — 2026-07-23
|
|
4
110
|
|
|
5
111
|
Full structural parity with the sibling `super-ux` per the ssheleg skill canon
|
package/LICENSE
CHANGED
|
@@ -19,3 +19,41 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
================================================================================
|
|
25
|
+
Third-party
|
|
26
|
+
================================================================================
|
|
27
|
+
|
|
28
|
+
The built-in intake grill (stage 0) is adapted from the `grilling` /
|
|
29
|
+
`grill-with-docs` skills in https://github.com/mattpocock/skills — specifically
|
|
30
|
+
its interview loop and its domain-awareness discipline (glossary challenges,
|
|
31
|
+
CONTEXT.md, ADR criteria). Affected files:
|
|
32
|
+
|
|
33
|
+
plugins/task-pipeline/skills/task-pipeline/references/grill.md
|
|
34
|
+
plugins/task-pipeline/skills/task-pipeline/templates/context.md
|
|
35
|
+
plugins/task-pipeline/skills/task-pipeline/templates/adr.md
|
|
36
|
+
|
|
37
|
+
Those portions are used under the following license:
|
|
38
|
+
|
|
39
|
+
MIT License
|
|
40
|
+
|
|
41
|
+
Copyright (c) 2026 Matt Pocock
|
|
42
|
+
|
|
43
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
44
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
45
|
+
in the Software without restriction, including without limitation the rights
|
|
46
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
47
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
48
|
+
furnished to do so, subject to the following conditions:
|
|
49
|
+
|
|
50
|
+
The above copyright notice and this permission notice shall be included in all
|
|
51
|
+
copies or substantial portions of the Software.
|
|
52
|
+
|
|
53
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
54
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
55
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
56
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
57
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
58
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
59
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# task-pipeline
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/task-pipeline-skill)
|
|
4
|
+
[](https://github.com/ssheleg/task-pipeline/actions/workflows/validate.yml)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
3
7
|
Full-cycle task delivery pipeline orchestrator for **Claude Code**. One skill that
|
|
4
8
|
runs any substantial task through an up-front **intake grill** + **9 gated stages** —
|
|
5
9
|
built on the [superpowers](https://github.com/obra/superpowers) skills.
|
|
@@ -9,24 +13,24 @@ built on the [superpowers](https://github.com/obra/superpowers) skills.
|
|
|
9
13
|
`intake grill → docs study → brainstorm → spec → plan → subagent build → tests →
|
|
10
14
|
lint/deploy → post-deploy log check → docs/wiki sync`
|
|
11
15
|
|
|
12
|
-
It **grills you first**: a one-line task ("make me
|
|
13
|
-
question at a time, into a locked brief
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
**manual** (waits for your go).
|
|
17
|
-
|
|
18
|
-
| # | Stage |
|
|
19
|
-
|
|
20
|
-
| 0 | Intake grill
|
|
21
|
-
| 1 | Docs study |
|
|
22
|
-
| 2 | Brainstorm |
|
|
23
|
-
| 3 | Spec |
|
|
24
|
-
| 4 | Plan |
|
|
25
|
-
| 5 | Dev |
|
|
26
|
-
| 6 | Tests |
|
|
27
|
-
| 7 | Lint + deploy |
|
|
28
|
-
| 8 | Post-deploy |
|
|
29
|
-
| 9 | Docs + wiki |
|
|
16
|
+
It **grills you first, always**: stage 0 is mandatory — a one-line task ("make me
|
|
17
|
+
feature X") is expanded, one question at a time, into a locked brief, and the grill
|
|
18
|
+
also sweeps stages 1→9 for anything that would stop the run later. Each stage gates
|
|
19
|
+
the next. Every gate is typed — **auto** (the orchestrator verifies it, pass/fail)
|
|
20
|
+
or **manual** (waits for your go). One model, confirmed before the run starts.
|
|
21
|
+
|
|
22
|
+
| # | Stage | Gate | Type |
|
|
23
|
+
|---|---|---|---|
|
|
24
|
+
| 0 | Intake grill — **mandatory** | shared understanding + autonomy sweep; brief locked | manual |
|
|
25
|
+
| 1 | Docs study | contracts grounded on current docs | auto |
|
|
26
|
+
| 2 | Brainstorm | design approved; UI verdict recorded | manual |
|
|
27
|
+
| 3 | Spec | committed + reviewed; UI: super-ux chain validated, linter green | manual |
|
|
28
|
+
| 4 | Plan | parallel-ready, DoD per task | auto |
|
|
29
|
+
| 5 | Dev | tasks DONE, TDD green per task | auto |
|
|
30
|
+
| 6 | Tests | full suite green, new code covered | auto |
|
|
31
|
+
| 7 | Lint + deploy | lint clean + suite green before deploy | manual |
|
|
32
|
+
| 8 | Post-deploy | clean boot / honest degradation | auto |
|
|
33
|
+
| 9 | Docs + wiki | docs + wiki synced | auto |
|
|
30
34
|
|
|
31
35
|
These stages (0 intake + 1→9) are the plugin's **example** flow. It's a machine-readable config
|
|
32
36
|
([`pipeline.example.json`](plugins/task-pipeline/skills/task-pipeline/pipeline.example.json))
|
|
@@ -36,15 +40,37 @@ a host project copies the example to `pipeline.json` and rewrites it with its ow
|
|
|
36
40
|
stages (any count), its own `skills[]`, and its own `auto`/`manual` gate types —
|
|
37
41
|
"bring your own skills". The framework bakes in no fixed stages.
|
|
38
42
|
|
|
39
|
-
## Intake grill (stage 0)
|
|
43
|
+
## Intake grill (stage 0) — mandatory
|
|
40
44
|
|
|
41
45
|
Inspired by [Matt Pocock's grill-me](https://github.com/mattpocock/skills). Before
|
|
42
46
|
any technical work, task-pipeline interviews you relentlessly — one question per
|
|
43
47
|
turn, each with a recommended answer, exploring the codebase before asking — until
|
|
44
|
-
every decision branch is resolved and locked into a **task brief**.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
every decision branch is resolved and locked into a **task brief**. There is no
|
|
49
|
+
"clear enough task" exemption: no stage-1 work starts without a committed,
|
|
50
|
+
confirmed brief.
|
|
51
|
+
|
|
52
|
+
**Built in — nothing to install.** The full doctrine ships inside the skill
|
|
53
|
+
([`references/grill.md`](plugins/task-pipeline/skills/task-pipeline/references/grill.md)):
|
|
54
|
+
no companion skill, no resolution step, no fallback path, no version skew. Adapted
|
|
55
|
+
from [Matt Pocock's grill-with-docs](https://github.com/mattpocock/skills) (MIT —
|
|
56
|
+
see [LICENSE](LICENSE) → *Third-party*).
|
|
57
|
+
|
|
58
|
+
**Domain awareness.** While exploring, the grill reads the project's own
|
|
59
|
+
`CONTEXT.md` / `docs/adr/` and holds you to them — calling out terms that conflict
|
|
60
|
+
with the glossary, replacing overloaded words with a canonical one, stress-testing
|
|
61
|
+
relationships against concrete edge cases, and surfacing where the code contradicts
|
|
62
|
+
what you just said. Resolved terms are written into `CONTEXT.md` as they land;
|
|
63
|
+
decisions that are hard to reverse, surprising without context **and** the result of
|
|
64
|
+
a real trade-off get an ADR. Both files are created lazily.
|
|
65
|
+
|
|
66
|
+
**Autonomy comes from the sweep.** Beyond the task itself, the grill pre-resolves
|
|
67
|
+
everything that would otherwise interrupt stages 1→9: which external libs need docs,
|
|
68
|
+
branch and task-tracker policy, the test command and what "green" means, the lint
|
|
69
|
+
command, the deploy target and its **authorization**, where logs and health live,
|
|
70
|
+
which docs and runbooks to update, and the model. Each gets an answer or an explicit
|
|
71
|
+
"stop and ask me here" — an unasked question is a scheduled interruption. Deploy
|
|
72
|
+
authorization has a hard floor: a standing go counts only if it names the target and
|
|
73
|
+
the preconditions.
|
|
48
74
|
|
|
49
75
|
## UX track (user-facing tasks) — super-ux recommended
|
|
50
76
|
|
|
@@ -54,7 +80,8 @@ is the **recommended** workflow, detected early in the stage-0 grill. If it's
|
|
|
54
80
|
installed, task-pipeline uses it; if not, it gives you the install line on the spot.
|
|
55
81
|
The spec stage runs it **before any plan is written**: `/ux` (setup check) →
|
|
56
82
|
`ux-foundation` (personas, JTBD, **customer journey maps**, user stories) →
|
|
57
|
-
`ux-
|
|
83
|
+
`ux-flows` (user flows + `screens.md` UI map, Figma frames) → `ux-scenarios`
|
|
84
|
+
(usage scenarios validated against the base, ux-contract v4) → `/ux-lint` (must pass). The
|
|
58
85
|
spec then embeds the UX layer — scenario IDs, CJM stages served, applicable UX
|
|
59
86
|
patterns — and the plan's UI tasks carry scenario IDs in their DoD. Scenarios come
|
|
60
87
|
before interface.
|
|
@@ -83,10 +110,13 @@ before interface.
|
|
|
83
110
|
/plugin install task-pipeline@task-pipeline
|
|
84
111
|
```
|
|
85
112
|
|
|
86
|
-
**Any agent via the skills CLI (
|
|
113
|
+
**Any agent via the skills CLI (Cursor, Codex, OpenCode, 70+ — not Claude Code,
|
|
114
|
+
use the plugin above):**
|
|
87
115
|
```
|
|
88
|
-
npx skills add ssheleg/task-pipeline
|
|
116
|
+
npx skills add ssheleg/task-pipeline --agent cursor --agent codex --global
|
|
89
117
|
```
|
|
118
|
+
(one repeated `--agent` per agent; never include `claude-code` while the plugin is
|
|
119
|
+
installed — the plain copy shadows it)
|
|
90
120
|
|
|
91
121
|
**npm installer (no clone needed):**
|
|
92
122
|
```
|
|
@@ -123,7 +153,7 @@ on the same Claude Code install yields a duplicate skill).
|
|
|
123
153
|
| Agent / channel | Update |
|
|
124
154
|
|---|---|
|
|
125
155
|
| Claude Code (plugin) | `claude plugin marketplace update task-pipeline` → `claude plugin update task-pipeline@task-pipeline` → restart |
|
|
126
|
-
| Any agent (skills CLI) | `npx skills
|
|
156
|
+
| Any agent (skills CLI) | `npx skills update task-pipeline --global --yes`; to add: repeated `--agent <name>` (never `claude-code` when the plugin is installed) |
|
|
127
157
|
| Cursor | skills CLI (above) with `--agent cursor`, or re-copy the `.mdc` per project |
|
|
128
158
|
| npm | `npx task-pipeline-skill@latest` / `npx github:ssheleg/task-pipeline` (ephemeral — always latest) |
|
|
129
159
|
| Plain skill | `git pull && ./install.sh --force` |
|
|
@@ -133,11 +163,20 @@ on the same Claude Code install yields a duplicate skill).
|
|
|
133
163
|
Say *"run this through the pipeline"* / *"полный цикл"* / *"прогони по конвейеру"*,
|
|
134
164
|
or `/task-pipeline`. The skill creates a per-stage TaskList and walks the gates.
|
|
135
165
|
|
|
136
|
-
## Model
|
|
166
|
+
## Model policy
|
|
167
|
+
|
|
168
|
+
**One model, confirmed once, at preflight.** The default recommendation is *the most
|
|
169
|
+
capable reasoning model the environment offers* — currently the latest Opus
|
|
170
|
+
generation, but that's a **tier, not a string**. Model ids go stale as generations
|
|
171
|
+
ship, and you may be on another provider entirely, so nothing is hardcoded: the
|
|
172
|
+
pipeline resolves the top tier available at runtime and stage configs use
|
|
173
|
+
provider-agnostic tokens (`default` / `inherit`).
|
|
137
174
|
|
|
138
|
-
|
|
139
|
-
can't switch the main-loop model; `/model` is
|
|
140
|
-
pinned to
|
|
175
|
+
You confirm or override it (per-stage overrides welcome) before stage 0 — then it
|
|
176
|
+
**stops asking**. A skill can't switch the main-loop model; `/model` is yours.
|
|
177
|
+
Stage-5 subagents are pinned to the confirmed model automatically. If the
|
|
178
|
+
recommended tier isn't available, the pipeline says which one it's using and
|
|
179
|
+
continues — a reminder, never a block.
|
|
141
180
|
|
|
142
181
|
## Release automation (project-configurable, toggleable)
|
|
143
182
|
|
|
@@ -155,9 +194,11 @@ clean checkout. Copy and adapt it per project; nothing is hardcoded.
|
|
|
155
194
|
|
|
156
195
|
`references/companion-skills.md` lists what powers each stage and how to install
|
|
157
196
|
it: **superpowers** (required), **super-ux** (required for user-facing tasks —
|
|
158
|
-
install line surfaced on the spot), **
|
|
159
|
-
|
|
160
|
-
|
|
197
|
+
install line surfaced on the spot), **context7** (docs stage), **wiki-update**
|
|
198
|
+
(stage 9). The stage-0 grill is **not** on that list — it's built into the skill. A
|
|
199
|
+
single preflight
|
|
200
|
+
block prints which are ready, which to install, and the model recommendation, so you
|
|
201
|
+
arm the whole run in one exchange.
|
|
161
202
|
|
|
162
203
|
## Portability
|
|
163
204
|
|
|
@@ -174,25 +215,49 @@ canonical artifact layout each stage writes to is fixed in
|
|
|
174
215
|
тесты → линт/деплой → пост-деплой проверка логов → синк доков/вики), построенных
|
|
175
216
|
на скиллах [superpowers](https://github.com/obra/superpowers).
|
|
176
217
|
|
|
177
|
-
- **Грил на входе (стадия 0)
|
|
178
|
-
для автономной
|
|
179
|
-
вопросу за ход, с рекомендованным ответом,
|
|
180
|
-
ветки решений не закрыты и не зафиксированы в
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
`grill
|
|
218
|
+
- **Грил на входе (стадия 0) — обязателен.** Одна строка задачи («сделай фичу X»)
|
|
219
|
+
недостаточна для автономной работы, поэтому стадию нельзя пропустить: пайплайн
|
|
220
|
+
«допрашивает» оператора — по одному вопросу за ход, с рекомендованным ответом,
|
|
221
|
+
изучив код до вопроса — пока все ветки решений не закрыты и не зафиксированы в
|
|
222
|
+
брифе. Ни одна стадия 1+ не стартует без закоммиченного подтверждённого брифа.
|
|
223
|
+
**Грил встроен в скилл** — ставить нечего: вся доктрина лежит в
|
|
224
|
+
`references/grill.md`, без компаньонов, резолва и фолбэков. Портировано из
|
|
225
|
+
[grill-with-docs Мэтта Покока](https://github.com/mattpocock/skills) (MIT, см.
|
|
226
|
+
`LICENSE` → *Third-party*).
|
|
227
|
+
- **Доменная осознанность на гриле.** Пайплайн читает `CONTEXT.md` / `docs/adr/`
|
|
228
|
+
проекта и держит оператора в рамках его же языка: ловит термины, конфликтующие с
|
|
229
|
+
глоссарием, заменяет размытые слова каноничными, проверяет отношения конкретными
|
|
230
|
+
краевыми сценариями, вскрывает расхождения между кодом и только что сказанным.
|
|
231
|
+
Разрешённый термин сразу пишется в `CONTEXT.md`; решение, которое трудно
|
|
232
|
+
откатить, неочевидно без контекста и стало результатом реального компромисса,
|
|
233
|
+
получает ADR. Файлы создаются лениво.
|
|
234
|
+
- **Автономию даёт свип по стадиям.** Помимо самой задачи грил заранее закрывает
|
|
235
|
+
всё, что иначе остановит стадии 1→9: внешние библиотеки и где их доки, политику
|
|
236
|
+
веток и трекер задач, команду тестов и что значит «зелено», команду линта, цель
|
|
237
|
+
деплоя и **авторизацию на него**, где живут логи/health, какие доки и раннбуки
|
|
238
|
+
обновлять, и модель. По каждому пункту — либо ответ, либо явное «здесь
|
|
239
|
+
остановись и спроси»; незаданный вопрос = запланированное прерывание. У
|
|
240
|
+
авторизации деплоя жёсткий пол: постоянное «go» засчитывается, только если
|
|
241
|
+
названы цель и предусловия.
|
|
184
242
|
- Ни одна стадия не стартует, пока не пройден гейт предыдущей; деплой требует
|
|
185
243
|
зелёного полного прогона тестов и явного «go» оператора.
|
|
186
244
|
- **UX-трек (super-ux рекомендуется):** как только задача трогает интерфейс
|
|
187
245
|
(web/mobile/CLI/TUI), [super-ux](https://github.com/ssheleg/super-ux) —
|
|
188
246
|
рекомендуемый воркфлоу, детектится ещё на гриле; если установлен — используется,
|
|
189
247
|
если нет — сразу даётся строка установки. Стадия спеки гоняет `/ux` →
|
|
190
|
-
`ux-foundation` (персоны, JTBD, CJM) → `ux-
|
|
191
|
-
|
|
248
|
+
`ux-foundation` (персоны, JTBD, CJM) → `ux-flows` (флоу + `screens.md` — карта
|
|
249
|
+
экранов) → `ux-scenarios` (сценарии, ux-contract v4) → `/ux-lint` (линтер должен
|
|
250
|
+
быть зелёным) до написания плана; спека включает ID сценариев, `SCR-` экраны,
|
|
251
|
+
стадии CJM и UX-паттерны.
|
|
192
252
|
Сценарии — до интерфейса.
|
|
193
|
-
-
|
|
194
|
-
|
|
195
|
-
|
|
253
|
+
- **Модель — одна на прогон, подтверждается один раз до старта.** Рекомендация по
|
|
254
|
+
умолчанию — *самая мощная reasoning-модель, доступная в окружении* (сейчас это
|
|
255
|
+
последнее поколение Opus, но это **тир, а не строка**). Идентификаторы моделей
|
|
256
|
+
устаревают, и провайдер может быть другой, поэтому ничего не захардкожено:
|
|
257
|
+
актуальный топ-тир определяется в рантайме, а в конфиге стадий стоят
|
|
258
|
+
провайдер-агностичные токены (`default` / `inherit`). Оператор подтверждает или
|
|
259
|
+
переопределяет (можно по стадиям) — дальше пайплайн больше не переспрашивает.
|
|
260
|
+
Сабагенты стадии 5 пинятся на подтверждённую модель автоматически.
|
|
196
261
|
- Стадии 6–9 читают конвенции хост-проекта из `CLAUDE.md` (тесты / линт /
|
|
197
262
|
деплой / доки / вики), поэтому скилл работает в любом репозитории.
|
|
198
263
|
|
|
@@ -10,9 +10,21 @@ Run a substantial task through an up-front **intake grill + 9 gated stages**. No
|
|
|
10
10
|
stage advances until its **gate** passes. Each gate is `auto` (verify it yourself,
|
|
11
11
|
pass/fail) or `manual` (wait for the user's explicit go).
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Model — decide once, before you start
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Recommended: **the most capable reasoning model the environment offers** (at time
|
|
16
|
+
of writing, the latest Opus generation — read that as a tier, not a string). Never
|
|
17
|
+
hardcode a model id: generations ship, tiers get renamed, and the user may be on a
|
|
18
|
+
different provider. Resolve the top tier available at runtime, tell the user what
|
|
19
|
+
you recommend and what they're on, let them confirm or override (per-stage
|
|
20
|
+
overrides welcome), record the answer — then **stop asking at every stage**. If the
|
|
21
|
+
recommended tier isn't available, say which one you're using and continue.
|
|
22
|
+
|
|
23
|
+
## Stage 0 — intake grill (MANDATORY, do this FIRST)
|
|
24
|
+
|
|
25
|
+
Never skipped, and nothing to install — the grill is part of this rule. No "the
|
|
26
|
+
task was already clear" exemption, no starting stage 1 while the user thinks. A
|
|
27
|
+
one-line task ("build feature X") is not enough to finish autonomously. Grill the
|
|
16
28
|
user up front, then run the rest without mid-flight questions:
|
|
17
29
|
1. One question per turn — never bundle.
|
|
18
30
|
2. Give a recommended answer with every question (+ one-line rationale).
|
|
@@ -20,8 +32,36 @@ user up front, then run the rest without mid-flight questions:
|
|
|
20
32
|
4. Walk the decision tree depth-first; ask prerequisite decisions first.
|
|
21
33
|
5. Reconcile contradictions; chase dodges ("decide later" → "latest you can decide
|
|
22
34
|
and still ship?").
|
|
35
|
+
6. Run the **autonomy sweep** — resolve now whatever would stop stages 1→9 later:
|
|
36
|
+
external libs and where their docs live; UI verdict; base branch, branch policy,
|
|
37
|
+
commit convention, task tracker; the test command and what "green" means; the
|
|
38
|
+
lint command; the deploy target, release toggle and **deploy authorization**;
|
|
39
|
+
where logs/health live; which docs and runbooks this change updates. Each item
|
|
40
|
+
gets an answer or an explicit "stop and ask me here" — an unasked question is a
|
|
41
|
+
scheduled interruption.
|
|
42
|
+
|
|
43
|
+
**Domain awareness while you grill.** Look for the project's own docs as you
|
|
44
|
+
explore — a root `CONTEXT.md` (or a `CONTEXT-MAP.md` pointing at per-context ones)
|
|
45
|
+
and `docs/adr/`. Then hold the user to them: call out terms that conflict with the
|
|
46
|
+
glossary ("your glossary defines 'cancellation' as X, you seem to mean Y"), replace
|
|
47
|
+
vague or overloaded words with a canonical one ("'account' — Customer or User?"),
|
|
48
|
+
stress-test relationships with concrete edge-case scenarios, and surface
|
|
49
|
+
contradictions between what the code does and what the user just said. Write
|
|
50
|
+
resolved terms into `CONTEXT.md` right then, not in a batch — one tight sentence
|
|
51
|
+
per term, aliases listed as "avoid", no implementation detail. Create these files
|
|
52
|
+
lazily, only once there's something real to write.
|
|
53
|
+
|
|
54
|
+
Offer an ADR (`docs/adr/NNNN-slug.md`, 1–3 sentences is a complete ADR) only when
|
|
55
|
+
all three hold: hard to reverse, surprising without context, and the result of a
|
|
56
|
+
real trade-off. Any one missing → skip it.
|
|
57
|
+
|
|
23
58
|
Stop when shared understanding is reached (every branch answered or explicitly
|
|
24
|
-
deferred) and lock the answers into a short brief the user confirms. Only then
|
|
59
|
+
deferred) and lock the answers into a short brief the user confirms. Only then
|
|
60
|
+
start. Later stages read that brief instead of asking again.
|
|
61
|
+
|
|
62
|
+
**Deploy authorization has a hard floor:** a standing go counts only if it is
|
|
63
|
+
specific (named target + named preconditions). A vague "just do everything" does
|
|
64
|
+
not authorize an outward, irreversible action — stage 7 stops and asks.
|
|
25
65
|
|
|
26
66
|
## Stages 1→9
|
|
27
67
|
|
|
@@ -37,14 +77,16 @@ deferred) and lock the answers into a short brief the user confirms. Only then s
|
|
|
37
77
|
6. **Tests** (auto) — full suite green (not just new tests); new/changed code
|
|
38
78
|
covered; no skip/xfail hiding red.
|
|
39
79
|
7. **Lint + deploy** (manual) — lint clean AND suite green before deploy; deploy is
|
|
40
|
-
outward → explicit user go
|
|
80
|
+
outward → explicit user go, or the specific standing authorization recorded in
|
|
81
|
+
the stage-0 brief.
|
|
41
82
|
8. **Post-deploy** (auto) — tail logs / health-check; clean boot or an honest
|
|
42
83
|
degradation report (never silent success).
|
|
43
84
|
9. **Docs** (auto) — update module docs/runbooks in the SAME change.
|
|
44
85
|
|
|
45
|
-
Cross-cutting:
|
|
46
|
-
|
|
47
|
-
action (deploy,
|
|
86
|
+
Cross-cutting: answer from the brief's autonomy section rather than re-asking, track
|
|
87
|
+
tasks, conventional commits, honest degradation (never claim a failed/skipped step
|
|
88
|
+
succeeded), and get explicit go before any outward/irreversible action (deploy,
|
|
89
|
+
publish, repo create).
|
|
48
90
|
|
|
49
91
|
## super-ux for user-facing tasks (recommended)
|
|
50
92
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "task-pipeline-skill",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Full-cycle task delivery pipeline orchestrator skill for Claude Code
|
|
3
|
+
"version": "0.12.0",
|
|
4
|
+
"description": "Full-cycle task delivery pipeline orchestrator skill for Claude Code \u2014 a mandatory built-in intake grill + 9 gated stages (docs, brainstorm, spec, plan, build, tests, deploy, post-deploy, docs/wiki) built on the superpowers skills, with a super-ux UX track for user-facing tasks and toggleable release automation. This package is the installer CLI.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"task-pipeline": "bin/task-pipeline.js"
|
|
7
7
|
},
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
"bin",
|
|
10
10
|
"plugins",
|
|
11
11
|
"cursor",
|
|
12
|
-
"templates",
|
|
13
12
|
"README.md",
|
|
14
13
|
"LICENSE",
|
|
15
14
|
"CHANGELOG.md"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "task-pipeline",
|
|
3
|
-
"description": "Thin orchestrator:
|
|
4
|
-
"version": "0.
|
|
3
|
+
"description": "Thin orchestrator: a mandatory built-in intake grill expands the task, sharpens its domain language and pre-resolves what would stop later stages, then docs study, brainstorm, spec, plan, subagent build, tests, lint/deploy, post-deploy log check, docs/wiki sync — typed auto/manual gates, one provider-agnostic model confirmed up front, a super-ux UX track for user-facing tasks, and toggleable project-configurable release automation. Built on the superpowers skills; generic-portable.",
|
|
4
|
+
"version": "0.12.0",
|
|
5
5
|
"author": { "name": "ssheleg" },
|
|
6
6
|
"homepage": "https://github.com/ssheleg/task-pipeline",
|
|
7
7
|
"repository": "https://github.com/ssheleg/task-pipeline",
|
|
@@ -4,13 +4,19 @@ argument-hint: <one-line task description>
|
|
|
4
4
|
---
|
|
5
5
|
Use the `task-pipeline` skill to run the task below through all gated stages —
|
|
6
6
|
**stage 0 intake grill** → docs study → brainstorm → spec → plan → subagent
|
|
7
|
-
build → tests → lint/deploy → post-deploy → docs/wiki.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
build → tests → lint/deploy → post-deploy → docs/wiki. The **intake grill is
|
|
8
|
+
mandatory and built in** (`references/grill.md` — nothing to install): interview the
|
|
9
|
+
operator one question at a time (with a recommended answer each, exploring the
|
|
10
|
+
codebase before asking) until every decision branch is resolved, applying the
|
|
11
|
+
grill's **domain awareness** (challenge terms against `CONTEXT.md`, sharpen fuzzy
|
|
12
|
+
language, ADRs for hard-to-reverse calls) and covering the **autonomy sweep** (what
|
|
13
|
+
would otherwise stop stages 1→9: docs sources, branch/tracker policy, test and lint
|
|
14
|
+
commands, deploy target and authorization, log locations, docs/wiki targets) —
|
|
15
|
+
until the brief is locked, so the rest runs autonomously. For any user-facing task, recommend/use
|
|
16
|
+
**super-ux**. Honor every stage gate by its type (`auto` = verify yourself;
|
|
17
|
+
`manual` = wait for explicit go). Confirm the **model once at preflight** —
|
|
18
|
+
recommend the most capable one the environment offers, never a hardcoded id — then
|
|
19
|
+
run the whole pipeline on it without re-asking.
|
|
14
20
|
|
|
15
21
|
Task: $ARGUMENTS
|
|
16
22
|
|