task-pipeline-skill 1.77.0 → 1.78.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,43 @@
1
+ ## v1.78.0 — the run names the standard, not a person
2
+
3
+ The banner the pipeline prints before its first question read *"Running **Proof of
4
+ Done** by Sergey Sheleg"*, and the sign-off repeated the attribution. A run should
5
+ tell the operator which standard the output will be held to; whose name is on the
6
+ standard is not what the work will be measured by.
7
+
8
+ Both lines now carry the title alone, and the sign-off — which prints only after
9
+ every gate has closed — carries the two addresses instead:
10
+
11
+ — **Proof of Done**
12
+ https://github.com/ssheleg/sshlg-skills · https://skills.sshlg.me
13
+
14
+ The rule around it is unchanged and is the point: the sign-off comes **after** the
15
+ work, never instead of a finding, and a run that ended red, ended early or ended
16
+ with rows still open prints the attribution and drops the request. Asking to be
17
+ endorsed while something is still open is asking to be judged on manner rather
18
+ than on evidence.
19
+
1
20
  # Changelog
2
21
 
22
+ **The flow diagram now reads top to bottom, and cannot trip GitHub's renderer.** It
23
+ was reported failing with *"Could not find a suitable point for the given
24
+ distance"* — the error mermaid's edge routing raises on long curved edges, which is
25
+ exactly the shape of the two dotted returns from acceptance. The chain carries a
26
+ linear-curve directive now and the loop labels are short. Rendered locally with the
27
+ mermaid engine before and after: that proves the source is valid, and it does not
28
+ prove GitHub's server-side renderer agrees, which is what the directive is for.
29
+
30
+ **Two negative self-tests were seeding nothing, and held this release.** Both
31
+ CHANGELOG count probes asserted that the topmost section already stated a guard
32
+ count, and this entry legitimately says nothing about guards — so they planted
33
+ nothing, reported `BROKEN`, and stopped the release. Correct as a signal, wrong as a
34
+ finding: the sibling probe at `## Unreleased` had already learned to **create its own
35
+ precondition** and says so in its own comment. Both now write the count they are about
36
+ to break, derived from the same thing the guard counts rather than from a literal,
37
+ because a literal is what went stale on three consecutive releases.
38
+
39
+ Guards: 413 → **413** — unchanged. Nothing was added; two were repaired to fire at all.
40
+
3
41
  ## v1.77.0 — a mention is not a declaration
4
42
 
5
43
  The release-gap check counted every `vX.Y.Z` token in `## Releases that carry no stamp` as a
