liteagents 2.10.0 → 2.11.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
@@ -17,6 +17,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
17
17
 
18
18
  ---
19
19
 
20
+ ## [2.11.0] - 2026-07-03
21
+
22
+ ### Added
23
+ - **`/release` — end-to-end feature-delivery orchestrator, added across all four packages.** A thin orchestrator (it delegates, never re-implements): resolves a feature branch (arg → `git switch` to it; on `main` with no arg → creates `feat/<slug>` and carries the work over; otherwise the current branch), then runs `/ship` + `/security` + `/diff-review` under `/verify-done` discipline — reading each sibling command's real checklist so nothing is hand-waved. A hard gate splits the safe/read-only verify half from the irreversible release half (docs → version bump → commit → push → PR → merge → tag), which confirms each step. It **stops before `npm publish`** — `publish.yml` is manual `workflow_dispatch` by design. Counts: claude commands 8→9; droid/opencode/ampcode 17→18.
24
+
25
+ ### Fixed
26
+ - **Doc count drift corrected while adding `/release`.** `packages/ampcode/AGENT.md` had mis-filed `live-canvas` (a skill) under its Commands table, leaving Skills at 8 rows beneath a "9 total" header; moved it to Skills so both tables reconcile at 9. README's "Commands/Skills" section still listed a standalone `/friction` bullet (collapsed into `/remember` back in 2.9.0) — removed, and the section total corrected to match "9 skills + 9 commands".
27
+
28
+ ---
29
+
20
30
  ## [2.10.0] - 2026-06-16
21
31
 
