task-pipeline-skill 0.8.1 → 0.9.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,29 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.9.0 — 2026-07-23
4
+
5
+ Full structural parity with the sibling `super-ux` per the ssheleg skill canon
6
+ (make-skill): the Cursor channel and a templates dir were the last gaps.
7
+
8
+ - **Cursor channel.** New `cursor/rules/task-pipeline.mdc` — a self-contained,
9
+ agent-requested rule (`alwaysApply: false` + a trigger `description`, no external
10
+ links so it survives being copied into any project) that carries the full
11
+ intake-grill + 9-stage discipline and the super-ux recommendation. Install
12
+ globally via `npx skills add ssheleg/task-pipeline --agent cursor --global`, or
13
+ copy per project into `.cursor/rules/`.
14
+ - **Templates dir.** New `templates/brief.md` — the stage-0 intake-brief skeleton
15
+ this plugin seeds into `docs/superpowers/specs/…-brief.md` (create-if-absent,
16
+ never overwrite), plus `templates/README.md` mapping template → destination →
17
+ stage. Spec/plan and `docs/ux/*` skeletons remain owned by superpowers / super-ux.
18
+ - **Validator + packaging.** The validator now checks every `cursor/rules/*.mdc`
19
+ has `description` + `alwaysApply` frontmatter and that `templates/brief.md`
20
+ exists; `package.json` `files` ships `cursor` and `templates`. All prior gates
21
+ (four-way version sync, config conformance, gate types, release shape, links)
22
+ retained.
23
+ - **Docs.** README gains a Cursor install block and an "Updating everywhere" table
24
+ (one channel per agent — the plugin+plain duplicate caveat spelled out);
25
+ `references/artifacts.md` and stage 0 reference the brief template.
26
+
3
27
  ## v0.8.1 — 2026-07-23
4
28
 
5
29
  - Docs consistency: the SKILL.md super-ux intro now lists the full current chain
package/README.md CHANGED
@@ -97,6 +97,15 @@ npx task-pipeline-skill # from the npm registry
97
97
  on npm; installs the same skill + `/task-pipeline` command into `~/.claude`,
98
98
  idempotent, `--force` to overwrite)
99
99
 
100
+ **Cursor:**
101
+ ```
102
+ npx skills add ssheleg/task-pipeline --agent cursor --global # global, or…
103
+ ```
104
+ …or per project, copy `cursor/rules/task-pipeline.mdc` into the repo's
105
+ `.cursor/rules/`. Cursor has no global rules directory — use the skills CLI for a
106
+ global install, the `.mdc` for per-project, or paste it into Cursor Settings →
107
+ Rules. The rule is self-contained (no external links), so it works copied anywhere.
108
+
100
109
  **Plain skill:**
