task-pipeline-skill 0.17.1 → 1.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.
@@ -35,10 +35,24 @@ stages/agents/types (see SKILL.md → *Bring your own skills*).
35
35
  up front so stages 1→10 need no further human input beyond the manual gates.
36
36
  This is input expansion, not design: turn "make me feature X" into locked
37
37
  answers for scope, users, constraints, data, edge cases, done-criteria.
38
+ - **Phase 1 — harvest the knowledge sources FIRST**
39
+ ([`knowledge-sources.md`](knowledge-sources.md)). Before the first question:
40
+ query what the project already knows about this task — code, `CLAUDE.md`,
41
+ `CONTEXT.md`/ADRs, `docs/` + `docs/ux/`, past pipeline briefs and carry-over
42
+ ledgers, the **knowledge wiki** if one is installed
43
+ ([obsidian-wiki](https://github.com/ar9av/obsidian-wiki) — recommended,
44
+ never required), and any **other repo or hosted doc system the project names as
45
+ its docs**. Write the **source ledger** into the brief (a row per source, or an
46
+ explicit "none found"). It is retrieval scoped by the task's own nouns, not a
47
+ read of everything — and it is what makes phase 2's answers checkable instead of
48
+ merely confident.
38
49
  - **How it runs: [`grill.md`](grill.md)** — the full doctrine, built into this
39
50
  skill (nothing to install). In short: one question per turn, a recommended
40
51
  answer with each, explore the codebase before asking, depth-first through the
41
- decision tree, contradictions reconciled on the spot; plus **domain awareness**
52
+ decision tree, contradictions reconciled on the spot; **every answer that touches
53
+ a harvested source is checked against it** — the operator outranks any document,
54
+ but only out loud, and the losing side is logged for the stage-9 doc update; plus
55
+ **domain awareness**
42
56
  (challenge terms against `CONTEXT.md`, sharpen fuzzy language, stress-test with
43
57
  concrete scenarios, cross-reference the code, record ADRs for hard-to-reverse
44
58
  calls) and the **autonomy sweep** that pre-resolves every stage-1→10 blocker.
@@ -57,8 +71,11 @@ stages/agents/types (see SKILL.md → *Bring your own skills*).
57
71
  its autonomy section instead of asking. Where the session produced them, also:
58
72
  an updated `CONTEXT.md` (terms written as they resolved) and any ADRs under
59
73
  `docs/adr/` — see `grill.md` → *Domain awareness*.
60
- - **GATE (manual):** shared understanding reached — every detected branch has a
61
- recorded answer or an explicit deferral, no open contradictions, **every
74
+ - **GATE (manual):** shared understanding reached — **the source ledger is written
75
+ (every source consulted, or an explicit "none found")**, every detected branch has
76
+ a recorded answer or an explicit deferral, **every answer that contradicted a
77
+ harvested source has a recorded resolution** (which governs, and whether the doc
78
+ is now stale), no open contradictions, **every
62
79
  autonomy-sweep row is answered or explicitly marked "stop and ask here"**, the
63
80
  **REQ table is written and every row names its check**, the carry-over ledger is
64
81
  seeded, the model decision is recorded, and the operator confirms the brief. Stop when a
@@ -123,8 +140,9 @@ stages/agents/types (see SKILL.md → *Bring your own skills*).
123
140
  map**: task analysis, user-flow diagrams (branches, error paths), every
124
141
  screen + state with wireframe and (Figma on) a Figma frame link.
125
142
  4. `ux-scenarios` → `docs/ux/scenarios.md` — the **WHAT** (source of truth for
126
- behavior): scenarios validated per the format contract (`scenario-format.md`,
127
- ux-contract v4) — IDs, statuses, `Traces:` to stories/journey stages/flows,
143
+ behavior): scenarios validated against the scenario-format contract super-ux
144
+ itself ships (`scenario-format.md` — read its current version there, never
145
+ pin one here) — IDs, statuses, `Traces:` to stories/journey stages/flows,
128
146
  edge/error states enumerated.
129
147
  5. **Run the super-ux linter** (`/ux-lint` or `python3 docs/ux/lint.py`) — it
130
148
  must pass: no drift, no orphans, no broken traces or stale Figma links.
@@ -217,12 +235,24 @@ stages/agents/types (see SKILL.md → *Bring your own skills*).
217
235
  steps — never silent success.
218
236
 
219
237
  ## 9 — Docs + wiki
238
+ - **The stage-0 source ledger is the work list** ([`knowledge-sources.md`](knowledge-sources.md)
239
+ → *Close the loop*): every source the harvest read gets updated if this run
240
+ changed or disproved it. What was worth reading at stage 0 and is wrong now is
241
+ the next run's false premise.
220
242
  - Update host module docs / runbooks per the project's self-update rules, in the
