@fableplan/fableplan 1.0.0 → 1.1.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fableplan",
3
- "description": "Marketplace for the fableplan Claude Code plugin: Fable 5-driven implementation planning before building.",
3
+ "description": "Marketplace for the fableplan Claude Code plugin: Fable 5.1-driven implementation planning before building.",
4
4
  "owner": {
5
5
  "name": "Richard Kuo"
6
6
  },
@@ -8,7 +8,7 @@
8
8
  {
9
9
  "name": "fableplan",
10
10
  "source": "./",
11
- "description": "Delegates implementation planning to a Fable 5 planning subagent, then builds from the vetted plan — posting it to a referenced GitHub issue along the way."
11
+ "description": "Delegates implementation planning to a Fable 5.1 planning subagent, then builds from the vetted plan — posting it to a referenced GitHub issue along the way."
12
12
  }
13
13
  ]
14
14
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "fableplan",
3
3
  "displayName": "fableplan",
4
- "version": "1.0.0",
5
- "description": "Delegates implementation planning to a Fable 5 planning subagent, then builds from the vetted plan — posting it to a referenced GitHub issue along the way.",
4
+ "version": "1.1.0",
5
+ "description": "Delegates implementation planning to a Fable 5.1 planning subagent, then builds from the vetted plan — posting it to a referenced GitHub issue along the way.",
6
6
  "author": {
7
7
  "name": "Richard Kuo"
8
8
  },
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # fableplan
2
2
 
