@fableplan/fableplan 2.0.0 → 2.0.1
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.
|
|
3
|
+
"description": "Marketplace for the fableplan Claude Code plugin: Fable 5.2-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.
|
|
11
|
+
"description": "Delegates implementation planning to a Fable 5.2 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": "2.0.
|
|
5
|
-
"description": "Delegates implementation planning to a Fable 5.
|
|
4
|
+
"version": "2.0.1",
|
|
5
|
+
"description": "Delegates implementation planning to a Fable 5.2 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,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.
|
|
3
|
+
A [Claude Code](https://claude.com/claude-code) skill that delegates implementation planning to a **Fable 5.2** 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.
|
|
5
|
+
The idea: let a dedicated planning model (Fable 5.2) 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
|
|
|
@@ -11,7 +11,7 @@ Trigger it with `/fableplan`, "fableplan this", or "plan this with fable", plus
|
|
|
11
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
|
-
2. **Dispatch the Fable 5.
|
|
14
|
+
2. **Dispatch the Fable 5.2 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
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
17
|
5. **Present the plan** to you, then stop. The skill never builds.
|
|
@@ -83,7 +83,7 @@ Start a new Claude Code session (or restart the current one), then run:
|
|
|
83
83
|
|
|
84
84
|
## Notes
|
|
85
85
|
|
|
86
|
-
- The planning subagent always runs on Fable 5.
|
|
86
|
+
- The planning subagent always runs on Fable 5.2 regardless of your main session's model.
|
|
87
87
|
- 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.
|
|
88
88
|
|
|
89
89
|
## License
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fableplan/fableplan",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "Installer for the fableplan Claude Code skill: plan with Fable 5.
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"description": "Installer for the fableplan Claude Code skill: plan with Fable 5.2, 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.
|
|
3
|
+
description: Use when the user wants a task planned by a Fable 5.2 planning subagent. Spins up a Plan subagent running on Fable 5.2 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.
|
|
8
|
+
Delegate planning to a **Fable 5.2** 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
|
|
|
@@ -30,12 +30,12 @@ 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.
|
|
33
|
+
### 2. Dispatch the Fable 5.2 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.2)
|
|
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:
|
|
@@ -55,11 +55,11 @@ If the call returns null or errors (user skip, terminal API failure), retry once
|
|
|
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
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.
|
|
58
|
+
- Record the model that actually served the plan and the effort it ran at. If the harness substituted another model for Fable 5.2, 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.
|
|
59
59
|
|
|
60
60
|
### 3. Sanity-check the plan against the code
|
|
61
61
|
|
|
62
|
-
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.
|
|
62
|
+
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.2, 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.
|
|
63
63
|
|
|
64
64
|
### 4. Post the plan to the GitHub issue (only if one was resolved in step 1)
|
|
65
65
|
|
|
@@ -69,7 +69,7 @@ Now that the plan has passed the sanity-check, save it to the issue as a comment
|
|
|
69
69
|
gh issue comment <N> --body-file <tmpfile>
|
|
70
70
|
```
|
|
71
71
|
|
|
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.
|
|
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.2` when Fable served), and end the body with the metadata footer:
|
|
73
73
|
|
|
74
74
|
```
|
|
75
75
|
---
|
|
@@ -82,9 +82,9 @@ After posting, give the user the comment URL `gh` returns. Follow the repo's CLA
|
|
|
82
82
|
|
|
83
83
|
### 5. Relay the plan to the user
|
|
84
84
|
|
|
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.
|
|
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.2. 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.
|
|
86
86
|
|
|
87
87
|
## Notes
|
|
88
88
|
|
|
89
|
-
- The Plan subagent runs on Fable 5.
|
|
89
|
+
- The Plan subagent runs on Fable 5.2 regardless of the main agent's model — `model: fable` on the Agent call forces it.
|
|
90
90
|
- If the user did not reference an issue, never invent one or post anywhere — just plan and present the plan.
|