@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 +11 -0
- package/INSTALL.md +47 -20
- package/README.md +28 -18
- package/package.json +1 -1
- package/plugins/vibe-cartographer/.claude-plugin/plugin.json +1 -1
- package/plugins/vibe-cartographer/CLAUDE.md +1 -1
- package/plugins/vibe-cartographer/commands/build.md +8 -0
- package/plugins/vibe-cartographer/commands/checklist.md +8 -0
- package/plugins/vibe-cartographer/commands/iterate.md +8 -0
- package/plugins/vibe-cartographer/commands/onboard.md +14 -0
- package/plugins/vibe-cartographer/commands/prd.md +8 -0
- package/plugins/vibe-cartographer/commands/reflect.md +10 -0
- package/plugins/vibe-cartographer/commands/scope.md +8 -0
- package/plugins/vibe-cartographer/commands/spec.md +8 -0
- package/plugins/vibe-cartographer/skills/build/SKILL.md +4 -4
- package/plugins/vibe-cartographer/skills/checklist/SKILL.md +2 -2
- package/plugins/vibe-cartographer/skills/guide/SKILL.md +11 -2
- package/plugins/vibe-cartographer/skills/iterate/SKILL.md +2 -2
- package/plugins/vibe-cartographer/skills/onboard/SKILL.md +36 -4
- package/plugins/vibe-cartographer/skills/prd/SKILL.md +1 -1
- package/plugins/vibe-cartographer/skills/scope/SKILL.md +1 -1
- package/plugins/vibe-cartographer/skills/spec/SKILL.md +1 -1
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
|
-
|
|
11
|
+
Pick whichever matches how you're running Claude Code. All three lead to the same plugin working.
|
|
12
12
|
|
|
13
|
-
### Option 1:
|
|
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
|
|
32
|
+
This drops the plugin files at:
|
|
20
33
|
|
|
21
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
41
|
+
For testing changes locally before pushing them to GitHub.
|
|
31
42
|
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
62
|
+
## Which option should I use?
|
|
39
63
|
|
|
40
|
-
|
|
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
|
-
|
|
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
|
-
**
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
68
|
-
- Windows: `%APPDATA%\npm\node_modules\@esthernandez\vibe-cartographer\plugins\vibe-cartographer`
|
|
78
|
+
### Option 3: Claude Desktop — Upload plugin
|
|
69
79
|
|
|
70
|
-
|
|
80
|
+
For local iteration before you push changes to GitHub.
|
|
71
81
|
|
|
72
|
-
1.
|
|
73
|
-
2.
|
|
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
|
-
|
|
85
|
+
```bash
|
|
86
|
+
python scripts/build-plugin.py
|
|
87
|
+
```
|
|
78
88
|
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
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).
|
|
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`
|
|
90
|
-
-
|
|
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.
|
|
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.
|
|
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`
|
|
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 `/
|
|
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 `/
|
|
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
|
|
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.
|
|
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 `/
|
|
197
|
-
- **If step-by-step mode:** "Run `/
|
|
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
|
|
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
|
|
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 `/
|
|
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.**
|
|
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": "
|
|
46
|
-
"identity": "
|
|
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
|
|
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 `/
|
|
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 `/
|
|
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 `/
|
|
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 `/
|
|
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
|
|