3
- A [Claude Code](https://claude.com/claude-code) skill that delegates implementation planning to a **Fable 5** planning subagent, then builds from that plan in your main session — and, when a GitHub issue is referenced, posts the vetted plan to the issue as a comment.
3
+ A [Claude Code](https://claude.com/claude-code) skill that delegates implementation planning to a **Fable 5.1** planning subagent, then builds from that plan in your main session — and, when a GitHub issue is referenced, posts the vetted plan to the issue as a comment.
4
4
 
5
- The idea: let a dedicated planning model (Fable 5) produce a concrete, ordered implementation plan before any code is written, review it against the real codebase, preserve it on the tracker, and only then build — in an isolated git worktree so your working tree is never touched.
5
+ The idea: let a dedicated planning model (Fable 5.1) produce a concrete, ordered implementation plan before any code is written, review it against the real codebase, preserve it on the tracker, and only then build — in an isolated git worktree so your working tree is never touched.
6
6
 
7
7
  ## What it does
8
8
 
@@ -11,12 +11,12 @@ Trigger it with `/fableplan`, "fableplan this", or "plan this with fable", plus
11
11
  The skill then runs a 7-step flow:
12
12
 
13
13
  1. **Resolve the GitHub issue** (only if one is referenced) so the planner works from the real requirements, not a paraphrase.
14
- 2. **Dispatch the Fable 5 Plan subagent**, confirm it made no edits, and save the plan verbatim to a scratch file.
15
- 3. **Sanity-check the plan** against the actual codebase (files, symbols, conventions). It stops and asks you if the plan is structurally wrong rather than silently re-planning.
14
+ 2. **Dispatch the Fable 5.1 Plan subagent**, confirm it made no edits, and save the plan verbatim to a scratch file. The plan follows the repo's `CLAUDE.md`/`AGENTS.md` conventions, cites `file:line` for its claims about the code, lists open questions and assumptions, and gives acceptance criteria and exact verification commands.
15
+ 3. **Sanity-check the plan** against the actual codebase (each `file:line` citation, files, symbols, conventions). It stops and asks you if the plan is structurally wrong rather than silently re-planning.
16
16
  4. **Post the vetted plan** to the GitHub issue as a comment (only if one was referenced).
17
17
  5. **Present the plan** to you.
18
18
  6. **Set up an isolated git worktree** so the build never touches your current workspace.
19
- 7. **Build** the task from the plan, inside that worktree.
19
+ 7. **Build** the task from the plan, inside that worktree, then run the plan's verification commands before reporting done.
20
20
 
21
21
  ## Install
22
22
 
@@ -31,6 +31,16 @@ This repo is a Claude Code plugin marketplace. Inside any Claude Code session:
31
31
 
32
32
  The skill is picked up automatically from the plugin's `skills/` directory, and updates flow through the plugin system.
33
33
 
34
+ ### With `npx` (npm)
35
+
36
+ Published to npm as [`@fableplan/fableplan`](https://www.npmjs.com/package/@fableplan/fableplan). One command copies the skill into `~/.claude/skills/`:
37
+
38
+ ```sh
39
+ npx @fableplan/fableplan
40
+ ```
41
+
42
+ Add `--project` to install into the current repo's `.claude/skills/` instead of your personal directory.
43
+
34
44
  ### Ask Claude Code to install it
35
45
 
36
46
  Paste this straight into a Claude Code prompt:
@@ -54,7 +64,7 @@ This installs into `.claude/skills/` (and any other agents it detects). It's a t
54
64
  A Claude Code skill is just a directory containing a `SKILL.md`, so you can also install it with one command — no clone needed:
55
65
 
56
66
  ```sh
57
- mkdir -p ~/.claude/skills/fableplan && curl -fsSL https://raw.githubusercontent.com/richkuo/fableplan/master/skills/fableplan/SKILL.md -o ~/.claude/skills/fableplan/SKILL.md
67
+ mkdir -p ~/.claude/skills/fableplan && curl -fsSL https://raw.githubusercontent.com/richkuo/fableplan/main/skills/fableplan/SKILL.md -o ~/.claude/skills/fableplan/SKILL.md
58
68
  ```
59
69
 
60
70
  This puts it in your personal skills directory (`~/.claude/skills/`), available in every project. To scope it to a single project instead, put the file at `<repo>/.claude/skills/fableplan/SKILL.md`.
@@ -75,8 +85,8 @@ Start a new Claude Code session (or restart the current one), then run:
75
85
 
76
86
  ## Notes
77
87
 
78
- - The planning subagent always runs on Fable 5 regardless of your main session's model.
79
- - The skill adapts to the target repo's conventions (e.g. its `CLAUDE.md`); behavior isn't hardcoded to any one project.
88
+ - The planning subagent always runs on Fable 5.1 regardless of your main session's model.
89
+ - The skill adapts to the target repo's conventions (e.g. its `CLAUDE.md` or `AGENTS.md`); behavior isn't hardcoded to any one project.
80
90
 
81
91
  ## License
82
92
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fableplan/fableplan",
3
- "version": "1.0.0",
4
- "description": "Installer for the fableplan Claude Code skill: plan with Fable 5, build with your main-session model.",
3
+ "version": "1.1.0",
4
+ "description": "Installer for the fableplan Claude Code skill: plan with Fable 5.1, build with your main-session model.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "fableplan": "bin/install.mjs"
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: fableplan
3
- description: Use when the user wants a task planned by a Fable 5 planning subagent before building it. Spins up a Plan subagent running on Fable 5 to produce an implementation plan, relays the plan back to the main agent to build, and — if a GitHub issue is referenced — posts the plan as a comment on that issue. Trigger on "/fableplan", "fableplan this", or "plan this with fable".
3
+ description: Use when the user wants a task planned by a Fable 5.1 planning subagent before building it. Spins up a Plan subagent running on Fable 5.1 to produce an implementation plan, relays the plan back to the main agent to build, and — if a GitHub issue is referenced — posts the plan as a comment on that issue. Trigger on "/fableplan", "fableplan this", or "plan this with fable".
4
4
  ---
5
5
 
6
6
  # fableplan
7
7
 
8
- Delegate planning to a **Fable 5** Plan subagent, then build from its plan in the main agent. The main agent does the building — the subagent only plans.
8
+ Delegate planning to a **Fable 5.1** Plan subagent, then build from its plan in the main agent. The main agent does the building — the subagent only plans.
9
9
 
10
10
  ## Input
11
11
 
@@ -30,16 +30,21 @@ If the command fails (wrong number, no auth, no repo), stop and tell the user
30
30
 
31
31
  Record the issue number and URL — you'll need them in step 4. If no issue is referenced, skip this and step 4's posting.
32
32
 
33
- ### 2. Dispatch the Fable 5 Plan subagent
33
+ ### 2. Dispatch the Fable 5.1 Plan subagent
34
34
 
35
35
  Do not re-plan the task yourself first — the subagent owns the plan. Snapshot `git status --porcelain` before dispatching (the tree may already be dirty), then call the Agent tool with:
36
36
 
37
37
  - `subagent_type`: `Plan`
38
- - `model`: `fable` (this is the whole point of the skill — the plan must come from Fable 5)
38
+ - `model`: `fable` (this is the whole point of the skill — the plan must come from Fable 5.1)
39
39
  - `run_in_background`: `false` — every later step depends on the plan, so wait for it synchronously instead of doing other work first
40
40
  - `description`: `Plan <short task name>`
41
41
  - `prompt`: Hand the subagent everything it needs to plan independently — the full task description, the issue title/body if one was fetched, the working directory, and any constraints the user stated. Tell it explicitly:
42
42
  - Produce a concrete, ordered implementation plan (files to create/modify, the approach, build sequence, risks/edge cases, and how to verify).
43
+ - Before planning, read the repo's CLAUDE.md and AGENTS.md files (root and any in directories the plan touches) and follow their conventions. Name any convention the plan relies on.
44
+ - Cite every load-bearing claim about the existing code with a `file:line` reference (files to modify, functions or symbols it calls, behavior it depends on), so each claim can be checked against the code. Never cite a location it has not read.
45
+ - Include an `Open questions and assumptions` section. List every assumption it made where the task, issue, or code was unclear, and every decision the user must make. Write "None" if there are none. Never resolve an ambiguity silently.
46
+ - Include an `Acceptance criteria` section of observable, checkable outcomes, and a `Verification` section with the exact commands to run (build, lint, type check, integration tests) and the result each must produce.
47
+ - Plan the absolute-best solution the task calls for, evaluated as if cost, effort, time, token spend, and code volume were unlimited — they are not factors and must never narrow the option space. The only constraints that override "best" are correctness and safety.
43
48
  - Return the plan as its final message in clean Markdown suitable to (a) act on directly and (b) post verbatim as a GitHub issue comment.
44
49
  - It is planning only — it must NOT make code edits, including via Bash (no writing/modifying files, no commits). The subagent lacks Edit/Write, but still has Bash, so this must be stated explicitly.
45
50
 
@@ -53,7 +58,7 @@ When the result arrives:
53
58
 
54
59
  ### 3. Sanity-check the plan against the code
55
60
 
56
- Before posting or presenting it, verify the plan's load-bearing claims against the actual codebase: the files it says to modify exist, the functions/symbols it references are real, and it doesn't contradict repo conventions (CLAUDE.md). Fix small inaccuracies yourself and note them; if the plan is structurally wrong (built on a file or mechanism that doesn't exist), do NOT automatically re-dispatch the Plan subagent — stop and tell the user what's failing, and let them decide whether to re-plan with Fable 5, adjust the task, or proceed anyway. If you fixed small inaccuracies, update the scratchpad file from step 2 so it reflects the corrected plan before step 4 posts it.
61
+ Before posting or presenting it, verify the plan's load-bearing claims against the actual codebase: open each `file:line` citation and confirm it says what the plan claims, the files it says to modify exist, the functions/symbols it references are real, and it doesn't contradict repo conventions (CLAUDE.md, AGENTS.md). Treat a load-bearing claim with no citation as unverified until you check it. Fix small inaccuracies yourself and note them; if the plan is structurally wrong (built on a file or mechanism that doesn't exist), do NOT automatically re-dispatch the Plan subagent — stop and tell the user what's failing, and let them decide whether to re-plan with Fable 5.1, adjust the task, or proceed anyway. If you fixed small inaccuracies, update the scratchpad file from step 2 so it reflects the corrected plan before step 4 posts it.
57
62
 
58
63
  ### 4. Post the plan to the GitHub issue (only if one was resolved in step 1)
59
64
 
@@ -63,11 +68,11 @@ Now that the plan has passed the sanity-check, save it to the issue as a comment
63
68
  gh issue comment <N> --body-file <tmpfile>
64
69
  ```
65
70
 
66
- Add `-R owner/repo` when the issue lives in another repo (as in step 1). Use the scratchpad file from step 2 (with any step-3 corrections) as the body-file base — it avoids shell-escaping problems with Markdown. Prefix the comment so its origin is clear with a heading line `## Implementation plan (Fable 5)` above the plan body, and end the body with the standard metadata footer:
71
+ Add `-R owner/repo` when the issue lives in another repo (as in step 1). Use the scratchpad file from step 2 (with any step-3 corrections) as the body-file base — it avoids shell-escaping problems with Markdown. Prefix the comment so its origin is clear with a heading line `## Implementation plan (Fable 5.1)` above the plan body, and end the body with the standard metadata footer:
67
72
 
68
73
  ```
69
74
  ---
70
- Created with: Fable 5 | high | Claude Code | fableplan
75
+ Created with: Fable 5.1 | high | Claude Code | fableplan
71
76
  ```
72
77
 
73
78
  After posting, give the user the comment URL `gh` returns. Follow the repo's CLAUDE.md conventions for comment formatting if any apply (e.g. avoid `#N` auto-links in list items). If no issue is referenced, skip this step.
@@ -88,9 +93,9 @@ Do all of step 7's building inside that worktree. When the build is done, follow
88
93
 
89
94
  ### 7. Build
90
95
 
91
- In the worktree from step 6, the main agent builds the task per the plan. Confirm with the user first only if the plan reveals ambiguity or a decision the user must make; otherwise proceed.
96
+ In the worktree from step 6, the main agent builds the task per the plan. Confirm with the user first only if the plan's `Open questions and assumptions` section, or the build itself, reveals ambiguity or a decision the user must make; otherwise proceed. Before you report the build as done, run every command in the plan's `Verification` section and confirm each acceptance criterion.
92
97
 
93
98
  ## Notes
94
99
 
95
- - The Plan subagent runs on Fable 5 regardless of the main agent's model — `model: fable` on the Agent call forces it.
100
+ - The Plan subagent runs on Fable 5.1 regardless of the main agent's model — `model: fable` on the Agent call forces it.
96
101
  - If the user did not reference an issue, never invent one or post anywhere — just plan and build.