@esthernandez/vibe-cartographer 1.0.0 → 1.0.2

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
@@ -9,6 +9,17 @@ All notable changes to this project are documented here. The format follows [Kee
9
9
 
10
10
  - Nothing yet.
11
11
 
12
+ ## [1.0.1] — 2026-04-15 — Install docs
13
+
14
+ ### Changed
15
+
16
+ - **README and INSTALL rewritten** to document all three Claude Desktop install paths: **Add marketplace** (recommended — pulls from GitHub via `.claude-plugin/marketplace.json`), **npm install -g** (for Claude Code CLI / VS Code / JetBrains), and **Upload plugin** (for local iteration via `python scripts/build-plugin.py`).
17
+ - Added a **"Which option should I use?"** decision table mapping situation → recommended install path.
18
+ - Added a reproducible `scripts/build-plugin.py` build script that produces a `.plugin` bundle in `bundles/` for the upload-plugin path. Excludes `dist/`, `node_modules/`, `src/`, and other runtime/build artifacts per Cowork's plugin spec.
19
+ - GitHub releases now ship a pre-built `.plugin` file as a release asset for one-click downloads.
20
+
21
+ No behavior changes — this release exists so the npm-published README on `npmjs.com/package/@esthernandez/vibe-cartographer` reflects the marketplace install path.
22
+
12
23
  ## [1.0.0] — 2026-04-15 — Rebrand to Vibe Cartographer
13
24
 
14
25
  The plugin formerly known as `@esthernandez/app-project-readiness` is now **Vibe Cartographer**. Same 8-command spec-driven workflow, same personas, same session memory — new name that actually says what the plugin does: *plot your course from idea to shipped app*.
package/INSTALL.md CHANGED
@@ -8,42 +8,69 @@
8
8
 
9
9
  ## Install paths
10
10
 
11
- You only need one of these. Pick whichever matches how you're already running Claude Code.
11
+ Pick whichever matches how you're running Claude Code. All three lead to the same plugin working.
12
12
 
13
- ### Option 1: npm (recommended)
13
+ ### Option 1: Claude Desktop — Add marketplace (recommended)
14
+
15
+ The cleanest path. Pulls from GitHub directly, supports `Sync` to update, no file downloads.
16
+
17
+ 1. Open Claude Desktop → **Personal plugins** panel (left sidebar)
18
+ 2. Click the **+** button → **Add marketplace**
19
+ 3. Enter: `estevanhernandez-stack-ed/vibe-cartographer`
20
+ 4. Click **Sync**
21
+
22
+ Claude Desktop reads `.claude-plugin/marketplace.json` at the repo root, discovers the `vibe-cartographer` plugin inside `./plugins/vibe-cartographer`, and registers its slash commands. Updates propagate by clicking **Sync** again on the marketplace entry.
23
+
24
+ ### Option 2: Claude Code CLI — npm
25
+
26
+ For users running Claude Code in a terminal, VS Code, or JetBrains.
14
27
 
15
28
  ```bash
16
29
  npm install -g @esthernandez/vibe-cartographer
17
30
  ```
18
31
 
19
- This drops the plugin files on your disk at your npm global root — typically `~/.npm-global/lib/node_modules/@esthernandez/vibe-cartographer/` on macOS/Linux or `%APPDATA%\npm\node_modules\@esthernandez\vibe-cartographer\` on Windows. You then need to tell Claude Code about them — see [Connecting to Claude Code](#connecting-to-claude-code) below.
32
+ This drops the plugin files at:
20
33
 
21
- ### Option 2: Claude Desktop — Personal plugin
34
+ - **macOS/Linux:** `~/.npm-global/lib/node_modules/@esthernandez/vibe-cartographer/plugins/vibe-cartographer/`
35
+ - **Windows:** `%APPDATA%\npm\node_modules\@esthernandez\vibe-cartographer\plugins\vibe-cartographer\`
22
36
 
23
- If you're on the Claude Desktop app and don't want an npm install:
37
+ If your Claude Code CLI has a `plugin add <path>` command, point it at that path. Otherwise, use Option 1 (Add marketplace) — it works for CLI clients too because Claude Code reads marketplace entries from the global plugin config.
24
38
 
25
- 1. Open **Personal plugins** in Claude Desktop (the panel in the left sidebar).
26
- 2. Click the **+** button → **Create plugin**.
27
- 3. Point it at a local clone of this repo (see Option 3 for the clone step).
28
- 4. The plugin's slash commands become available immediately — no restart required.
39
+ ### Option 3: Claude Desktop Upload plugin (for local iteration)
29
40
 
30
- ### Option 3: Clone and reference locally
41
+ For testing changes locally before pushing them to GitHub.
31
42
 
32
- ```bash
33
- git clone https://github.com/estevanhernandez-stack-ed/vibe-cartographer ~/vibe-cartographer
34
- ```
43
+ 1. Clone the repo:
44
+
45
+ ```bash
46
+ git clone https://github.com/estevanhernandez-stack-ed/vibe-cartographer
47
+ cd vibe-cartographer
48
+ ```
49
+
50
+ 2. Build a `.plugin` bundle:
51
+
52
+ ```bash
53
+ python scripts/build-plugin.py
54
+ ```
55
+
56
+ This writes `bundles/vibe-cartographer-<version>.plugin` — a zip archive Cowork accepts directly. The script excludes `dist/`, `node_modules/`, `src/`, and other runtime/build artifacts per Cowork's plugin spec.
57
+
58
+ 3. In Claude Desktop → **Personal plugins** → **+** → **Upload plugin**, pick the `.plugin` file.
35
59
 
36
- Then point Claude Code at `~/vibe-cartographer/plugins/vibe-cartographer/` as the plugin root. This is the same as Option 2 minus the Claude Desktop UI step useful if you're on the Claude Code CLI directly.
60
+ You can also download a pre-built `.plugin` file from the [GitHub releases page](https://github.com/estevanhernandez-stack-ed/vibe-cartographer/releases)each tagged release ships a ready-to-upload asset.
37
61
 
38
- ## Connecting to Claude Code
62
+ ## Which option should I use?
39
63
 
40
- After installing, Claude Code needs to know where the plugin lives. The exact steps depend on your client:
64
+ | Situation | Option |
65
+ | ---------------------------------------------------- | --------------------------------------------------------------------------------- |
66
+ | I use Claude Desktop and want the simplest install | **Option 1** (Add marketplace) |
67
+ | I use Claude Code CLI / VS Code / JetBrains | **Option 2** (npm) — then use Option 1 in Claude Desktop if you also use it there |
68
+ | I'm developing or testing plugin changes locally | **Option 3** (Upload plugin) |
69
+ | I want to install without an internet connection | **Option 3** — download the `.plugin` from releases ahead of time |
41
70
 
42
- - **Claude Desktop** — use the **Personal plugins** panel (**+** button → **Create plugin** → point at the folder). Same flow for Option 1 (point at the npm install path) and Option 3 (point at your local clone).
43
- - **Claude Code CLI** — if your version has a plugin-add command, point it at the install path. Otherwise clone the repo and rely on Claude Code's plugin discovery for folders in its known marketplace list.
44
- - **VS Code / JetBrains** — Claude Code in your IDE reads from the same global plugin config as Claude Desktop. Install via Option 2 on Claude Desktop first and the IDE will pick it up on next launch.
71
+ ## Verifying the install
45
72
 
46
- **Pointing at the right folder matters.** The plugin root is the folder that contains `.claude-plugin/plugin.json` in this repo that's `plugins/vibe-cartographer/`, not the repo root. Pointing at the repo root will not work.
73
+ **The plugin root is the folder that contains `.claude-plugin/plugin.json`.** In this repo that's `plugins/vibe-cartographer/`, not the repo root. Most install paths handle this automatically (marketplace manifest tells Claude Desktop where to look), but if you're troubleshooting, that's the folder to point at.
47
74
 
48
75
  ## Verification
49
76
 
package/README.md CHANGED
@@ -54,40 +54,50 @@ See [`plugins/vibe-cartographer/architecture/`](plugins/vibe-cartographer/archit
54
54
 
55
55
  ## Install
56
56
 
57
- Requires [Claude Code](https://claude.ai/code) or Claude Desktop with plugin support.
57
+ Requires [Claude Code](https://claude.ai/code) CLI or Claude Desktop with plugin support. Pick whichever path matches how you're running Claude Code — all three lead to the same plugin working inside a fresh project folder.
58
58
 
59
- ### Option 1: npm (recommended)
59
+ ### Option 1: Claude Desktop — Add marketplace (recommended)
60
+
61
+ The cleanest install. Pulls straight from GitHub, no file download, supports `Sync` to update.
62
+
63
+ 1. Open Claude Desktop → **Personal plugins** panel
64
+ 2. Click the **+** button → **Add marketplace**
65
+ 3. Enter: `estevanhernandez-stack-ed/vibe-cartographer`
66
+ 4. Click **Sync**
67
+
68
+ Claude Desktop reads `.claude-plugin/marketplace.json` at the repo root, loads the `vibe-cartographer` plugin from inside `./plugins/vibe-cartographer`, and the slash commands (`/onboard`, `/scope`, `/prd`, etc.) become available.
69
+
70
+ ### Option 2: Claude Code CLI — npm
60
71
 
61
72
  ```bash
62
73
  npm install -g @esthernandez/vibe-cartographer
63
74
  ```
64
75
 
65
- Then in Claude Code / Claude Desktop, point your personal plugins at the installed path:
76
+ The package ships the plugin files at `<npm-global>/node_modules/@esthernandez/vibe-cartographer/plugins/vibe-cartographer/`. If your Claude Code CLI has a plugin-add command, point it at that path; otherwise use Option 1 (Add marketplace) and the marketplace manifest will do the discovery for you.
66
77
 
67
- - macOS/Linux: `~/.npm-global/lib/node_modules/@esthernandez/vibe-cartographer/plugins/vibe-cartographer`
68
- - Windows: `%APPDATA%\npm\node_modules\@esthernandez\vibe-cartographer\plugins\vibe-cartographer`
78
+ ### Option 3: Claude Desktop — Upload plugin
69
79
 
70
- ### Option 2: Claude Desktop personal plugin
80
+ For local iteration before you push changes to GitHub.
71
81
 
72
- 1. Open Claude Desktop's **Personal plugins** panel.
73
- 2. Click **+ Create a plugin**.
74
- 3. Point it to the `plugins/vibe-cartographer` folder from this repo (cloned or downloaded).
75
- 4. The slash commands (`/onboard`, `/scope`, `/prd`, etc.) become available.
82
+ 1. Clone the repo: `git clone https://github.com/estevanhernandez-stack-ed/vibe-cartographer`
83
+ 2. Build a `.plugin` bundle:
76
84
 
77
- ### Option 3: Clone and reference locally
85
+ ```bash
86
+ python scripts/build-plugin.py
87
+ ```
78
88
 
79
- ```bash
80
- git clone https://github.com/estevanhernandez-stack-ed/vibe-cartographer ~/vibe-cartographer
81
- ```
89
+ This writes `bundles/vibe-cartographer-<version>.plugin` — a zip archive Cowork accepts directly.
90
+ 3. In Claude Desktop → **Personal plugins** → **+** → **Upload plugin**, pick the `.plugin` file.
82
91
 
83
- Then point your Claude Code / Claude Desktop at `~/vibe-cartographer/plugins/vibe-cartographer`.
92
+ Also available as a one-click download from the [GitHub releases page](https://github.com/estevanhernandez-stack-ed/vibe-cartographer/releases) — each release ships a pre-built `.plugin` file as a release asset.
84
93
 
85
94
  ### Migrating from `@esthernandez/app-project-readiness`
86
95
 
87
- Vibe Cartographer is the rename of what was previously `@esthernandez/app-project-readiness` (v0.5.0 and earlier). The migration is automatic:
96
+ Vibe Cartographer is the rename of what was previously `@esthernandez/app-project-readiness` (v0.5.0 and earlier). Migration is automatic on first `/onboard` run:
88
97
 
89
- - Your unified builder profile at `~/.claude/profiles/builder.json` gets its `plugins.app-project-readiness` block copied to `plugins.vibe-cartographer` on first v1.0.0+ run.
90
- - The old `@esthernandez/app-project-readiness` npm package is deprecated. Run `npm install -g @esthernandez/vibe-cartographer` and uninstall the old one when you're ready.
98
+ - Your unified builder profile at `~/.claude/profiles/builder.json` gets its `plugins.app-project-readiness` block copied to `plugins.vibe-cartographer` (old key preserved for one release as a safety net).
99
+ - Deep-legacy markdown profiles at `~/.claude/plugins/data/app-project-readiness/user-profile.md` also migrate.
100
+ - The old `@esthernandez/app-project-readiness` npm package is deprecated with a pointer. Run `npm install -g @esthernandez/vibe-cartographer` and uninstall the old one when you're ready.
91
101
  - Legacy session logs at `~/.claude/plugins/data/app-project-readiness/sessions/` are left in place — append-only history isn't touched.
92
102
 
93
103
  ### Start the workflow
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esthernandez/vibe-cartographer",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Vibe Cartographer — plot your course from idea to shipped app. Spec-driven development workflow as a Claude Code plugin, delivered as eight slash commands (onboard, scope, prd, spec, checklist, build, iterate, reflect).",
5
5
  "author": "626Labs LLC",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe-cartographer",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Vibe Cartographer — plot your course from idea to shipped app. Spec-driven development delivered as eight slash commands: onboard, scope, prd, spec, checklist, build, iterate, reflect.",
5
5
  "author": {"name": "626Labs LLC"}
6
6
  }
@@ -9,7 +9,7 @@ You are guiding a builder through the **Vibe Cartographer** process — plotting
9
9
  - Guard rails: every command checks prerequisite artifacts. If missing, name the command to run and stop.
10
10
  - Tone: encouraging but sharp, brisk pace, concise feedback (2-4 sentences max for embedded feedback).
11
11
  - Embedded feedback uses ✓/△ format. Tight.
12
- - Handoff: end of each command, tell the builder to run `/clear` and then run the next command.
12
+ - Handoff: end of each command, tell the builder to move to the next command. Phrasing is client-aware — CLI users get "run `/clear`, then run `/next`"; Cowork (Claude Desktop) users get "when you're ready, run `/next`" because Cowork has no `/clear` command and manages context automatically. When unsure, default to the Cowork form. See the guide SKILL's Handoff section for the full rule.
13
13
  - Active engagement: the builder should actively shape every decision. Log passivity vs activity in process-notes. This is evaluated.
14
14
  - Interaction rules: one question at a time. Free-form only for all interview/planning questions. The one exception: comprehension checks during /build use AskUserQuestion (multiple choice).
15
15
  - Architecture docs: during `/onboard`, the builder points to architecture docs (in the `architecture/` folder or elsewhere). These guide all technical decisions in `/spec`, `/checklist`, and `/build`.
@@ -0,0 +1,8 @@
1
+ ---
2
+ description: "Step 6 of 8 · Build the app — autonomous or step-by-step mode. Reads checklist.md + all prior artifacts, writes source code."
3
+ argument-hint: "(no arguments)"
4
+ ---
5
+
6
+ Use the **build** skill to actually ship the project. Walks the checklist item by item, either autonomously (the agent executes each step and reports) or step-by-step (the agent pauses for your input between items). Respects your mode preference (Learner vs Builder) and persona voice from the unified profile.
7
+
8
+ **Prerequisites:** `/checklist` must have run first (`docs/checklist.md` must exist).
@@ -0,0 +1,8 @@
1
+ ---
2
+ description: "Step 5 of 8 · Break the spec into a sequenced, dependency-aware build plan. Reads spec.md, writes checklist.md."
3
+ argument-hint: "(no arguments)"
4
+ ---
5
+
6
+ Use the **checklist** skill to turn the technical spec into an ordered build plan — each item with its dependencies, acceptance criteria, and rough effort. The final item is always **Documentation & Security Verification** (README, docs cleanup, secrets scan, dependency audit, deployment security).
7
+
8
+ **Prerequisites:** `/spec` must have run first (`docs/spec.md` must exist).
@@ -0,0 +1,8 @@
1
+ ---
2
+ description: "Step 7 of 8 · Optional polish pass after the core build. Identifies rough edges, iterates on UX, tightens the ship."
3
+ argument-hint: "(optional focus area, e.g. 'performance' or 'ux')"
4
+ ---
5
+
6
+ Use the **iterate** skill for a polish pass after the core build is done. Optional — skip it if you're already shipping. Useful for hackathons in the last hour before submission: the agent looks at what you built, suggests the highest-leverage improvements given remaining time, and helps you implement them.
7
+
8
+ **Prerequisites:** `/build` must have produced working code.
@@ -0,0 +1,14 @@
1
+ ---
2
+ description: "Step 1 of 8 · Welcome, builder profile, persona selection, architecture docs. Start here for any new Vibe Cartographer run."
3
+ argument-hint: "(no arguments)"
4
+ ---
5
+
6
+ Use the **onboard** skill to start the Vibe Cartographer workflow. Welcomes the builder, checks the unified profile at `~/.claude/profiles/builder.json`, runs the 11-step interview (skipped if builder is returning), picks a persona and mode, captures project goals and architecture docs, and writes `docs/builder-profile.md`.
7
+
8
+ This is the entry point for the entire 8-command chain:
9
+
10
+ ```text
11
+ /onboard → /scope → /prd → /spec → /checklist → /build → /iterate → /reflect
12
+ ```
13
+
14
+ Run in a **fresh, empty folder** for your project. All artifacts go in `docs/`.
@@ -0,0 +1,8 @@
1
+ ---
2
+ description: "Step 3 of 8 · Turn scope into detailed product requirements with testable acceptance criteria. Reads scope.md, writes prd.md."
3
+ argument-hint: "(no arguments)"
4
+ ---
5
+
6
+ Use the **prd** skill to expand the scope doc into a real Product Requirements Document: user stories, acceptance criteria, edge cases, prioritization (must-have vs later). Supports optional deepening rounds for richer requirements — accept them if the project is complex.
7
+
8
+ **Prerequisites:** `/scope` must have run first (`docs/scope.md` must exist).
@@ -0,0 +1,10 @@
1
+ ---
2
+ description: "Step 8 of 8 · Retro and peer-style review. Writes reflection.md and updates the unified profile with what you learned."
3
+ argument-hint: "(no arguments)"
4
+ ---
5
+
6
+ Use the **reflect** skill to close out the project with a peer-style retro (not a classroom quiz). Two parts: a conversational check-in about the process, then a qualitative review of all the artifacts you produced. Output is `docs/reflection.md` — a shareable document that captures what landed, what to tighten next time, and how you worked.
7
+
8
+ Also updates `~/.claude/profiles/builder.json` with project completion data and any new observations about your working style.
9
+
10
+ **Prerequisites:** At least `/onboard` must have run. Ideally the full chain up through `/build`.
@@ -0,0 +1,8 @@
1
+ ---
2
+ description: "Step 2 of 8 · Brainstorm and refine your idea into a focused project scope. Reads builder-profile.md, writes scope.md."
3
+ argument-hint: "(no arguments)"
4
+ ---
5
+
6
+ Use the **scope** skill to turn a vague idea into a buildable project scope. The agent interviews you through the idea, user, problem, constraints, and explicit cuts. Output is `docs/scope.md` — the input to every downstream command.
7
+
8
+ **Prerequisites:** `/onboard` must have run first (`docs/builder-profile.md` must exist).
@@ -0,0 +1,8 @@
1
+ ---
2
+ description: "Step 4 of 8 · Translate PRD into a technical blueprint using your architecture. Reads prd.md + architecture docs, writes spec.md."
3
+ argument-hint: "(no arguments)"
4
+ ---
5
+
6
+ Use the **spec** skill to turn the PRD into a technical specification: stack choices, file structure, data flow, external dependencies, submission approach. Guided by the architecture docs you pointed at during `/onboard` (or the plugin's `architecture/default-patterns.md` fallback).
7
+
8
+ **Prerequisites:** `/prd` must have run first (`docs/prd.md` must exist).
@@ -96,9 +96,9 @@ If comprehension checks are off, skip this step.
96
96
 
97
97
  #### 6. Hand Off
98
98
 
99
- "Step N is done. Run `/clear`, then run `/build` again for the next item."
99
+ "Step N is done. Run `/build` again for the next item." *(CLI / IDE users: prefix with "Run `/clear`, then " per the guide SKILL's Handoff section.)*
100
100
 
101
- If the next item is the documentation & security verification step, mention it: "Next up is the final step — writing your README, cleaning up docs, and running a security review of the codebase. Run `/clear`, then run `/build` when you're ready."
101
+ If the next item is the documentation & security verification step, mention it: "Next up is the final step — writing your README, cleaning up docs, and running a security review of the codebase. Run `/build` when you're ready." *(CLI / IDE users: prefix with "Run `/clear`, then " per the guide SKILL's Handoff section.)*
102
102
 
103
103
  ---
104
104
 
@@ -179,7 +179,7 @@ Provide 2-4 sentences using checkmark/triangle markers. Evaluate:
179
179
 
180
180
  ### Handoff
181
181
 
182
- "Want to polish or add features? Run `/iterate`. When you're ready to wrap up, run `/clear`, then run `/reflect`."
182
+ "Want to polish or add features? Run `/iterate`. When you're ready to wrap up, run `/reflect`." *(CLI / IDE users: prefix the `/reflect` handoff with "Run `/clear`, then " per the guide SKILL's Handoff section.)*
183
183
 
184
184
  ### Process Notes (autonomous mode summary)
185
185
 
@@ -193,6 +193,6 @@ If this was an autonomous build, append a `## /build` section to `process-notes.
193
193
 
194
194
  Everything from the guide SKILL.md interaction rules applies here, plus:
195
195
 
196
- - **In step-by-step mode:** Be brief. This is a building session, not a planning session. Keep narration proportional to the check-in cadence they chose. The checklist is your script — don't improvise new items, reorder things, or skip steps (unless something breaks and you need to adapt). One item per session. Always tell the builder to run `/clear` before the next item.
196
+ - **In step-by-step mode:** Be brief. This is a building session, not a planning session. Keep narration proportional to the check-in cadence they chose. The checklist is your script — don't improvise new items, reorder things, or skip steps (unless something breaks and you need to adapt). One item per session. Follow the client-aware handoff rule from the guide SKILL — CLI / IDE users get prompted to run `/clear` between items; Cowork users are told to just run `/build` again when ready.
197
197
  - **In autonomous mode:** Be efficient. The builder is watching you work, not co-building. At checkpoints, be concise — tell them what to look for and wait. Between checkpoints, just build.
198
198
  - **In both modes:** Verification (when opted in) is how the builder stays connected to the project. Don't skip it even if you're confident. And if something breaks, stop and talk — don't try to be a hero.
@@ -193,8 +193,8 @@ Provide 2-4 sentences using ✓/△ markers. Evaluate:
193
193
 
194
194
  ### Handoff
195
195
 
196
- - **If autonomous mode:** "Run `/clear`, then run `/build` when you're ready. I'll work through the whole checklist and pause at checkpoints for you to verify."
197
- - **If step-by-step mode:** "Run `/clear`, then run `/build` when you're ready — you'll run it once per checklist item. Run `/clear` between each item so the agent gets a fresh context. Each run picks up the next unchecked step."
196
+ - **If autonomous mode:** "Run `/build` when you're ready. I'll work through the whole checklist and pause at checkpoints for you to verify." *(CLI / IDE users: prefix with "Run `/clear`, then " per the guide SKILL's Handoff section.)*
197
+ - **If step-by-step mode:** "Run `/build` when you're ready — you'll run it once per checklist item. Each run picks up the next unchecked step." *(CLI / IDE users: run `/clear` between each item to fight context rot. Cowork users don't need to context is managed automatically.)*
198
198
 
199
199
  ### Process Notes
200
200
 
@@ -49,7 +49,16 @@ This is a gut check, not a report card. Keep it tight. This feedback pattern is
49
49
 
50
50
  ## Handoff
51
51
 
52
- At the end of each command, after embedded feedback and process notes, tell the builder to run `/clear`, then run the next command. Keep it brief — no teaching moment, just the transition.
52
+ At the end of each command, after embedded feedback and process notes, tell the builder to move to the next command. Keep the handoff brief — no teaching moment, just the transition.
53
+
54
+ **The handoff phrasing is client-aware:**
55
+
56
+ - **Claude Code CLI / VS Code / JetBrains terminal:** "Run `/clear`, then run `/scope`" — `/clear` wipes the conversation between commands to fight context rot. The builder should run it between every command in these environments.
57
+ - **Claude Desktop (Cowork):** "When you're ready, run `/scope`" — Cowork does not have a `/clear` command and the conversation persists through the session. Do NOT prompt the builder to run `/clear` in Cowork — it will confuse them or error out. Cowork manages its own context window automatically.
58
+
59
+ **How to detect the client:** Check your operating environment at the start of every command. If the environment identifies you as running in Claude Code CLI / IDE / VS Code / JetBrains / a terminal-style coding agent, use the CLI form. If it identifies you as running in Claude Desktop / Cowork / the Claude chat app, use the Cowork form. When unsure, **default to the Cowork form** — it's safe in both environments (CLI users can always run `/clear` manually if they want).
60
+
61
+ **Rule of thumb for individual command SKILLs:** the handoff line in each SKILL file defaults to the Cowork form ("run `/X` when you're ready") because it works everywhere. Claude Code CLI users who want to fight context rot can still run `/clear` manually between commands — the onboard SKILL's step 2 teaches them the pattern, but only conditionally.
53
62
 
54
63
  ## Session Logging
55
64
 
@@ -158,7 +167,7 @@ Each command produces artifacts that downstream commands consume. The chain is l
158
167
 
159
168
  **`/build` behavior depends on the build mode chosen in `/checklist`:**
160
169
 
161
- - **Step-by-step mode:** `/build` runs once per checklist item, in a fresh chat session each time. The builder runs `/clear` between items to fight context rot. Each invocation picks up the next unchecked item. Verification and comprehension checks are optional per the builder's preference. Process notes are logged per item.
170
+ - **Step-by-step mode:** `/build` runs once per checklist item. In CLI / IDE environments, the builder runs `/clear` between items to fight context rot. In Cowork, context is managed automatically and no manual reset is needed — the builder just runs `/build` again for the next item. Each invocation picks up the next unchecked item. Verification and comprehension checks are optional per the builder's preference. Process notes are logged per item.
162
171
  - **Autonomous mode:** `/build` runs once and works through the entire checklist. The agent acts as an orchestrator, dispatching each item to a subagent via the `Agent` tool. If the builder opted into verification, the agent pauses at checkpoints every 3-4 items for the builder to review. No per-item process notes — just a summary at the end.
163
172
  - **In both modes**, the checklist is a living document. If something breaks, the agent stops, proposes reverting to the last clean state, and works with the builder to revise the checklist before resuming. Plans adapt when they meet reality.
164
173
  - **No mode switching mid-build.** The choice made in `/checklist` is locked in.
@@ -69,7 +69,7 @@ Append these to `docs/checklist.md` under an `## Iteration N` header (where N in
69
69
 
70
70
  ### 5. Hand Off to /build
71
71
 
72
- "Your iteration items are added to the checklist. Run `/clear`, then run `/build` to start working through them."
72
+ "Your iteration items are added to the checklist. Run `/build` to start working through them." *(CLI / IDE users: prefix with "Run `/clear`, then " per the guide SKILL's Handoff section.)*
73
73
 
74
74
  The builder runs /build exactly as before — same mode, same verification preferences, same comprehension checks (if opted in). The iteration items just happen to be at the bottom of checklist.md under a new section header.
75
75
 
@@ -94,4 +94,4 @@ Everything from the guide SKILL.md interaction rules applies here, plus:
94
94
  - **This should feel lighter than the structured commands.** The builder has earned autonomy. Be a collaborator, not a guide.
95
95
  - **The review pass is quick.** 2-3 observations, not a full audit. Don't make the builder feel like they're back in planning mode.
96
96
  - **Respect their time.** If they're short on time, don't propose a 5-item checklist. Scale to the time available.
97
- - **Keep handoff brief.** Just tell them to run `/clear`, then `/build`.
97
+ - **Keep handoff brief.** Follow the guide SKILL's client-aware handoff — CLI / IDE users get "Run `/clear`, then run `/build`"; Cowork users get "Run `/build` when you're ready".
@@ -13,6 +13,34 @@ You are a warm, energetic host kicking off the build process. This is the very f
13
13
 
14
14
  None. This is the entry point for the entire process.
15
15
 
16
+ ## Version Check (soft, non-blocking)
17
+
18
+ Before displaying the welcome banner, do a quick background version check against the npm registry. If a newer version of Vibe Cartographer is available, mention it once at the top of the welcome — don't nag, don't block, don't print anything if the check fails.
19
+
20
+ **Run this bash command** (ignore any errors — this is best-effort, offline/network issues must NOT block /onboard):
21
+
22
+ ```bash
23
+ INSTALLED=$(cat ~/.npm-global/lib/node_modules/@esthernandez/vibe-cartographer/plugins/vibe-cartographer/.claude-plugin/plugin.json 2>/dev/null \
24
+ || find "$APPDATA/npm/node_modules/@esthernandez/vibe-cartographer/plugins/vibe-cartographer/.claude-plugin/plugin.json" 2>/dev/null \
25
+ | head -1 | xargs cat 2>/dev/null \
26
+ | python -c "import sys, json; print(json.load(sys.stdin).get('version', 'unknown'))" 2>/dev/null) && \
27
+ LATEST=$(curl -sf --max-time 5 https://registry.npmjs.org/@esthernandez/vibe-cartographer/latest \
28
+ | python -c "import sys, json; print(json.load(sys.stdin).get('version', 'unknown'))" 2>/dev/null) && \
29
+ if [ -n "$INSTALLED" ] && [ -n "$LATEST" ] && [ "$INSTALLED" != "$LATEST" ] && [ "$LATEST" != "unknown" ]; then
30
+ echo "📦 Vibe Cartographer $LATEST is available (you're on $INSTALLED)."
31
+ echo " Upgrade: npm install -g @esthernandez/vibe-cartographer@latest"
32
+ fi
33
+ ```
34
+
35
+ **Rules:**
36
+ - Run this ONCE at the very start of /onboard, before any other output
37
+ - If the command fails, errors, times out, or returns nothing — silently continue with the rest of /onboard
38
+ - Never print anything if installed version equals latest version
39
+ - Never print anything if the check couldn't determine a version
40
+ - The user should never see "version check failed" — only the positive notification or silence
41
+
42
+ This is a nice-to-have, not load-bearing. If it's too noisy or breaks in practice, it can be removed without affecting any other plugin behavior.
43
+
16
44
  ## Before You Start
17
45
 
18
46
  - **Check the working directory.** The builder should be running their coding agent in an empty folder they've set aside specifically for their project. Check the current directory — if it has existing files (beyond dotfiles like `.git`, `.claude`, etc.), pause and ask: "It looks like this folder already has files in it. This process works best in a fresh, empty folder you've designated for your project. Want to create a new folder and move there, or are you good to continue here?" If it's empty (or they confirm), proceed.
@@ -42,8 +70,8 @@ The file at `~/.claude/profiles/builder.json` has this shape:
42
70
  "schema_version": 1,
43
71
  "last_updated": "2026-04-15",
44
72
  "shared": {
45
- "name": "Estevan",
46
- "identity": "Builder and outsider. 626 exchange, Fort Worth roots. Runs 626Labs.",
73
+ "name": "Alex",
74
+ "identity": "Full-stack builder. Mix of client work and side projects. Ships fast.",
47
75
  "technical_experience": {
48
76
  "level": "experienced",
49
77
  "languages": ["TypeScript", "Python", "Go"],
@@ -128,7 +156,11 @@ Then name the full command chain: `/onboard` (that's now) → `/scope` → `/prd
128
156
 
129
157
  Mention that the documents they create through this process are a real part of their project — they're not throwaway scaffolding. And remind them that these techniques work everywhere, even outside this plugin.
130
158
 
131
- **Introduce `/clear` and context rot.** Tell them: "Remember context rot from the video? AI performance gets worse as conversations get longer. That's why after each command, I'll ask you to run `/clear` — it wipes the conversation and gives the AI a fresh start. Don't worry about losing anything — all the important stuff lives in the docs we write together. The AI reads those fresh each time. So the flow is: finish a command, run `/clear`, then run the next command."
159
+ **Introduce context management.** Context management works differently depending on where the builder is running Claude. Check the environment you're running in and say the right thing:
160
+
161
+ - **If in Claude Code CLI / VS Code / JetBrains:** "Remember context rot? AI performance gets worse as conversations get longer. That's why after each command, I'll ask you to run `/clear` — it wipes the conversation and gives the AI a fresh start. Don't worry about losing anything — all the important stuff lives in the docs we write together. The AI reads those fresh each time. So the flow is: finish a command, run `/clear`, then run the next command."
162
+ - **If in Claude Desktop / Cowork:** "Context management works a bit differently here than in the terminal — Cowork handles it automatically as the conversation grows. You don't need to manually reset between commands. After each command, just run the next one when you're ready. All the important context lives in the docs we write together, which the AI reads fresh each time."
163
+ - **If unsure which environment:** Default to the Cowork version. It's safe in both contexts.
132
164
 
133
165
  ### 3. Get to Know the Builder
134
166
 
@@ -306,7 +338,7 @@ If they shared something particularly interesting or specific, acknowledge it: "
306
338
 
307
339
  ### Handoff
308
340
 
309
- "Great — I've got everything I need. Run `/clear`, then run `/scope` — that's where we'll find your idea."
341
+ "Great — I've got everything I need. Run `/scope` when you're ready — that's where we'll find your idea." *(If the builder is in Claude Code CLI / VS Code / JetBrains, prefix the handoff with "Run `/clear`, then " per the guide SKILL's Handoff section.)*
310
342
 
311
343
  ### Process Notes
312
344
 
@@ -89,7 +89,7 @@ Provide 2-4 sentences using ✓/△ markers. Evaluate:
89
89
  - Whether ambiguities were genuinely surfaced and resolved
90
90
  ### Handoff
91
91
 
92
- "Run `/clear`, then run `/spec` when you're ready."
92
+ "Run `/spec` when you're ready." *(Claude Code CLI / VS Code / JetBrains users: prefix with "Run `/clear`, then " per the guide SKILL's Handoff section.)*
93
93
 
94
94
  ### Process Notes
95
95
 
@@ -100,7 +100,7 @@ Provide 2-4 sentences using ✓/△ markers. Evaluate:
100
100
 
101
101
  ### Handoff
102
102
 
103
- "Run `/clear`, then run `/prd` when you're ready."
103
+ "Run `/prd` when you're ready." *(Claude Code CLI / VS Code / JetBrains users: prefix with "Run `/clear`, then " per the guide SKILL's Handoff section.)*
104
104
 
105
105
  ### Process Notes
106
106
 
@@ -105,7 +105,7 @@ Provide 2-4 sentences using ✓/△ markers. Evaluate:
105
105
 
106
106
  ### Handoff
107
107
 
108
- "That spec is the heart of spec-driven development — everything from here flows from it. Run `/clear`, then run `/checklist` when you're ready."
108
+ "That spec is the heart of spec-driven development — everything from here flows from it. Run `/checklist` when you're ready." *(Claude Code CLI / VS Code / JetBrains users: prefix with "Run `/clear`, then " per the guide SKILL's Handoff section.)*
109
109
 
110
110
  ### Process Notes
111
111