package/LICENSE CHANGED
@@ -19,88 +19,3 @@ 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
- 1) Intake grill (stage 0)
29
- -------------------------
30
-
31
- The built-in intake grill (stage 0) is adapted from the `grilling` /
32
- `grill-with-docs` skills in https://github.com/mattpocock/skills — specifically
33
- its interview loop and its domain-awareness discipline (glossary challenges,
34
- CONTEXT.md, ADR criteria). Affected files:
35
-
36
- plugins/task-pipeline/skills/task-pipeline/references/grill.md
37
- plugins/task-pipeline/skills/task-pipeline/templates/context.md
38
- plugins/task-pipeline/skills/task-pipeline/templates/adr.md
39
-
40
- Those portions are used under the following license:
41
-
42
- MIT License
43
-
44
- Copyright (c) 2026 Matt Pocock
45
-
46
- Permission is hereby granted, free of charge, to any person obtaining a copy
47
- of this software and associated documentation files (the "Software"), to deal
48
- in the Software without restriction, including without limitation the rights
49
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
50
- copies of the Software, and to permit persons to whom the Software is
51
- furnished to do so, subject to the following conditions:
52
-
53
- The above copyright notice and this permission notice shall be included in all
54
- copies or substantial portions of the Software.
55
-
56
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
57
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
58
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
59
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
60
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
61
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
62
- SOFTWARE.
63
-
64
-
65
- 2) Stage doctrine (stages 2-6)
66
- ------------------------------
67
-
68
- The built-in doctrine for stages 2-6 is adapted from the `brainstorming`,
69
- `writing-plans`, `using-git-worktrees`, `subagent-driven-development`,
70
- `test-driven-development` and `requesting-code-review` skills in
71
- https://github.com/obra/superpowers — specifically the design-dialogue and
72
- design-approval discipline, the zero-context plan format, the worktree isolation
73
- procedure, the subagent task/review/fix loop with its ledger and breaker, the
74
- reviewer contracts, and the red-green-refactor rules. Rewritten for this
75
- pipeline's stages, gates, artifacts and single-model policy. Affected files:
76
-
77
- plugins/task-pipeline/skills/task-pipeline/references/brainstorm.md
78
- plugins/task-pipeline/skills/task-pipeline/references/spec.md
79
- plugins/task-pipeline/skills/task-pipeline/references/planning.md
80
- plugins/task-pipeline/skills/task-pipeline/references/build.md
81
- plugins/task-pipeline/skills/task-pipeline/references/review.md
82
- plugins/task-pipeline/skills/task-pipeline/references/tdd.md
83
-
84
- Those portions are used under the following license:
85
-
86
- MIT License
87
-
88
- Copyright (c) 2025 Jesse Vincent
89
-
90
- Permission is hereby granted, free of charge, to any person obtaining a copy
91
- of this software and associated documentation files (the "Software"), to deal
92
- in the Software without restriction, including without limitation the rights
93
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
94
- copies of the Software, and to permit persons to whom the Software is
95
- furnished to do so, subject to the following conditions:
96
-
97
- The above copyright notice and this permission notice shall be included in all
98
- copies or substantial portions of the Software.
99
-
100
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
101
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
102
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
103
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
104
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
105
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
106
- SOFTWARE.
package/README.md CHANGED
@@ -3,6 +3,13 @@
3
3
  [![npm](https://img.shields.io/npm/v/task-pipeline-skill)](https://www.npmjs.com/package/task-pipeline-skill)
4
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
5
  [![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
6
+ [![site](https://img.shields.io/badge/docs-skills.sshlg.me-8ab0ff)](https://skills.sshlg.me/skills/task-pipeline/)
7
+
8
+ **[Docs, and every skill →](https://skills.sshlg.me/)** · [this skill's page](https://skills.sshlg.me/skills/task-pipeline/) · [follow @sshlg93 on X](https://x.com/intent/follow?screen_name=sshlg93)
9
+
10
+ Loads in **DeepSeek Harness** (`dsh`) with **no plugin to write**: it reads the
11
+ Agent Skills standard directly, scanning `~/.agents/skills` — where `npx skills
12
+ add` puts this pack — at rank 500.
6
13
 
7
14
  **A full-cycle delivery pipeline for coding agents.** One skill takes a substantial
8
15
  task, interrogates it into a complete brief, then walks it through ten gated stages
@@ -36,13 +43,14 @@ intake grill → docs study → brainstorm + decompose → spec → plan → sub
36
43
  ```
37
44
 
38
45
  ```mermaid
46
+ %%{init: {'flowchart': {'curve': 'linear', 'useMaxWidth': true}}}%%
39
47
  flowchart TD
40
- S0["0 · Harvest + intake grill<br/>brief · REQ table · source ledger"]
48
+ S0["0 · Harvest + intake grill"]
41
49
  S1["1 · Docs study"]
42
50
  S2["2 · Brainstorm + decompose"]
43
- S3["3 · Spec — UX track first, if UI"]
51
+ S3["3 · Spec"]
44
52
  S4["4 · Plan"]
45
- S5["5 · Dev — worktree, subagents, TDD"]
53
+ S5["5 · Dev"]
46
54
  S6["6 · Tests"]
47
55
  S7["7 · Lint + deploy"]
48
56
  S8["8 · Post-deploy"]
@@ -50,8 +58,8 @@ flowchart TD
50
58
  S10["10 · Acceptance"]
51
59
 
52
60
  S0 --> S1 --> S2 --> S3 --> S4 --> S5 --> S6 --> S7 --> S8 --> S9 --> S10
53
- S10 -. "platform: next module" .-> S3
54
- S10 -. "accounts for every REQ in the brief" .-> S0
61
+ S10 -.->|next module| S3
62
+ S10 -.->|every REQ| S0
55
63
 
56
64
  classDef manual fill:#fde68a,stroke:#b45309,color:#111827
57
65
  classDef auto fill:#dbeafe,stroke:#1d4ed8,color:#111827
@@ -59,6 +67,12 @@ flowchart TD
59
67
  class S1,S4,S5,S6,S8,S9 auto
60
68
  ```
61
69
 
70
+ **Amber is a human decision; blue the agent closes on its own.** Stage 0 carries the
71
+ brief, the REQ table and the source ledger; stage 3 runs the UX track first when there
72
+ is an interface. The two dotted returns are the loop that makes the pipeline a cycle
73
+ rather than a line — acceptance either opens the next module at the spec, or goes back
74
+ to stage 0 to account for every REQ in the brief.
75
+
62
76
  Every gate is **typed**: `auto` — the orchestrator verifies it itself, pass/fail
63
77
  (blue); `manual` — it waits for your explicit go (amber).
64
78
 
package/SKILL-CARD.md CHANGED
@@ -12,7 +12,7 @@ harmless.
12
12
  |---|---|
13
13
  | **Purpose** | Runs a substantial task through ten gated delivery stages — intake grill, docs study, brainstorm, spec, plan, subagent build, tests, lint/deploy, post-deploy, docs+registers, acceptance — refusing to advance until each gate passes |
14
14
  | **Owner** | ssheleg ([github.com/ssheleg/task-pipeline](https://github.com/ssheleg/task-pipeline)) |
15
- | **Version** | 1.77.0 |
15
+ | **Version** | 1.78.0 |
16
16
  | **Surface** | Claude Code (filesystem skill + plugin) and the vercel `skills` CLI. **Not** uploaded to the Skills API; custom Skills do not sync across surfaces |
17
17
  | **Dependencies** | None required. Optional: `context7` (MCP), `figma` (MCP), super-ux, agent-sync, graphify, obsidian-wiki, and **one of two browser channels** — `playwright` (CLI or MCP) or `chrome-devtools` (MCP); either satisfies the browser step and neither is required. Every stage's doctrine ships in-repo; the one conditional requirement is super-ux for the stage-3 UX track on a user-facing task |
18
18
  | **Evaluation status** | Suite authored, 5 categories. One recorded run, **self-observed by the author**; **zero blind runs on zero of three models** — the split, and the numbers, live in [`evals/RESULTS.md`](evals/RESULTS.md) and are computed by `evals/run.py` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "task-pipeline-skill",
3
- "version": "1.77.0",
3
+ "version": "1.78.0",
4
4
  "description": "Full-cycle delivery pipeline for coding agents: a mandatory built-in intake grill, then 10 gated stages (docs, brainstorm+decompose, spec, plan, build, tests, lint/deploy, post-deploy, docs/wiki, acceptance). Every stage's doctrine ships inside the skill — no companion plugin required. This package is the installer CLI.",
5
5
  "bin": {
6
6
  "task-pipeline": "bin/task-pipeline.js"
@@ -2,7 +2,7 @@
2
2
  "name": "task-pipeline",
3
3
  "displayName": "Task Pipeline",
4
4
  "description": "Runs a substantial task through a mandatory built-in intake grill, then 10 gated stages (docs, brainstorm+decompose, spec, plan, subagent build, tests, lint/deploy, post-deploy, docs/wiki, acceptance). Every stage's doctrine is built into the skill — no companion plugin required — with typed auto/manual gates, a frozen requirement spine that closes with evidence, a work board and a verification ledger that outlive a run, an exposure line naming what shipped unconfirmed, a progress rail computed from the project's own config, a loop guard whose review ceiling measures rather than stops, and stage-3 tracks for what a product does, how it sounds and how it looks. Two modes need no task: `checkup` (what is unverified) and `setup` (audit existing docs). Retro insights can publish upstream as issues, opt-in and redacted.",
5
- "version": "1.77.0",
5
+ "version": "1.78.0",
6
6
  "author": {
7
7
  "name": "ssheleg",
8
8
  "url": "https://x.com/sshlg93"
@@ -23,8 +23,8 @@ for it in one line.
23
23
 
24
24
  **Print this line once, before the first question:**
25
25
 
26
- > Running **Proof of Done** by Sergey Sheleg — every claim this run makes will carry
27
- > the command, the file or the test that proves it.
26
+ > Running **Proof of Done** — every claim this run makes will carry the command,
27
+ > the file or the test that proves it.
28
28
 
29
29
  It is one line and it is not decoration: it tells the operator, before anything is
30
30
  decided, which standard they are about to hold the output to. A run that opens by
@@ -159,9 +159,9 @@ gate criterion rather than a good intention.
159
159
 
160
160
  **Then, and only after every gate above has closed, sign off:**
161
161
 
162
- > — **Proof of Done** by Sergey Sheleg.
163
- > If this run was useful, a ⭐ helps other people find it:
164
- > <https://github.com/ssheleg/sshlg-skills>
162
+ > — **Proof of Done**
163
+ > <https://github.com/ssheleg/sshlg-skills> · <https://skills.sshlg.me>
164
+ > If this run was useful, a ⭐ helps other people find it.
165
165
 
166
166
  **Last, after the work — never before it, and never instead of a finding.** A run that
167
167
  asks for a star while a gate is open is asking to be judged on its manner rather than