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 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
+ [![npm](https://img.shields.io/npm/v/task-pipeline-skill)](https://www.npmjs.com/package/task-pipeline-skill)
4
+ [![validate](https://github.com/ssheleg/task-pipeline/actions/workflows/validate.yml/badge.svg)](https://github.com/ssheleg/task-pipeline/actions/workflows/validate.yml)
5
+ [![license](https://img.shields.io/badge/license-MIT-blue)](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 feature X") is expanded, one
13
- question at a time, into a locked brief so the remaining stages run to the end
14
- without mid-flight questions. Each stage gates the next; each names the model to
15
- use. Every gate is typed — **auto** (the orchestrator verifies it, pass/fail) or
16
- **manual** (waits for your go).
17
-
18
- | # | Stage | Model | Gate | Type |
19
- |---|---|---|---|---|
20
- | 0 | Intake grill | Fable | shared understanding reached; brief locked | manual |
21
- | 1 | Docs study | Fable | contracts grounded on current docs | auto |
22
- | 2 | Brainstorm | Fable | design approved; UI verdict recorded | manual |
23
- | 3 | Spec | Fable | committed + reviewed; UI: scenarios + CJM traced | manual |
24
- | 4 | Plan | Fable | parallel-ready, DoD per task | auto |
25
- | 5 | Dev | Opus | tasks DONE, TDD green per task | auto |
26
- | 6 | Tests | Opus | full suite green, new code covered | auto |
27
- | 7 | Lint + deploy | host | lint clean + suite green before deploy | manual |
28
- | 8 | Post-deploy | host | clean boot / honest degradation | auto |
29
- | 9 | Docs + wiki | host | docs + wiki synced | auto |
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**. That front-loads
45
- all the human input so stages 1→9 run autonomously (only the built-in gates pause).
46
- Uses the `grill-me` / `grilling` skill if installed; otherwise runs a built-in grill
47
- loop (no hard dependency).
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-scenarios` (usage scenarios validated against the base, ux-contract v2). The
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 (Claude Code, Cursor, Codex, 70+ agents):**
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 add ssheleg/task-pipeline --agent <name> --global` (re-run overwrites); `--agent '*'` for all |
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 tiering
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
- Stages 0–4 Fable, stages 5–6 Opus, 7–9 inherit. **Reminders only** a skill
139
- can't switch the main-loop model; `/model` is the operator's. Stage-5 subagents are
140
- pinned to Opus automatically.
175
+ You confirm or override it (per-stage overrides welcome) before stage 0then 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), **grill-me** (optional, enhances the stage-0
159
- grill), **context7** (docs stage), **wiki-update** (stage 9). A preflight prints
160
- which are ready and which to install so you can arm the full flow before work.
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):** одна строка задачи («сделай фичу X») недостаточна
178
- для автономной работы. Пайплайн сначала «допрашивает» оператора — по одному
179
- вопросу за ход, с рекомендованным ответом, изучив код до вопроса — пока все
180
- ветки решений не закрыты и не зафиксированы в брифе. Это выносит весь ввод
181
- человека вперёд, дальше стадии 1→9 идут автономно. Идея взята из
182
- [grill-me Мэтта Покока](https://github.com/mattpocock/skills); использует скилл
183
- `grill-me`/`grilling` если установлен, иначе встроенный грил-цикл.
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-scenarios` (сценарии по ux-contract
191
- v2) до написания плана; спека включает ID сценариев, стадии CJM и UX-паттерны.
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
- - Каждая стадия напоминает, какую модель включить (`/model`): 0–4 Fable,
194
- 5–6Opus, 7–9 наследуется. Это только напоминание — модель переключает
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
- ## Stage 0 intake grill (do this FIRST)
13
+ ## Modeldecide once, before you start
14
14
 
15
- A one-line task ("build feature X") is not enough to finish autonomously. Grill the
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 start.
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: track tasks, conventional commits, honest degradation (never claim a
46
- failed/skipped step succeeded), and get explicit go before any outward/irreversible
47
- action (deploy, publish, repo create).
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.9.0",
4
- "description": "Full-cycle task delivery pipeline orchestrator skill for Claude Code an 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.",
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: an intake grill expands the task, then docs study, brainstorm, spec, plan, subagent build, tests, lint/deploy, post-deploy log check, docs/wiki sync — typed auto/manual gates, per-stage model reminders, 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.9.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. Start with the **intake
8
- grill**: interview the operator one question at a time (with a recommended answer
9
- each, exploring the codebase before asking) until every decision branch is
10
- resolved and the brief is locked so the rest runs autonomously. For any
11
- user-facing task, recommend/use **super-ux**. Honor every stage gate by its type
12
- (`auto` = verify yourself; `manual` = wait for explicit go) and emit the
13
- per-stage model reminder when the recommended model differs from the current one.
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