Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ck",
"description": "Code Katz personas and workflows for Claude Code: the product-definition pipeline (/ck:opportunity, market-research, brief, prd, team, roadmap, architecture, brand-guide, design), /ck:panel (three lenses on three models), /ck:plan and /ck:start (a staged plan, then one named session per stage), /ck:do (one small task, quick and in the chat), /ck:next, /ck:claude-md (a project CLAUDE.md from ck's template), the memory gate (a proposal and your approval before any memory is saved), and the full persona roster, a complete cross-domain team, as ck:<name> subagents and /ck:<name> switch commands.",
"version": "0.1.16",
"version": "0.1.17",
"author": { "name": "Code Katz" }
}
15 changes: 15 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
| 0.1.13 | 2026-10-26 | The memory gate | Tag `v0.1.13` |
| 0.1.14 | 2026-10-26 | Questions in the message, never in the app's box | Tag `v0.1.14`; ck-next, under test |
| 0.1.16 | 2026-10-27 | A shorter `/ck:start`; a bar in a code span stays in its table cell | Tag `v0.1.16`; ck-next |
| 0.1.17 | 2026-10-27 | `/ck:start` puts up chips again | Tag `v0.1.17`; ck-next |

---

Expand Down Expand Up @@ -99,6 +100,20 @@ Later: the proof page tables

## Revision History

## [2026-10-27] 0.1.17: /ck:start puts up chips again

**Change Type:** `add`
**Triggered by:** `user-feedback`
**Items Affected:** Releases

### What Changed
0.1.17 is added to Releases. `/ck:start` opens a stage's session with the desktop app's `start_session` tool, as a chip the author clicks, in place of `spawn_task`, which the app no longer has. A fix to a finished stage gets a chip the same way.

### Why
In hireling on 2026-10-27, `/ck:start` found no `spawn_task` and printed blocks to paste. A coordinator on 2026-10-19 had already used `start_session` on its own; this makes every run do it.

---

## [2026-10-27] 0.1.16: a shorter /ck:start

**Change Type:** `add`
Expand Down
6 changes: 3 additions & 3 deletions skills/start/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Typing the command is the author's choice of how to work: send no greeting, ques
- `refresh.md`: step 2 finds a session to match.
- `state.md`: the author says "running", "done", or "back" and an id, or "save".
- `merge.md`: the author says "merge" and an id or a pull request number.
- `terminal.md`: the desktop app's session tools, `mcp__ccd_session_mgmt__list_sessions` and `mcp__ccd_session__spawn_task`, are missing (load them with ToolSearch when listed and not loaded).
- `terminal.md`: the desktop app's session tools, `mcp__ccd_session_mgmt__list_sessions` and `mcp__ccd_session__start_session`, are missing (load them with ToolSearch when listed and not loaded).

## 1. Find the plan

Expand Down Expand Up @@ -49,8 +49,8 @@ Run `<plan.py> card "<the plan>" <id> --plugin-root "${CLAUDE_PLUGIN_ROOT}"`.

- It refuses with a line: relay it. For the author's own job add "Say `done <id>` here when it is done."; for a design round, "Type `/ck:design <the feature>`, and say `done <id>` here when its spec is written."; for a row with no owner, "Type `/ck:plan` to give it an owner." Nothing is opened.
- It prints `"ready": false`: ask "`<id>` waits on `<each id in blocked_by, with the item in front when the plan has one, joined by and>`. Open it anyway?" On any answer but "yes", say "Nothing is opened for `<id>`.", change nothing, and stop.
- Otherwise, before the first card or block of this command, when `git status --porcelain -- "<the plan>" 2>/dev/null` prints anything, say once "The plan has changes that are not committed, so a new session reads the last committed copy or works from its card alone. Say `save` to commit the plan." Call `mcp__ccd_session__spawn_task` with the `title`, `tldr`, and `prompt` exactly as printed; the author asked for these cards by typing this command. Say "Card up: `<title>`. Click it, start it in its own worktree, and pick `<model>` as its model. It checks its own model before it works, and stops to tell you when it is on another. Say `running <id>` here once it is started." The author's click starts the session; you never start one.
- Otherwise, before the first card or block of this command, when `git status --porcelain -- "<the plan>" 2>/dev/null` prints anything, say once "The plan has changes that are not committed, so a new session reads the last committed copy or works from its card alone. Say `save` to commit the plan." Put up a chip: call `mcp__ccd_session__start_session` with `initiation` "own_initiative", `context` "fresh", `use_worktree` true, the `title` and `prompt` exactly as printed, `background` "Stage `<id>` of the plan `<the plan>`, opened by /ck:start: `<tldr>`", and `model` the id in `${CLAUDE_PLUGIN_ROOT}/tiers.conf` that holds the card's model word. The author asked for chips by typing this command; nothing runs until the author clicks one. Say "Chip up: `<title>`. Click it to start it. It checks its own model before it works, and stops to tell you when it is on another. Say `running <id>` here once it is started." The author's click starts the session; you never start one.

## 5. Never

Never do a stage's work here, open a session but by a card the author clicks or a block the author pastes, mark a row done without a merged pull request or the author's word, merge without the author's word for that stage, or change a State for a fix. Change nothing in the plan but a State cell; for anything else the author types `/ck:plan`.
Never do a stage's work here, open a session but by a chip the author clicks or a block the author pastes, mark a row done without a merged pull request or the author's word, merge without the author's word for that stage, or change a State for a fix. Change nothing in the plan but a State cell; for anything else the author types `/ck:plan`.
2 changes: 1 addition & 1 deletion skills/start/fix.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ CK_FAULT
```

- It refuses and says why in one line: relay that line. When the line says the name is too long, shorten the title and run it once more. Nothing is opened.
- Otherwise offer the card as step 4 of `SKILL.md` does, its sentence about a plan that is not committed included, with the `title`, `tldr`, and `prompt` exactly as printed. Say "Card up: `<title>`. Click it, start it in its own worktree, and pick `<model>` as its model. `<id>` stays done on the board. When the fix has a pull request, say `merge` and its number here."
- Otherwise put up a chip as step 4 of `SKILL.md` does, its sentence about a plan that is not committed included, with the `title`, `tldr`, and `prompt` exactly as printed and `background` "A fix to stage `<id>` of the plan `<the plan>`, opened by /ck:start: `<tldr>`". Say "Chip up: `<title>`. Click it to start it. `<id>` stays done on the board. When the fix has a pull request, say `merge` and its number here."

## Fix sessions on the board

Expand Down