101
110
  ```
102
111
  git clone https://github.com/ssheleg/task-pipeline
@@ -106,6 +115,19 @@ cd task-pipeline && ./install.sh
106
115
  command into `~/.claude/commands/`; idempotent — rerun skips existing installs,
107
116
  `./install.sh --force` overwrites)
108
117
 
118
+ ## Updating everywhere
119
+
120
+ Pick **one** channel per agent (running the plugin and the plain/skills-CLI copy
121
+ on the same Claude Code install yields a duplicate skill).
122
+
123
+ | Agent / channel | Update |
124
+ |---|---|
125
+ | 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 |
127
+ | Cursor | skills CLI (above) with `--agent cursor`, or re-copy the `.mdc` per project |
128
+ | npm | `npx task-pipeline-skill@latest` / `npx github:ssheleg/task-pipeline` (ephemeral — always latest) |
129
+ | Plain skill | `git pull && ./install.sh --force` |
130
+
109
131
  ## Use
110
132
 
111
133
  Say *"run this through the pipeline"* / *"полный цикл"* / *"прогони по конвейеру"*,
@@ -0,0 +1,56 @@
1
+ ---
2
+ description: "task-pipeline: run a substantial task through a disciplined, gated delivery cycle — an intake grill that expands the request, then docs→brainstorm→spec→plan→build→tests→lint/deploy→post-deploy→docs. Apply when the user asks to run a task through the pipeline, the full cycle / полный цикл / прогони по конвейеру, or starts any substantial feature/fix/build."
3
+ alwaysApply: false
4
+ ---
5
+
6
+ # task-pipeline — gated delivery cycle (Cursor)
7
+
8
+ Self-contained rule (Cursor copies this file into projects — no external links).
9
+ Run a substantial task through an up-front **intake grill + 9 gated stages**. No
10
+ stage advances until its **gate** passes. Each gate is `auto` (verify it yourself,
11
+ pass/fail) or `manual` (wait for the user's explicit go).
12
+
13
+ ## Stage 0 — intake grill (do this FIRST)
14
+
15
+ A one-line task ("build feature X") is not enough to finish autonomously. Grill the
16
+ user up front, then run the rest without mid-flight questions:
17
+ 1. One question per turn — never bundle.
18
+ 2. Give a recommended answer with every question (+ one-line rationale).
19
+ 3. Explore the codebase before asking — if a search/read answers it, do that.
20
+ 4. Walk the decision tree depth-first; ask prerequisite decisions first.
21
+ 5. Reconcile contradictions; chase dodges ("decide later" → "latest you can decide
22
+ and still ship?").
23
+ 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.
25
+
26
+ ## Stages 1→9
27
+
28
+ 1. **Docs study** (auto) — ground every external lib/API on current docs, not recall.
29
+ 2. **Brainstorm** (manual) — 2–3 approaches + a recommendation; design approved.
30
+ Record whether the task touches a user-facing surface (UI verdict).
31
+ 3. **Spec** (manual) — write and commit the design; lock shared contracts. For UI
32
+ tasks, run the UX chain FIRST (see super-ux below) and embed it.
33
+ 4. **Plan** (auto) — zero-context tasks, exact paths, TDD steps, DoD each,
34
+ dependency graph + parallel groups, non-overlapping file ownership.
35
+ 5. **Dev** (auto) — isolate (worktree), TDD per task (failing test → minimal impl →
36
+ green → commit); two-stage review (spec compliance, then code quality).
37
+ 6. **Tests** (auto) — full suite green (not just new tests); new/changed code
38
+ covered; no skip/xfail hiding red.
39
+ 7. **Lint + deploy** (manual) — lint clean AND suite green before deploy; deploy is
40
+ outward → explicit user go.
41
+ 8. **Post-deploy** (auto) — tail logs / health-check; clean boot or an honest
42
+ degradation report (never silent success).
43
+ 9. **Docs** (auto) — update module docs/runbooks in the SAME change.
44
+
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).
48
+
49
+ ## super-ux for user-facing tasks (recommended)
50
+
51
+ If the task touches any UI (web/mobile/CLI/TUI), the WHY→UI→scenario chain comes
52
+ BEFORE interface code. If super-ux is available, use it: foundation (personas,
53
+ JTBD, customer journey maps, user stories) → flows + screens → scenarios (the
54
+ source of truth) → run its linter. Otherwise still design that chain, get it
55
+ approved, and trace every user-facing requirement to a scenario before building.
56
+ Install (Cursor/Claude/others): `npx skills add ssheleg/super-ux`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "task-pipeline-skill",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
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.",
5
5
  "bin": {
6
6
  "task-pipeline": "bin/task-pipeline.js"
@@ -8,6 +8,8 @@
8
8
  "files": [
9
9
  "bin",
10
10
  "plugins",
11
+ "cursor",
12
+ "templates",
11
13
  "README.md",
12
14
  "LICENSE",
13
15
  "CHANGELOG.md"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "task-pipeline",
3
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.8.1",
4
+ "version": "0.9.0",
5
5
  "author": { "name": "ssheleg" },
6
6
  "homepage": "https://github.com/ssheleg/task-pipeline",
7
7
  "repository": "https://github.com/ssheleg/task-pipeline",
@@ -33,7 +33,7 @@ design → plan is traceable at a glance.
33
33
 
34
34
  | Stage | Writes | Consumed by |
35
35
  |---|---|---|
36
- | 0 Intake | `specs/<topic>-brief.md` | stages 2–4 |
36
+ | 0 Intake | `specs/<topic>-brief.md` (seed from `templates/brief.md`) | stages 2–4 |
37
37
  | 3 Spec | `specs/<topic>-design.md` (+ links `docs/ux/*` for UI) | stage 4 |
38
38
  | 4 Plan | `plans/<topic>.md` | stage 5 |
39
39
  | 3 UX track | `docs/ux/{foundation,flows,screens,scenarios}.md` | stages 4–9 + `/ux-lint` |
@@ -52,6 +52,8 @@ plugins/task-pipeline/
52
52
  pipeline.schema.json # generic pipeline contract
53
53
  pipeline.example.json # this plugin's own flow, as config
54
54
  references/{stages,model-tiering,conventions,artifacts,companion-skills}.md
55
+ cursor/rules/task-pipeline.mdc # Cursor channel (self-contained rule)
56
+ templates/brief.md # skeleton seeded at stage 0
55
57
  bin/task-pipeline.js # npx installer (package task-pipeline-skill)
56
58
  package.json
57
59
  install.sh # POSIX installer
@@ -45,8 +45,9 @@ stages/agents/types (see SKILL.md → *Bring your own skills*).
45
45
  *Prerequisites*); this arms the stage-3 UX track.
46
46
  - **Artifact:** lock the resolved decisions into a **task brief** committed at
47
47
  `docs/superpowers/specs/YYYY-MM-DD-<topic>-brief.md` (scope, users/UI verdict,
48
- constraints, assumptions, explicitly-deferred items, done-criteria). Stages
49
- 2–4 build on this brief.
48
+ constraints, assumptions, explicitly-deferred items, done-criteria). Seed it from
49
+ the plugin's `templates/brief.md` skeleton — but only when absent, never
50
+ overwrite an existing brief. Stages 2–4 build on this brief.
50
51
  - **GATE (manual):** shared understanding reached — every detected branch has a
51
52
  recorded answer or an explicit deferral, no open contradictions, and the
52
53
  operator confirms the brief. Stop when a re-scan surfaces no new branches
@@ -0,0 +1,12 @@
1
+ # templates
2
+
3
+ Skeletons task-pipeline seeds into a host project. Only the **brief** is owned by
4
+ this plugin (it is the stage-0 intake artifact); the spec and plan skeletons come
5
+ from the `superpowers` skills, and the `docs/ux/*` skeletons from `super-ux`.
6
+
7
+ | Template | Seeded to | Stage |
8
+ |---|---|---|
9
+ | `brief.md` | `docs/superpowers/specs/YYYY-MM-DD-<topic>-brief.md` | 0 — intake grill |
10
+
11
+ Seeding rule (per the ssheleg canon): create a template copy **only when the
12
+ target is absent**; never overwrite an existing brief.
@@ -0,0 +1,35 @@
1
+ # Task brief — <topic>
2
+
3
+ > Stage-0 intake artifact. The grill fills this in and the operator confirms it
4
+ > before stage 1. Copy to `docs/superpowers/specs/YYYY-MM-DD-<topic>-brief.md`.
5
+ > Every field is a resolved decision or an explicit deferral — no open unknowns.
6
+
7
+ - **Date:** YYYY-MM-DD
8
+ - **Task (one line):** <what the operator asked for, restated>
9
+ - **UI verdict:** yes / no — does this touch a user-facing surface (web/mobile/CLI/TUI)?
10
+ If yes, the stage-3 super-ux UX track is armed.
11
+
12
+ ## Scope
13
+
14
+ - **In scope:** …
15
+ - **Out of scope / explicitly deferred:** … (with the reason and, for deferrals,
16
+ the latest moment the decision can still be made)
17
+
18
+ ## Users & context
19
+
20
+ - **Who / for what:** … (personas, the job being done)
21
+ - **Where it runs / constraints:** platform, runtime, data, integrations, limits
22
+
23
+ ## Decisions locked (the grill's output)
24
+
25
+ | # | Decision | Chosen | Rationale |
26
+ |---|---|---|---|
27
+ | 1 | … | … | … |
28
+
29
+ ## Done-criteria
30
+
31
+ - Observable, verifiable conditions that mean "this task is finished".
32
+
33
+ ## Open assumptions / risks
34
+
35
+ - Assumption → how it's validated (or flagged risky-untested).