22
32
  ### Changed
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  ╚══════╝╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝
10
10
  ```
11
11
 
12
- **AI development toolkit with 11 specialized agents and 17 commands per tool**
12
+ **AI development toolkit with 11 specialized agents and 18 commands per tool**
13
13
 
14
14
  <p align="center">
15
15
  <img src="https://img.shields.io/github/package-json/v/hamr0/liteagents?label=version&color=2a4f8c" alt="version (auto from package.json)">
@@ -45,10 +45,10 @@ liteagents
45
45
 
46
46
  ### Supported Tools
47
47
 
48
- - **Claude Code** - 11 subagents + 9 skills + 8 commands (+ optional live-canvas channel plugin)
49
- - **Opencode** - 11 agent references + 17 commands
50
- - **Ampcode** - 11 subagents + 17 commands
51
- - **Droid** - 11 agent references + 17 commands
48
+ - **Claude Code** - 11 subagents + 9 skills + 9 commands (+ optional live-canvas channel plugin)
49
+ - **Opencode** - 11 agent references + 18 commands
50
+ - **Ampcode** - 11 subagents + 18 commands
51
+ - **Droid** - 11 agent references + 18 commands
52
52
 
53
53
  **Key Difference:**
54
54
  - **Claude Code**: Full subagent system with orchestrator + skills (auto-triggering)
@@ -131,9 +131,8 @@ Results land in `.claude/friction/antigen_review.md` with projects, error patter
131
131
 
132
132
  **Manual Skills/Commands (15):**
133
133
 
134
- *Hot Memory Pipeline (3)* — see the [Hot Memory](#hot-memory--project-local-learning-from-your-own-sessions) section above for the full walkthrough:
134
+ *Hot Memory Pipeline (2)* — see the [Hot Memory](#hot-memory--project-local-learning-from-your-own-sessions) section above for the full walkthrough:
135
135
  - **stash** - Snapshot session context to `.claude/stash/` before compaction, handoff, or ending complex work
136
- - **friction** - Analyze all JSONL sessions for frustration signals, cluster failures per project, surface antigens
137
136
  - **remember** - Consolidate stashes + friction antigens into `.claude/memory/MEMORY.md`; auto-injected via `@MEMORY.md`
138
137
 
139
138
  *Design*:
@@ -150,6 +149,7 @@ Results land in `.claude/friction/antigen_review.md` with projects, error patter
150
149
  - **diff-review** - Review a file, branch, or range; verifies findings, fixes confirmed/unambiguous ones, asks on ambiguous or downstream-affecting ones
151
150
  - **security** - Vulnerability scan; same verify→fix→ask flow as `/diff-review`
152
151
  - **ship** - Pre-deployment checklist
152
+ - **release** - Deliver a feature end-to-end: verify → docs → merge → tag (publish stays manual)
153
153
  - **test-generate** - Generate test suites
154
154
 
155
155
  > **Claude-only plugin:** `live-canvas-channel` is a bundled Claude Code MCP channel plugin that ships under `~/.claude/plugins/live-canvas-marketplace/`. One-time `/plugin install` + a session started with `--dangerously-load-development-channels` unlocks live mode. Skill probes for the channel on each invocation and handholds setup when missing. See [`packages/claude/skills/live-canvas/README.md`](packages/claude/skills/live-canvas/README.md) for the full walkthrough.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "liteagents",
3
- "version": "2.10.0",
3
+ "version": "2.11.0",
4
4
  "description": "AI development toolkit with 11 specialized agents and 17 commands including live-canvas UI design with click-to-annotate feedback. Simple one-question installer for Claude, Opencode, Ampcode, and Droid.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -28,6 +28,7 @@ These subagents are available when using Ampcode CLI.
28
28
  |---|---|---|---|
29
29
  | brainstorming | Refines rough ideas into fully-formed designs through collaborative questioning | /brainstorming <session-type> <topic> | false |
30
30
  | docs-builder | Create comprehensive project documentation with structured /docs hierarchy | /docs-builder | false |
31
+ | live-canvas | Design UI variations and collect click-to-annotate feedback from the browser (batch mode only on Amp) | /live-canvas | false |
31
32
  | trace-back | Systematically traces bugs backward through call stack to identify source | /trace-back <issue-description> | false |
32
33
  | skill-creator | Guide for creating effective skills and extending Claude capabilities | /skill-creator <skill-type> <skill-description> | false |
33
34
  | debug-method | Four-phase debugging framework - investigate root cause before any fixes | /debug-method <bug-or-error-description> | false |
@@ -35,17 +36,17 @@ These subagents are available when using Ampcode CLI.
35
36
  | test-traps | Prevents testing mock behavior and production pollution with test-only methods | /test-traps <testing-scenario> | true |
36
37
  | verify-done | Requires running verification commands before making any success claims | /verify-done <work-to-verify> | true |
37
38
 
38
- ### Commands (8 total)
39
+ ### Commands (9 total)
39
40
 
40
41
  | ID | Description | Usage |
41
42
  |---|---|---|
42
- | live-canvas | Design UI variations and collect click-to-annotate feedback from the browser (batch mode only on Amp) | /live-canvas |
43
43
  | optimize | Analyze and optimize performance issues | /optimize <target-area> |
44
44
  | refactor | Refactor code while maintaining behavior and tests | /refactor <code-section> |
45
45
  | remember | Consolidate stashes + friction into project memory | /remember |
46
46
  | diff-review | Comprehensive code review including quality, tests, and architecture | /diff-review |
47
47
  | security | Security vulnerability scan and analysis | /security |
48
48
  | ship | Pre-deployment verification checklist | /ship |
49
+ | release | Deliver a feature end-to-end: verify, docs, merge, tag (publish stays manual) | /release [branch] |
49
50
  | stash | Save session context for compaction recovery or handoffs | /stash ["optional-name"] |
50
51
  | test-generate | Generate tests, run them, verify each one actually exercises the code | /test-generate <file> |
51
52
 
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: release
3
+ description: Deliver a feature end-to-end — verify, docs, merge, tag (publish stays manual)
4
+ usage: /release [branch]
5
+ argument-hint: [branch — new or existing; else current]
6
+ allowed-tools: Read, Grep, Glob, Edit, Write, Bash(git *), Bash(gh *), Bash(npm *), Bash(pnpm *), Bash(yarn *), Bash(pytest *), Bash(python *), Bash(go *), Bash(cargo *), Bash(make *)
7
+ ---
8
+ End-to-end feature-delivery **orchestrator**. It does **not** re-implement
9
+ checks — it runs your existing gates (`/ship`, `/security`, `/diff-review`)
10
+ under `/verify-done` discipline, then performs the release actions. Two halves
11
+ split by a hard gate: everything **before** the gate is safe and read-only;
12
+ everything **after** rewrites history and is confirmed step by step.
13
+
14
+ **A feature branch is required — `main` is only the merge target.** `$ARGUMENTS`
15
+ names the branch to release. Omit it only if you are already on a feature
16
+ branch. If you are on `main` with nothing named, a branch is created for you —
17
+ but you should be releasing a deliberately-named feature branch.
18
+
19
+ ## Phase 0 — Preflight (resolve a feature branch — never `main`)
20
+ - **Resolve the release branch** — whatever gets merged into `main`:
21
+ - `$ARGUMENTS` given → `git switch` to it (create it if it does not exist).
22
+ - else not on `main` → release the **current** branch.
23
+ - else on `main` with no arg → **create** `feat/<slug>` (named for the
24
+ change) and carry your working changes onto it. **Never release `main`.**
25
+ - **Land the feature on the branch** — if the working tree still has
26
+ uncommitted feature changes, commit them now; the gates must review a real
27
+ diff, not a dirty tree.
28
+ - `git fetch origin`; the release diff is `origin/main...HEAD` (now guaranteed
29
+ to be the resolved branch). If it is empty, **stop** — nothing to release.
30
+ - Print a one-line plan: branch · commit count · files changed.
31
+
32
+ ## Phase 1 — VERIFY (delegate; no hand-waving)
33
+ **First, load the real checklists.** Locate and **read** the sibling command
34
+ definitions so you apply their exact checks, not an approximation — glob your
35
+ installed commands/skills for `ship.md`, `security.md`, `diff-review.md`, and
36
+ `verify-done` (a skill or command). If one cannot be found, run that check from
37
+ its name and **flag that its full checklist was unavailable** — never pretend
38
+ it passed.
39
+
40
+ Then run each gate and capture **fresh evidence** — the exact command, its exit
41
+ code, and the result. Per `/verify-done`: a check you did **not** actually run
42
+ is a **FAIL**, never an assumed pass.
43
+ - **`/ship`** — pre-deploy gate (tests, lint, build, secrets, authz, rate
44
+ limit, data scope, migrations, docs-sync).
45
+ - **`/security`** — on the changed files.
46
+ - **`/diff-review`** — on `origin/main...HEAD`.
47
+
48
+ Emit a coverage table, one row per gate: `ran? ✓/✗` · evidence · verdict. If
49
+ any row is ✗ (could not run), the run is **Blocked 🛑** — do not continue.
50
+
51
+ ## 🚦 Gate
52
+ - **Any Critical** (failing tests/build, a Critical security or diff-review
53
+ finding) → **stop**, report, ask how to proceed. Touch no history.
54
+ - **Warnings, or anything you cannot confidently decide** → **stop**,
55
+ summarize, ask.
56
+ - **All clean** → continue to Phase 2.
57
+
58
+ ## Phase 2 — DOCS (only what the feature changed)
59
+ Update as needed, matching each file's existing format; touch nothing
60
+ unrelated. If a doc needs no change, **say so** rather than editing for its
61
+ own sake.
62
+ - **CHANGELOG.md** — new entry.
63
+ - **PRD** — the feature's PRD entry / status.
64
+ - **context / guide** — the project's context or guide doc.
65
+ - **README.md** — only if user-facing usage changed.
66
+
67
+ ## Phase 3 — RELEASE (irreversible — confirm each step)
68
+ 1. **Version bump** — pick the semver level from the change (patch / minor /
69
+ major; ask if ambiguous) and update `package.json`.
70
+ 2. **Commit** — `release: vX.Y.Z — <summary>`, including the docs + bump.
71
+ 3. **Push** the branch.
72
+ 4. **Open PR** — `gh pr create` into `main` (main is PR-protected: 1 approving
73
+ review).
74
+ 5. **Merge** — `gh pr merge --delete-branch`. If the review requirement blocks
75
+ it, **stop** and ask the user to approve — never force or bypass protection.
76
+ 6. **Tag** — after the merge, `git tag vX.Y.Z` on `main` and push it. Keep
77
+ cut→tag tight — one frozen step.
78
+
79
+ ## Stop here — publish is your call
80
+ Do **not** publish. `publish.yml` is manual `workflow_dispatch` **by design**.
81
+ Print the handoff:
82
+ > Merged, branch deleted, tagged **vX.Y.Z**. To publish, run it yourself:
83
+ > `gh workflow run publish.yml`
84
+ > Then confirm the version is actually live (`npm view <pkg> versions`) and
85
+ > validate the **installed** artifact, not the working tree.
86
+
87
+ Final report: **Delivered ✅ (vX.Y.Z — publish pending)** or **Blocked 🛑**
88
+ with the specific reason.
@@ -36,7 +36,7 @@ These subagents are available when using Claude Code CLI. Droid can reference th
36
36
  | test-traps | Prevents testing mock behavior and production pollution with test-only methods | /test-traps <testing-scenario> | true |
37
37
  | verify-done | Requires running verification commands before making any success claims | /verify-done <work-to-verify> | true |
38
38
 
39
- ### Commands (8 total)
39
+ ### Commands (9 total)
40
40
 
41
41
  | ID | Description | Usage |
42
42
  |---|---|---|
@@ -46,6 +46,7 @@ These subagents are available when using Claude Code CLI. Droid can reference th
46
46
  | diff-review | Comprehensive code review including quality, tests, and architecture | /diff-review |
47
47
  | security | Security vulnerability scan and analysis | /security |
48
48
  | ship | Pre-deployment verification checklist | /ship |
49
+ | release | Deliver a feature end-to-end: verify, docs, merge, tag (publish stays manual) | /release [branch] |
49
50
  | stash | Save session context for compaction recovery or handoffs | /stash ["optional-name"] |
50
51
  | test-generate | Generate tests, run them, verify each one actually exercises the code | /test-generate <file> |
51
52
 
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: release
3
+ description: Deliver a feature end-to-end — verify, docs, merge, tag (publish stays manual)
4
+ usage: /release [branch]
5
+ argument-hint: [branch — new or existing; else current]
6
+ allowed-tools: Read, Grep, Glob, Edit, Write, Bash(git:*), Bash(gh:*), Bash(npm:*), Bash(pnpm:*), Bash(yarn:*), Bash(pytest:*), Bash(python:*), Bash(go:*), Bash(cargo:*), Bash(make:*)
7
+ ---
8
+ End-to-end feature-delivery **orchestrator**. It does **not** re-implement
9
+ checks — it runs your existing gates (`/ship`, `/security`, `/diff-review`)
10
+ under `/verify-done` discipline, then performs the release actions. Two halves
11
+ split by a hard gate: everything **before** the gate is safe and read-only;
12
+ everything **after** rewrites history and is confirmed step by step.
13
+
14
+ **A feature branch is required — `main` is only the merge target.** `$ARGUMENTS`
15
+ names the branch to release. Omit it only if you are already on a feature
16
+ branch. If you are on `main` with nothing named, a branch is created for you —
17
+ but you should be releasing a deliberately-named feature branch.
18
+
19
+ ## Phase 0 — Preflight (resolve a feature branch — never `main`)
20
+ - **Resolve the release branch** — whatever gets merged into `main`:
21
+ - `$ARGUMENTS` given → `git switch` to it (create it if it does not exist).
22
+ - else not on `main` → release the **current** branch.
23
+ - else on `main` with no arg → **create** `feat/<slug>` (named for the
24
+ change) and carry your working changes onto it. **Never release `main`.**
25
+ - **Land the feature on the branch** — if the working tree still has
26
+ uncommitted feature changes, commit them now; the gates must review a real
27
+ diff, not a dirty tree.
28
+ - `git fetch origin`; the release diff is `origin/main...HEAD` (now guaranteed
29
+ to be the resolved branch). If it is empty, **stop** — nothing to release.
30
+ - Print a one-line plan: branch · commit count · files changed.
31
+
32
+ ## Phase 1 — VERIFY (delegate; no hand-waving)
33
+ **First, load the real checklists.** Locate and **read** the sibling command
34
+ definitions so you apply their exact checks, not an approximation — glob your
35
+ installed commands/skills for `ship.md`, `security.md`, `diff-review.md`, and
36
+ `verify-done` (a skill or command). If one cannot be found, run that check from
37
+ its name and **flag that its full checklist was unavailable** — never pretend
38
+ it passed.
39
+
40
+ Then run each gate and capture **fresh evidence** — the exact command, its exit
41
+ code, and the result. Per `/verify-done`: a check you did **not** actually run
42
+ is a **FAIL**, never an assumed pass.
43
+ - **`/ship`** — pre-deploy gate (tests, lint, build, secrets, authz, rate
44
+ limit, data scope, migrations, docs-sync).
45
+ - **`/security`** — on the changed files.
46
+ - **`/diff-review`** — on `origin/main...HEAD`.
47
+
48
+ Emit a coverage table, one row per gate: `ran? ✓/✗` · evidence · verdict. If
49
+ any row is ✗ (could not run), the run is **Blocked 🛑** — do not continue.
50
+
51
+ ## 🚦 Gate
52
+ - **Any Critical** (failing tests/build, a Critical security or diff-review
53
+ finding) → **stop**, report, ask how to proceed. Touch no history.
54
+ - **Warnings, or anything you cannot confidently decide** → **stop**,
55
+ summarize, ask.
56
+ - **All clean** → continue to Phase 2.
57
+
58
+ ## Phase 2 — DOCS (only what the feature changed)
59
+ Update as needed, matching each file's existing format; touch nothing
60
+ unrelated. If a doc needs no change, **say so** rather than editing for its
61
+ own sake.
62
+ - **CHANGELOG.md** — new entry.
63
+ - **PRD** — the feature's PRD entry / status.
64
+ - **context / guide** — the project's context or guide doc.
65
+ - **README.md** — only if user-facing usage changed.
66
+
67
+ ## Phase 3 — RELEASE (irreversible — confirm each step)
68
+ 1. **Version bump** — pick the semver level from the change (patch / minor /
69
+ major; ask if ambiguous) and update `package.json`.
70
+ 2. **Commit** — `release: vX.Y.Z — <summary>`, including the docs + bump.
71
+ 3. **Push** the branch.
72
+ 4. **Open PR** — `gh pr create` into `main` (main is PR-protected: 1 approving
73
+ review).
74
+ 5. **Merge** — `gh pr merge --delete-branch`. If the review requirement blocks
75
+ it, **stop** and ask the user to approve — never force or bypass protection.
76
+ 6. **Tag** — after the merge, `git tag vX.Y.Z` on `main` and push it. Keep
77
+ cut→tag tight — one frozen step.
78
+
79
+ ## Stop here — publish is your call
80
+ Do **not** publish. `publish.yml` is manual `workflow_dispatch` **by design**.
81
+ Print the handoff:
82
+ > Merged, branch deleted, tagged **vX.Y.Z**. To publish, run it yourself:
83
+ > `gh workflow run publish.yml`
84
+ > Then confirm the version is actually live (`npm view <pkg> versions`) and
85
+ > validate the **installed** artifact, not the working tree.
86
+
87
+ Final report: **Delivered ✅ (vX.Y.Z — publish pending)** or **Blocked 🛑**
88
+ with the specific reason.
@@ -22,7 +22,7 @@ These subagents are available when using Claude Code CLI. Droid can reference th
22
22
  | system-architect | Architect | Use for system design, architecture documents, technology selection, API design, and infrastructure planning |
23
23
  | ui-designer | UX Expert | Use for UI/UX design, wireframes, prototypes, front-end specifications, and user experience optimization |
24
24
 
25
- ## Droid Commands (17 total)
25
+ ## Droid Commands (18 total)
26
26
 
27
27
  | ID | Description | Usage | Auto |
28
28
  |---|---|---|---|
@@ -36,6 +36,7 @@ These subagents are available when using Claude Code CLI. Droid can reference th
36
36
  | trace-back | Systematically traces bugs backward through call stack to identify source | /trace-back <issue-description> | false |
37
37
  | security | Security vulnerability scan and analysis | /security | - |
38
38
  | ship | Pre-deployment verification checklist | /ship | - |
39
+ | release | Deliver a feature end-to-end: verify, docs, merge, tag (publish stays manual) | /release [branch] | - |
39
40
  | skill-creator | Guide for creating effective skills and extending Claude capabilities | /skill-creator <skill-type> <skill-description> | false |
40
41
  | stash | Save session context for compaction recovery or handoffs | /stash ["optional-name"] | - |
41
42
  | debug-method | Four-phase debugging framework - investigate root cause before any fixes | /debug-method <bug-or-error-description> | false |
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: release
3
+ description: Deliver a feature end-to-end — verify, docs, merge, tag (publish stays manual)
4
+ usage: /release [branch]
5
+ argument-hint: [branch — new or existing; else current]
6
+ allowed-tools: Read, Grep, Glob, Edit, Write, Bash(git *), Bash(gh *), Bash(npm *), Bash(pnpm *), Bash(yarn *), Bash(pytest *), Bash(python *), Bash(go *), Bash(cargo *), Bash(make *)
7
+ ---
8
+ End-to-end feature-delivery **orchestrator**. It does **not** re-implement
9
+ checks — it runs your existing gates (`/ship`, `/security`, `/diff-review`)
10
+ under `/verify-done` discipline, then performs the release actions. Two halves
11
+ split by a hard gate: everything **before** the gate is safe and read-only;
12
+ everything **after** rewrites history and is confirmed step by step.
13
+
14
+ **A feature branch is required — `main` is only the merge target.** `$ARGUMENTS`
15
+ names the branch to release. Omit it only if you are already on a feature
16
+ branch. If you are on `main` with nothing named, a branch is created for you —
17
+ but you should be releasing a deliberately-named feature branch.
18
+
19
+ ## Phase 0 — Preflight (resolve a feature branch — never `main`)
20
+ - **Resolve the release branch** — whatever gets merged into `main`:
21
+ - `$ARGUMENTS` given → `git switch` to it (create it if it does not exist).
22
+ - else not on `main` → release the **current** branch.
23
+ - else on `main` with no arg → **create** `feat/<slug>` (named for the
24
+ change) and carry your working changes onto it. **Never release `main`.**
25
+ - **Land the feature on the branch** — if the working tree still has
26
+ uncommitted feature changes, commit them now; the gates must review a real
27
+ diff, not a dirty tree.
28
+ - `git fetch origin`; the release diff is `origin/main...HEAD` (now guaranteed
29
+ to be the resolved branch). If it is empty, **stop** — nothing to release.
30
+ - Print a one-line plan: branch · commit count · files changed.
31
+
32
+ ## Phase 1 — VERIFY (delegate; no hand-waving)
33
+ **First, load the real checklists.** Locate and **read** the sibling command
34
+ definitions so you apply their exact checks, not an approximation — glob your
35
+ installed commands/skills for `ship.md`, `security.md`, `diff-review.md`, and
36
+ `verify-done` (a skill or command). If one cannot be found, run that check from
37
+ its name and **flag that its full checklist was unavailable** — never pretend
38
+ it passed.
39
+
40
+ Then run each gate and capture **fresh evidence** — the exact command, its exit
41
+ code, and the result. Per `/verify-done`: a check you did **not** actually run
42
+ is a **FAIL**, never an assumed pass.
43
+ - **`/ship`** — pre-deploy gate (tests, lint, build, secrets, authz, rate
44
+ limit, data scope, migrations, docs-sync).
45
+ - **`/security`** — on the changed files.
46
+ - **`/diff-review`** — on `origin/main...HEAD`.
47
+
48
+ Emit a coverage table, one row per gate: `ran? ✓/✗` · evidence · verdict. If
49
+ any row is ✗ (could not run), the run is **Blocked 🛑** — do not continue.
50
+
51
+ ## 🚦 Gate
52
+ - **Any Critical** (failing tests/build, a Critical security or diff-review
53
+ finding) → **stop**, report, ask how to proceed. Touch no history.
54
+ - **Warnings, or anything you cannot confidently decide** → **stop**,
55
+ summarize, ask.
56
+ - **All clean** → continue to Phase 2.
57
+
58
+ ## Phase 2 — DOCS (only what the feature changed)
59
+ Update as needed, matching each file's existing format; touch nothing
60
+ unrelated. If a doc needs no change, **say so** rather than editing for its
61
+ own sake.
62
+ - **CHANGELOG.md** — new entry.
63
+ - **PRD** — the feature's PRD entry / status.
64
+ - **context / guide** — the project's context or guide doc.
65
+ - **README.md** — only if user-facing usage changed.
66
+
67
+ ## Phase 3 — RELEASE (irreversible — confirm each step)
68
+ 1. **Version bump** — pick the semver level from the change (patch / minor /
69
+ major; ask if ambiguous) and update `package.json`.
70
+ 2. **Commit** — `release: vX.Y.Z — <summary>`, including the docs + bump.
71
+ 3. **Push** the branch.
72
+ 4. **Open PR** — `gh pr create` into `main` (main is PR-protected: 1 approving
73
+ review).
74
+ 5. **Merge** — `gh pr merge --delete-branch`. If the review requirement blocks
75
+ it, **stop** and ask the user to approve — never force or bypass protection.
76
+ 6. **Tag** — after the merge, `git tag vX.Y.Z` on `main` and push it. Keep
77
+ cut→tag tight — one frozen step.
78
+
79
+ ## Stop here — publish is your call
80
+ Do **not** publish. `publish.yml` is manual `workflow_dispatch` **by design**.
81
+ Print the handoff:
82
+ > Merged, branch deleted, tagged **vX.Y.Z**. To publish, run it yourself:
83
+ > `gh workflow run publish.yml`
84
+ > Then confirm the version is actually live (`npm view <pkg> versions`) and
85
+ > validate the **installed** artifact, not the working tree.
86
+
87
+ Final report: **Delivered ✅ (vX.Y.Z — publish pending)** or **Blocked 🛑**
88
+ with the specific reason.
@@ -22,7 +22,7 @@ These subagents are available when using Claude Code CLI. Opencode can reference
22
22
  | system-architect | Architect | Use for system design, architecture documents, technology selection, API design, and infrastructure planning |
23
23
  | ui-designer | UX Expert | Use for UI/UX design, wireframes, prototypes, front-end specifications, and user experience optimization |
24
24
 
25
- ## Opencode Commands (17 total)
25
+ ## Opencode Commands (18 total)
26
26
 
27
27
  | ID | Description | Usage | Auto |
28
28
  |---|---|---|---|
@@ -36,6 +36,7 @@ These subagents are available when using Claude Code CLI. Opencode can reference
36
36
  | trace-back | Systematically traces bugs backward through call stack to identify source | /trace-back <issue-description> | false |
37
37
  | security | Security vulnerability scan and analysis | /security | - |
38
38
  | ship | Pre-deployment verification checklist | /ship | - |
39
+ | release | Deliver a feature end-to-end: verify, docs, merge, tag (publish stays manual) | /release [branch] | - |
39
40
  | skill-creator | Guide for creating effective skills and extending Claude capabilities | /skill-creator <skill-type> <skill-description> | false |
40
41
  | stash | Save session context for compaction recovery or handoffs | /stash ["optional-name"] | - |
41
42
  | debug-method | Four-phase debugging framework - investigate root cause before any fixes | /debug-method <bug-or-error-description> | false |
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: release
3
+ description: Deliver a feature end-to-end — verify, docs, merge, tag (publish stays manual)
4
+ usage: /release [branch]
5
+ argument-hint: [branch — new or existing; else current]
6
+ allowed-tools: Read, Grep, Glob, Edit, Write, Bash(git *), Bash(gh *), Bash(npm *), Bash(pnpm *), Bash(yarn *), Bash(pytest *), Bash(python *), Bash(go *), Bash(cargo *), Bash(make *)
7
+ ---
8
+ End-to-end feature-delivery **orchestrator**. It does **not** re-implement
9
+ checks — it runs your existing gates (`/ship`, `/security`, `/diff-review`)
10
+ under `/verify-done` discipline, then performs the release actions. Two halves
11
+ split by a hard gate: everything **before** the gate is safe and read-only;
12
+ everything **after** rewrites history and is confirmed step by step.
13
+
14
+ **A feature branch is required — `main` is only the merge target.** `$ARGUMENTS`
15
+ names the branch to release. Omit it only if you are already on a feature
16
+ branch. If you are on `main` with nothing named, a branch is created for you —
17
+ but you should be releasing a deliberately-named feature branch.
18
+
19
+ ## Phase 0 — Preflight (resolve a feature branch — never `main`)
20
+ - **Resolve the release branch** — whatever gets merged into `main`:
21
+ - `$ARGUMENTS` given → `git switch` to it (create it if it does not exist).
22
+ - else not on `main` → release the **current** branch.
23
+ - else on `main` with no arg → **create** `feat/<slug>` (named for the
24
+ change) and carry your working changes onto it. **Never release `main`.**
25
+ - **Land the feature on the branch** — if the working tree still has
26
+ uncommitted feature changes, commit them now; the gates must review a real
27
+ diff, not a dirty tree.
28
+ - `git fetch origin`; the release diff is `origin/main...HEAD` (now guaranteed
29
+ to be the resolved branch). If it is empty, **stop** — nothing to release.
30
+ - Print a one-line plan: branch · commit count · files changed.
31
+
32
+ ## Phase 1 — VERIFY (delegate; no hand-waving)
33
+ **First, load the real checklists.** Locate and **read** the sibling command
34
+ definitions so you apply their exact checks, not an approximation — glob your
35
+ installed commands/skills for `ship.md`, `security.md`, `diff-review.md`, and
36
+ `verify-done` (a skill or command). If one cannot be found, run that check from
37
+ its name and **flag that its full checklist was unavailable** — never pretend
38
+ it passed.
39
+
40
+ Then run each gate and capture **fresh evidence** — the exact command, its exit
41
+ code, and the result. Per `/verify-done`: a check you did **not** actually run
42
+ is a **FAIL**, never an assumed pass.
43
+ - **`/ship`** — pre-deploy gate (tests, lint, build, secrets, authz, rate
44
+ limit, data scope, migrations, docs-sync).
45
+ - **`/security`** — on the changed files.
46
+ - **`/diff-review`** — on `origin/main...HEAD`.
47
+
48
+ Emit a coverage table, one row per gate: `ran? ✓/✗` · evidence · verdict. If
49
+ any row is ✗ (could not run), the run is **Blocked 🛑** — do not continue.
50
+
51
+ ## 🚦 Gate
52
+ - **Any Critical** (failing tests/build, a Critical security or diff-review
53
+ finding) → **stop**, report, ask how to proceed. Touch no history.
54
+ - **Warnings, or anything you cannot confidently decide** → **stop**,
55
+ summarize, ask.
56
+ - **All clean** → continue to Phase 2.
57
+
58
+ ## Phase 2 — DOCS (only what the feature changed)
59
+ Update as needed, matching each file's existing format; touch nothing
60
+ unrelated. If a doc needs no change, **say so** rather than editing for its
61
+ own sake.
62
+ - **CHANGELOG.md** — new entry.
63
+ - **PRD** — the feature's PRD entry / status.
64
+ - **context / guide** — the project's context or guide doc.
65
+ - **README.md** — only if user-facing usage changed.
66
+
67
+ ## Phase 3 — RELEASE (irreversible — confirm each step)
68
+ 1. **Version bump** — pick the semver level from the change (patch / minor /
69
+ major; ask if ambiguous) and update `package.json`.
70
+ 2. **Commit** — `release: vX.Y.Z — <summary>`, including the docs + bump.
71
+ 3. **Push** the branch.
72
+ 4. **Open PR** — `gh pr create` into `main` (main is PR-protected: 1 approving
73
+ review).
74
+ 5. **Merge** — `gh pr merge --delete-branch`. If the review requirement blocks
75
+ it, **stop** and ask the user to approve — never force or bypass protection.
76
+ 6. **Tag** — after the merge, `git tag vX.Y.Z` on `main` and push it. Keep
77
+ cut→tag tight — one frozen step.
78
+
79
+ ## Stop here — publish is your call
80
+ Do **not** publish. `publish.yml` is manual `workflow_dispatch` **by design**.
81
+ Print the handoff:
82
+ > Merged, branch deleted, tagged **vX.Y.Z**. To publish, run it yourself:
83
+ > `gh workflow run publish.yml`
84
+ > Then confirm the version is actually live (`npm view <pkg> versions`) and
85
+ > validate the **installed** artifact, not the working tree.
86
+
87
+ Final report: **Delivered ✅ (vX.Y.Z — publish pending)** or **Blocked 🛑**
88
+ with the specific reason.
@@ -169,6 +169,10 @@
169
169
  "template": "{file:./command/ship.md}",
170
170
  "description": "Pre-deployment verification checklist"
171
171
  },
172
+ "release": {
173
+ "template": "{file:./command/release.md}",
174
+ "description": "Deliver a feature end-to-end: verify, docs, merge, tag (publish stays manual)"
175
+ },
172
176
  "remember": {
173
177
  "template": "{file:./command/remember.md}",
174
178
  "description": "Consolidate stashes + friction into project memory"
@@ -54,8 +54,8 @@ Install for your platform:
54
54
  - tdd-flow, test-traps, verify-done (auto-trigger)
55
55
  - brainstorming, debug-method, docs-builder, live-canvas, etc.
56
56
 
57
- **8 Commands** - Simple workflow helpers
58
- - optimize, refactor, remember, diff-review, security, ship, stash, test-generate
57
+ **9 Commands** - Simple workflow helpers
58
+ - optimize, refactor, remember, diff-review, security, ship, release, stash, test-generate
59
59
 
60
60
  **Orchestration System**
61
61
  - Automatic intent matching to 9 workflow patterns
@@ -117,17 +117,18 @@ Install for your platform:
117
117
  - `skill-creator` - Guide for creating new skills
118
118
  - `debug-method` - Four-phase debugging framework
119
119
 
120
- **Simple Commands (8)**
120
+ **Simple Commands (9)**
121
121
  - `optimize` - Performance analysis
122
122
  - `refactor` - Maintain behavior while improving code
123
123
  - `remember` - Consolidate stashes + friction into project memory
124
124
  - `diff-review` - Review a file, branch, or range; verifies findings before fixing
125
125
  - `security` - Vulnerability scanning
126
126
  - `ship` - Pre-deployment checklist
127
+ - `release` - Deliver a feature end-to-end: verify → docs → merge → tag (publish stays manual)
127
128
  - `stash` - Save session context for compaction recovery or handoffs
128
129
  - `test-generate` - Test suite generation
129
130
 
130
- ### Droid/OpenCode: 17 Commands
131
+ ### Droid/OpenCode: 18 Commands
131
132
 
132
133
  Same functionality as skills+commands, but:
133
134
  - All invoked as commands (no auto-triggering)
@@ -137,7 +138,7 @@ Same functionality as skills+commands, but:
137
138
 
138
139
  **Command Categories**:
139
140
  - **Development & Testing (6)**: tdd-flow, test-traps, test-generate, debug-method, trace-back, verify-done
140
- - **Code Operations (5)**: refactor, optimize, diff-review, security, ship
141
+ - **Code Operations (6)**: refactor, optimize, diff-review, security, ship, release
141
142
  - **Session & Memory (5)**: brainstorming, skill-creator, docs-builder, stash, remember
142
143
  - **Design (1)**: live-canvas
143
144