221
243
  **same change**. For UI tasks, confirm the super-ux layers were updated in this
222
- change and the linter is green (super-ux *same-change* + *no-drift* rules). Then
223
- sync knowledge to the wiki (`wiki-update` skill).
224
- - **GATE (auto):** docs in sync with code; UI: super-ux layers current + linter
225
- green; wiki synced; dangling links fixed.
244
+ change and the linter is green (super-ux *same-change* + *no-drift* rules).
245
+ - **Sync the knowledge wiki** — `wiki-update` when
246
+ [obsidian-wiki](https://github.com/ar9av/obsidian-wiki) is installed (detect:
247
+ `~/.obsidian-wiki/config`, or the skill resolves). Not installed → recommend it
248
+ once with its install line and continue; a missing wiki never blocks the gate.
249
+ Distil the knowledge (decisions, seams, why), not a diff summary.
250
+ - **Docs living in another repository** are outward: propose the edit, get an
251
+ explicit go, then open a PR there. No go → the exact edit goes in the carry-over
252
+ ledger.
253
+ - **GATE (auto):** docs in sync with code; every stale row in the source ledger
254
+ either updated or carried over with its edit; UI: super-ux layers current +
255
+ linter green; wiki synced (or absent and recommended once); dangling links fixed.
226
256
 
227
257
  ## 10 — Acceptance
228
258
  - **What:** the closing stage — go back to the brief and account for **every**
@@ -9,6 +9,28 @@
9
9
  - **UI verdict:** yes / no — does this touch a user-facing surface (web/mobile/CLI/TUI)?
10
10
  If yes, the stage-3 super-ux UX track is armed.
11
11
 
12
+ ## Knowledge sources (the phase-1 harvest — written BEFORE the first question)
13
+
14
+ What the project already knew about this task, and where it said so. One row per
15
+ source actually consulted; `none found` is a valid, useful row. Stage 9 updates
16
+ this same list — a source worth reading at the start is the next run's false
17
+ premise if the run leaves it wrong.
18
+
19
+ | Source | What it says about this task | Fresh? | Authority | Stale after this run? |
20
+ |---|---|---|---|---|
21
+ | `docs/adr/NNNN-….md` | … | YYYY-MM | decision | no |
22
+ | wiki: `projects/…/concepts/…` | … | YYYY-MM | context | **yes — update at stage 9** |
23
+ | `CLAUDE.md` | test/lint/deploy commands, house rules | current | convention | no |
24
+
25
+ Precedence when two disagree: **code > host docs and ADRs > wiki > memory.** The
26
+ operator outranks every document — but only **out loud**: an override quoted
27
+ against its source is a recorded decision, an unquoted one is an undetected
28
+ divergence.
29
+
30
+ - **Doc repos / hosted doc systems this project names:** … (or `none`)
31
+ - **Knowledge wiki:** installed / not installed
32
+ ([obsidian-wiki](https://github.com/ar9av/obsidian-wiki); recommended, never a gate)
33
+
12
34
  ## Scope
13
35
 
14
36
  - **In scope:** …
@@ -57,6 +79,7 @@ is not neutral — it is a scheduled interruption.
57
79
  |---|---|---|
58
80
  | run-wide | Model for this run | … (most capable available unless overridden; per-stage overrides here) |
59
81
  | run-wide | Decide autonomously vs escalate to me | … |
82
+ | 0 Harvest | Doc sources beyond this repo — other repos, hosted docs, the knowledge wiki; and may stage 9 write to them? | … (another repo is outward: propose + PR, never a direct push) |
60
83
  | 1 Docs | External libs/APIs/SDKs in play; any context7 can't resolve → where their docs live | … |
61
84
  | 2 Decompose | Platform (several capabilities/surfaces) or one module? If platform — deploy cadence: per module, or once at the end | … |
62
85
  | 2–3 Spec | UI verdict (arms super-ux); scenario-tracing waiver, if any | … |
@@ -67,7 +90,7 @@ is not neutral — it is a scheduled interruption.
67
90
  | 7 Deploy | Target + path; release automation on/off; deploy-from-main rule | … |
68
91
  | 7 Deploy | **Authorization** — standing go, or ask every time? | … |
69
92
  | 8 Post-deploy | Where logs / health live (app name, endpoint, workflow) | … |
70
- | 9 Docs+wiki | Which module docs / runbooks this change updates; wiki sync yes/no | … |
93
+ | 9 Docs+wiki | Which module docs / runbooks this change updates; wiki sync yes/no; which stale ledger rows get fixed | … |
71
94
  | 10 Acceptance | Who signs off; where deferred REQs get tracked (issue tracker / backlog) | … |
72
95
 
73
96
  > **Deploy authorization has a hard floor.** A standing go counts only if it is