@fableplan/fableplan 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +2 -2
- package/README.md +6 -8
- package/package.json +2 -2
- package/skills/fableplan/SKILL.md +11 -22
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fableplan",
|
|
3
|
-
"description": "Marketplace for the fableplan Claude Code plugin: Fable 5.1-driven implementation planning
|
|
3
|
+
"description": "Marketplace for the fableplan Claude Code plugin: Fable 5.1-driven implementation planning.",
|
|
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.1 planning subagent,
|
|
11
|
+
"description": "Delegates implementation planning to a Fable 5.1 planning subagent, checks the plan, and posts it to a referenced GitHub issue. It never builds."
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fableplan",
|
|
3
3
|
"displayName": "fableplan",
|
|
4
|
-
"version": "
|
|
5
|
-
"description": "Delegates implementation planning to a Fable 5.1 planning subagent,
|
|
4
|
+
"version": "2.0.0",
|
|
5
|
+
"description": "Delegates implementation planning to a Fable 5.1 planning subagent, checks the plan, and posts it to a referenced GitHub issue. It never builds.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Richard Kuo"
|
|
8
8
|
},
|
package/README.md
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
# fableplan
|
|
2
2
|
|
|
3
|
-
A [Claude Code](https://claude.com/claude-code) skill that delegates implementation planning to a **Fable 5.1** planning subagent,
|
|
3
|
+
A [Claude Code](https://claude.com/claude-code) skill that delegates implementation planning to a **Fable 5.1** planning subagent, checks the plan in your main session, and, when a GitHub issue is referenced, posts the vetted plan to the issue as a comment. Then it stops.
|
|
4
4
|
|
|
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
|
|
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, and preserve it on the tracker. The skill never builds; you build from the plan when you choose to.
|
|
6
6
|
|
|
7
7
|
## What it does
|
|
8
8
|
|
|
9
9
|
Trigger it with `/fableplan`, "fableplan this", or "plan this with fable", plus a task description and optionally a GitHub issue (`#N`, a full URL, or `owner/repo#N`).
|
|
10
10
|
|
|
11
|
-
The skill then runs a
|
|
11
|
+
The skill then runs a 5-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
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
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
|
-
4. **Post the vetted plan** to the GitHub issue as a comment (only if one was referenced).
|
|
17
|
-
5. **Present the plan** to you.
|
|
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, then run the plan's verification commands before reporting done.
|
|
16
|
+
4. **Post the vetted plan** to the GitHub issue as a comment (only if one was referenced). The heading and footer name the model and effort that actually produced the plan.
|
|
17
|
+
5. **Present the plan** to you, then stop. The skill never builds.
|
|
20
18
|
|
|
21
19
|
## Install
|
|
22
20
|
|
|
@@ -81,7 +79,7 @@ Start a new Claude Code session (or restart the current one), then run:
|
|
|
81
79
|
|
|
82
80
|
- Claude Code with access to the `fable` model for the planning subagent.
|
|
83
81
|
- `gh` (GitHub CLI), authenticated, if you want the issue-comment step.
|
|
84
|
-
- A
|
|
82
|
+
- A local clone of the repository when you plan against a GitHub issue.
|
|
85
83
|
|
|
86
84
|
## Notes
|
|
87
85
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fableplan/fableplan",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Installer for the fableplan Claude Code skill: plan with Fable 5.1,
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Installer for the fableplan Claude Code skill: plan with Fable 5.1, check the plan, and post it to the issue.",
|
|
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.1 planning subagent
|
|
3
|
+
description: Use when the user wants a task planned by a Fable 5.1 planning subagent. Spins up a Plan subagent running on Fable 5.1 to produce an implementation plan, checks it against the code, relays it to the main agent, and — if a GitHub issue is referenced — posts the plan as a comment on that issue, then stops. It never builds. 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.1** Plan subagent
|
|
8
|
+
Delegate planning to a **Fable 5.1** Plan subagent. The main agent checks the plan, posts it, presents it, and stops. Neither one builds: no worktree, no code edits, no pull request.
|
|
9
9
|
|
|
10
10
|
## Input
|
|
11
11
|
|
|
@@ -54,7 +54,8 @@ If the call returns null or errors (user skip, terminal API failure), retry once
|
|
|
54
54
|
|
|
55
55
|
When the result arrives:
|
|
56
56
|
- Run `git status --porcelain` and compare against the pre-dispatch snapshot to confirm the subagent made no file changes despite the no-edit instruction. If it did, tell the user and ask whether to revert before continuing.
|
|
57
|
-
- Save the plan verbatim to a scratchpad file immediately, so it survives context summarization
|
|
57
|
+
- Save the plan verbatim to a scratchpad file immediately, so it survives context summarization and step 4 can post it exactly as produced.
|
|
58
|
+
- Record the model that actually served the plan and the effort it ran at. If the harness substituted another model for Fable 5.1, record that model; if it does not report the effort, record the tier you requested (`high` when you requested none). Step 4 uses these values.
|
|
58
59
|
|
|
59
60
|
### 3. Sanity-check the plan against the code
|
|
60
61
|
|
|
@@ -62,40 +63,28 @@ Before posting or presenting it, verify the plan's load-bearing claims against t
|
|
|
62
63
|
|
|
63
64
|
### 4. Post the plan to the GitHub issue (only if one was resolved in step 1)
|
|
64
65
|
|
|
65
|
-
Now that the plan has passed the sanity-check, save it to the issue as a comment
|
|
66
|
+
Now that the plan has passed the sanity-check, save it to the issue as a comment, so the vetted plan is preserved on the issue for whoever builds it. This comment is not updated after the build.
|
|
66
67
|
|
|
67
68
|
```
|
|
68
69
|
gh issue comment <N> --body-file <tmpfile>
|
|
69
70
|
```
|
|
70
71
|
|
|
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 (
|
|
72
|
+
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 (<model that actually ran>)` above the plan body (`Fable 5.1` when Fable served), and end the body with the metadata footer:
|
|
72
73
|
|
|
73
74
|
```
|
|
74
75
|
---
|
|
75
|
-
Created with:
|
|
76
|
+
Created with LLM: <model that actually ran> | <effort that actually ran> | Harness: <harness> | fableplan
|
|
76
77
|
```
|
|
77
78
|
|
|
79
|
+
Fill the model and effort from step 2's record, never a constant. `<harness>` is the agent harness that ran the skill (for example `Claude Code`, `Cursor`, or `Codex`).
|
|
80
|
+
|
|
78
81
|
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.
|
|
79
82
|
|
|
80
83
|
### 5. Relay the plan to the user
|
|
81
84
|
|
|
82
|
-
Present the vetted plan to the user (the main agent).
|
|
83
|
-
|
|
84
|
-
### 6. Set up an isolated git worktree
|
|
85
|
-
|
|
86
|
-
Before making any code changes, move the build into its own git worktree so it never touches the user's current workspace. If the directory isn't a git repository, tell the user and ask how to proceed rather than building in place. Otherwise create a fresh branch and worktree for the task:
|
|
87
|
-
|
|
88
|
-
```
|
|
89
|
-
git worktree add ../<repo>-fableplan-<short-task-name> -b fableplan/<short-task-name>
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Do all of step 7's building inside that worktree. When the build is done, follow the repo's usual conventions for merging or opening a PR from the branch, and remove the worktree once it's no longer needed (`git worktree remove <path>`).
|
|
93
|
-
|
|
94
|
-
### 7. Build
|
|
95
|
-
|
|
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.
|
|
85
|
+
Present the vetted plan to the user (the main agent). Say in one line if step 2 recorded a model other than Fable 5.1. Then stop. Keep the scratchpad file. Never ask whether to build, create a worktree, or edit code; the user builds from the plan when they choose to.
|
|
97
86
|
|
|
98
87
|
## Notes
|
|
99
88
|
|
|
100
89
|
- The Plan subagent runs on Fable 5.1 regardless of the main agent's model — `model: fable` on the Agent call forces it.
|
|
101
|
-
- If the user did not reference an issue, never invent one or post anywhere — just plan and
|
|
90
|
+
- If the user did not reference an issue, never invent one or post anywhere — just plan and present the plan.
|