@zalom/plastic 1.0.3 → 1.1.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.
Files changed (130) hide show
  1. package/PLASTIC-reference.md +11 -11
  2. package/PLASTIC.md +11 -9
  3. package/README.md +48 -1
  4. package/agents/plastic-enforcer.md +8 -5
  5. package/agents/plastic-future-intent-researcher.md +1 -1
  6. package/agents/plastic-intent-curator.md +9 -10
  7. package/agents/plastic-spec-specialist.md +9 -6
  8. package/bin/plastic.js +2 -2
  9. package/hooks/check-update +1 -1
  10. package/hooks/continue +1 -1
  11. package/package.json +1 -1
  12. package/scripts/dashboard.rb +29 -24
  13. package/scripts/doctor.rb +188 -9
  14. package/scripts/end-intent +330 -0
  15. package/scripts/hook-code-gate +1 -1
  16. package/scripts/hook-continue +2 -2
  17. package/scripts/hook-create-gate +2 -2
  18. package/scripts/hook-session-start +1 -1
  19. package/scripts/install.rb +2 -1
  20. package/scripts/lib/bridge.rb +116 -3
  21. package/scripts/lib/dashboard_banner.rb +8 -9
  22. package/scripts/lib/installer_core.rb +17 -8
  23. package/scripts/lib/legacy_bookend_amnesty.rb +35 -0
  24. package/scripts/lib/release_guard.rb +62 -0
  25. package/scripts/lib/roadmap_queue.rb +285 -0
  26. package/scripts/lib/roadmap_savepoint.rb +213 -0
  27. package/scripts/lib/store_provisioning.rb +1 -1
  28. package/scripts/lib/worktree.rb +21 -0
  29. package/scripts/new-intent +2 -1
  30. package/scripts/read-config +3 -3
  31. package/scripts/roadmap-next +44 -0
  32. package/scripts/roadmap-savepoint +64 -0
  33. package/scripts/{versions.rb → rollback.rb} +33 -41
  34. package/scripts/update.rb +1 -1
  35. package/skills/_active-intent-gate.md +1 -1
  36. package/skills/_decision-tables.md +50 -0
  37. package/skills/auto/SKILL.md +69 -68
  38. package/skills/auto/evals/evals.json +4 -4
  39. package/skills/auto/references/agent-architecture.md +2 -2
  40. package/skills/continuing/SKILL.md +23 -130
  41. package/skills/continuing/evals/evals.json +26 -80
  42. package/skills/dashboard/SKILL.md +18 -15
  43. package/skills/dashboard/references/classification.md +3 -3
  44. package/skills/dashboard/templates/dashboard-global.md +8 -23
  45. package/skills/dashboard/templates/dashboard-project.md +7 -26
  46. package/skills/doctor/SKILL.md +3 -3
  47. package/skills/install/SKILL.md +10 -10
  48. package/skills/{brainstorming → intent-brainstorming}/SKILL.md +43 -45
  49. package/skills/intent-brainstorming/evals/evals.json +67 -0
  50. package/skills/{brainstorming → intent-brainstorming}/references/design-principles.md +12 -17
  51. package/skills/intent-continuing/SKILL.md +99 -0
  52. package/skills/intent-continuing/evals/evals.json +145 -0
  53. package/skills/intent-continuing/references/context-management.md +28 -0
  54. package/skills/{creating-intent → intent-creating}/SKILL.md +3 -3
  55. package/skills/{creating-intent → intent-creating}/evals/evals.json +1 -1
  56. package/skills/{intent-discovery → intent-discovering}/SKILL.md +1 -1
  57. package/skills/intent-ending/SKILL.md +151 -0
  58. package/skills/intent-ending/evals/evals.json +74 -0
  59. package/skills/{executing-plan → intent-executing}/SKILL.md +75 -15
  60. package/skills/intent-executing/evals/evals.json +66 -0
  61. package/skills/{brainstorming-grill-me → intent-grilling}/SKILL.md +4 -4
  62. package/skills/{linking-intents → intent-linking}/SKILL.md +1 -1
  63. package/skills/{linking-intents → intent-linking}/evals/evals.json +1 -1
  64. package/skills/{lock → intent-locking}/SKILL.md +1 -1
  65. package/skills/{writing-plans → intent-planning}/SKILL.md +48 -20
  66. package/skills/intent-planning/evals/evals.json +66 -0
  67. package/skills/{writing-plans → intent-planning}/references/plan-format.md +31 -7
  68. package/skills/{research → intent-researching}/SKILL.md +2 -2
  69. package/skills/{research → intent-researching}/evals/evals.json +1 -1
  70. package/skills/{savepoint → intent-savepoint}/SKILL.md +13 -1
  71. package/skills/intent-speccing/SKILL.md +69 -0
  72. package/skills/intent-speccing/evals/evals.json +126 -0
  73. package/skills/intent-speccing/references/per-section-fill-rules.md +92 -0
  74. package/skills/intent-speccing/references/self-verify-checklist.md +38 -0
  75. package/skills/intent-starting/SKILL.md +2 -2
  76. package/skills/intent-starting/evals/evals.json +2 -2
  77. package/skills/project-continuing/SKILL.md +104 -0
  78. package/skills/project-continuing/evals/evals.json +100 -0
  79. package/skills/project-continuing/references/board-fill.md +33 -0
  80. package/skills/{creating-project → project-creating}/SKILL.md +2 -2
  81. package/skills/releasing/SKILL.md +66 -14
  82. package/skills/releasing/references/release-lines.md +105 -0
  83. package/skills/roadmap/SKILL.md +7 -1
  84. package/skills/roadmap/references/file-format.md +30 -1
  85. package/skills/roadmap/references/operations.md +26 -6
  86. package/skills/roadmap-continuing/SKILL.md +85 -0
  87. package/skills/roadmap-continuing/evals/evals.json +82 -0
  88. package/skills/roadmap-continuing/references/liveness-ranking.md +56 -0
  89. package/skills/{versions → rollback}/SKILL.md +30 -20
  90. package/skills/{creating-skills → skill-creating}/SKILL.md +2 -2
  91. package/skills/{creating-skills → skill-creating}/evals/evals.json +5 -5
  92. package/skills/{creating-skills → skill-creating}/references/progressive-disclosure.md +2 -2
  93. package/skills/{evaluating-skills → skill-evaluating}/SKILL.md +1 -1
  94. package/skills/{evaluating-skills → skill-evaluating}/evals/evals.json +3 -3
  95. package/skills/{intent-curator → store-curating}/SKILL.md +6 -7
  96. package/skills/{intent-curator → store-curating}/evals/evals.json +1 -1
  97. package/skills/{managing-index → store-indexing}/SKILL.md +6 -7
  98. package/skills/{managing-index → store-indexing}/evals/evals.json +1 -1
  99. package/skills/{add-project-store → store-provisioning}/SKILL.md +2 -2
  100. package/skills/tutorial/SKILL.md +65 -0
  101. package/skills/tutorial/evals/evals.json +186 -0
  102. package/skills/tutorial/references/track-1-guided.md +123 -0
  103. package/skills/tutorial/references/track-2-auto.md +95 -0
  104. package/skills/tutorial/references/track-3-projects-and-roadmaps.md +110 -0
  105. package/skills/uninstall/SKILL.md +2 -2
  106. package/skills/update/SKILL.md +3 -3
  107. package/templates/agents.md +7 -7
  108. package/templates/config.yml +2 -1
  109. package/templates/index.md +4 -1
  110. package/skills/brainstorming/evals/evals.json +0 -22
  111. package/skills/savepoint/references/context-management.md +0 -32
  112. /package/skills/{creating-intent → intent-creating}/references/lifecycle.md +0 -0
  113. /package/skills/{creating-intent → intent-creating}/references/wikilinks.md +0 -0
  114. /package/skills/{executing-plan → intent-executing}/code-quality-reviewer-prompt.md +0 -0
  115. /package/skills/{executing-plan → intent-executing}/implementer-prompt.md +0 -0
  116. /package/skills/{executing-plan → intent-executing}/spec-reviewer-prompt.md +0 -0
  117. /package/skills/{linking-intents → intent-linking}/references/zettelkasten.md +0 -0
  118. /package/skills/{continuing → intent-savepoint}/references/context-management.md +0 -0
  119. /package/skills/{creating-project → project-creating}/references/hubs-projects.md +0 -0
  120. /package/skills/{creating-project → project-creating}/references/project-scaffolding.md +0 -0
  121. /package/skills/{creating-skills → skill-creating}/references/agents.md +0 -0
  122. /package/skills/{creating-skills → skill-creating}/references/evals.md +0 -0
  123. /package/skills/{creating-skills → skill-creating}/references/hooks.md +0 -0
  124. /package/skills/{creating-skills → skill-creating}/references/scripts.md +0 -0
  125. /package/skills/{creating-skills → skill-creating}/references/skills.md +0 -0
  126. /package/skills/{creating-skills → skill-creating}/scripts/scaffold.rb +0 -0
  127. /package/skills/{evaluating-skills → skill-evaluating}/assets/eval-template.json +0 -0
  128. /package/skills/{evaluating-skills → skill-evaluating}/references/convention-checks.md +0 -0
  129. /package/skills/{evaluating-skills → skill-evaluating}/references/eval-methodology.md +0 -0
  130. /package/skills/{managing-index → store-indexing}/references/zettelkasten-linking.md +0 -0
@@ -0,0 +1,123 @@
1
+ # Track 1: Guided, your first intent
2
+
3
+ ## Who it is for and what you will have done
4
+
5
+ For a new user who wants to feel the whole cycle once, one stage at a time, approving each
6
+ step before the next one starts. After this track, one small, real change will be delivered
7
+ end to end: a piece of work moved through What, Why, How, and Exec, with a finished
8
+ `outcome.md` to show for it.
9
+
10
+ ## Before you start
11
+
12
+ Run `/plastic-update` first, so the commands below match what is actually installed.
13
+
14
+ Work in a sandbox: this track always creates a global-store intent; the throwaway repo below
15
+ is never registered as a Plastic project. Pick a throwaway git repository if you have one
16
+ handy, since the worked example edits its README: station 6's deliverable is that file edit.
17
+ No repo handy? Station 6's deliverable becomes a short written note saved in the intent's own
18
+ directory instead (see station 6). Either way, nothing in this track touches a real project.
19
+
20
+ ## Stations
21
+
22
+ ### 1. Create the intent
23
+
24
+ Type `/plastic-intent-creating` and describe the work in plain words, for example "add a
25
+ short Usage section to this project's README."
26
+
27
+ Artifact: a new intent directory, `{id}--slug.md`, plus the sentinel placeholder lifecycle
28
+ files (`spec.md`, `plan.md`, `checklist.md`, `outcome.md`) and empty `actions/` and
29
+ `resources/` folders.
30
+
31
+ Checkpoint: open the new file. It already has a real id and a one-line description; nothing
32
+ was hand-typed into it directly. That is the point: intents are always scaffolded by the
33
+ tool, never written by hand.
34
+
35
+ ### 2. Board the intent
36
+
37
+ Type `/plastic-intent-starting`.
38
+
39
+ Artifact: a delivery lock (a `delivery.lock` file in the intent directory) naming this
40
+ session as the one owner, and a line in `savepoint.md` recording the stage. The agent then
41
+ asks exactly one question: "auto or guided?"
42
+
43
+ Checkpoint: answer "guided." Explain in one sentence why the lock matters: it stops two
44
+ sessions from editing the same intent at the same time.
45
+
46
+ ### 3. Why, rulings one at a time
47
+
48
+ Type `/plastic-intent-brainstorming` (or `/plastic-intent-grilling` for a harder,
49
+ interview-style pass over the same ground). It asks conversational prose questions, one at a
50
+ time, never a multiple-choice menu, and answers them one at a time in return.
51
+
52
+ Artifact: `## Context` and `### Decisions` in the intent file fill in as each answer lands, and
53
+ each ruling also lands as its own `## Insights` entry the moment it is made, never batched for
54
+ later. This station's product is the enriched Why; it hands off to `/plastic-intent-speccing`
55
+ next, it does not write `spec.md` itself.
56
+
57
+ Checkpoint: after two or three answers, look at the intent file. Every ruling given out loud
58
+ is already sitting in `### Decisions` and in `## Insights`, in writing.
59
+
60
+ ### 4. Consolidate the spec
61
+
62
+ Type `/plastic-intent-speccing`.
63
+
64
+ Artifact: `spec.md`, stamped with a tier (`S`, for this small worked example) and its eight
65
+ sections filled from the rulings recorded in station 3.
66
+
67
+ Checkpoint: name the stamped tier and point at one sentence in `spec.md` that traces back to
68
+ an answer given in station 3.
69
+
70
+ ### 5. Plan
71
+
72
+ Type `/plastic-intent-planning`.
73
+
74
+ Artifact: `plan.md` and `checklist.md`. At the S tier used here, `actions/` stays empty and
75
+ the task rationale lives inline in `plan.md` instead of separate action files; only the L
76
+ tier (many independent tasks, dispatched in parallel) gets one `actions/ACTION_N.md` file
77
+ per task. `checklist.md` follows a fixed form: tasks start under `## In Progress`, move to
78
+ `## Completed` as they land, and a `## Session Log` table records what happened each session.
79
+ A task that depends on an owner decision landing first (a destructive step, a structural
80
+ ruling) gets an `[ORCHESTRATOR]` prefix and blocks every other item until that decision is
81
+ made; this worked example has none.
82
+
83
+ Checkpoint: open `checklist.md`. Every task in `plan.md` has a matching checkbox under
84
+ `## In Progress`; that checklist, not `plan.md` itself, is what gets ticked off and moved to
85
+ `## Completed` during Exec.
86
+
87
+ ### 6. Exec, verify before the gate
88
+
89
+ Type `/plastic-intent-executing`.
90
+
91
+ Teach the order: first the agent syncs its working copy with the main line, so no edit lands
92
+ on a path a merged change upstream has already touched or removed. Then it makes the change,
93
+ runs whatever verifies it (a test suite, or a manual check for a docs change like this one),
94
+ and only then ticks the checklist box, moving the task from `## In Progress` to
95
+ `## Completed` and adding a `## Session Log` row, before moving to the next task. Verifying
96
+ always comes before checking a box, never after, and each task is ticked the moment it lands,
97
+ never batched for later.
98
+
99
+ Artifact: the actual change on disk (the new README Usage section, or, in the global-store
100
+ fallback, a short written note saved as the intent's deliverable) and a fully ticked
101
+ `checklist.md`.
102
+
103
+ Checkpoint: find the new Usage section in the README (or the written note) and confirm every
104
+ box in `checklist.md` is checked and moved to `## Completed`, with a `## Session Log` row for
105
+ this session, before moving to station 7.
106
+
107
+ ### 7. Done
108
+
109
+ Type `/plastic-intent-ending`.
110
+
111
+ Artifact: a real `outcome.md` (Summary, Delivered, Verification, Follow-ups), the intent
112
+ moved from `## Active` to `## Completed` in `INDEX.md`, and a closing `Done` line in
113
+ `savepoint.md`.
114
+
115
+ Checkpoint: open `outcome.md` and read its Summary. It should describe, in a sentence or
116
+ two, exactly the README section (or note) just delivered.
117
+
118
+ ## Wrap and where to go next
119
+
120
+ That is the full cycle once: create, board, decide, spec, plan, build, done. Read
121
+ `docs/guides/your-first-intent-in-10-minutes.md` for the same path condensed to a single
122
+ read, and `docs/guides/what-the-gates-are-telling-you.md` for what to do if a station denies
123
+ an action instead of completing it.
@@ -0,0 +1,95 @@
1
+ # Track 2: Auto, hand delivery to the agent
2
+
3
+ ## Who it is for and what you will have done
4
+
5
+ For someone who has seen the stages once (track 1) and now wants to hand the work to the
6
+ agent, watch it move through the gates and reports on its own, and learn how to check in on
7
+ it and step back in later. After this track, one small intent will have been delivered by the
8
+ agent end to end, and pausing and resuming that delivery will feel familiar.
9
+
10
+ ## Before you start
11
+
12
+ Run `/plastic-update` first, so the commands below match what is actually installed.
13
+
14
+ Work in a sandbox: a throwaway git repository, or a global-store intent. Nothing in this
15
+ track touches a real project.
16
+
17
+ ## Stations
18
+
19
+ ### 1. Board a small intent and choose auto
20
+
21
+ Start from an active intent (create one first with `/plastic-intent-creating` if none
22
+ exists, the same way as track 1 station 1). Type `/plastic-auto`.
23
+
24
+ Artifact: the delivery lock arms, and the agent announces it is taking over the intent for
25
+ autonomous delivery.
26
+
27
+ Checkpoint: name the one precondition auto needs before it will start: an active intent must
28
+ already exist for the intent you name. (Say "auto" with nothing named, and it can pick a
29
+ queued intent from the dashboard's queue itself.)
30
+
31
+ ### 2. What auto does, and what stays with the user
32
+
33
+ No new command at this station. Watch how the work splits.
34
+
35
+ Auto owns How (the plan, the checklist, the action files) and Exec (the code, the tests, the
36
+ mechanical close) from here on. Inside Exec it follows a few fixed habits: it syncs its
37
+ working copy with the main line before touching anything, ticks each task the moment it
38
+ lands rather than batching several into one later edit, and independently verifies its own
39
+ work (running the test suite, or checking the changed file) before presenting anything back
40
+ to you. For a task shaped like an audit or a sweep, checking many files rather than building
41
+ one artifact, it also drops a short methods report into `resources/` before the gate, so you
42
+ can review how it checked, not just what it found.
43
+
44
+ The user keeps two things: the rulings made along the way, and the review points, moments
45
+ auto is built to pause for, such as confirming a project path or stopping before a
46
+ destructive action with no safe way back. When auto tells you to run a command yourself
47
+ ("run /plastic-intent-speccing"), that is an instruction for you to type; it is a different
48
+ thing from the prompts auto hands to its own dispatched subagents, and the two are never
49
+ mixed up in what it tells you.
50
+
51
+ Checkpoint: name one thing auto will always stop and ask about, rather than decide alone.
52
+
53
+ ### 3. Walking the gates
54
+
55
+ No new command. Auto still honors every hard gate a guided session would hit: the delivery
56
+ lock (one owner at a time), the code gate (shut until `plan.md` and `checklist.md` exist),
57
+ and the create gate (intents only come from the tool that makes them, never hand-authored).
58
+ One gate, retrieval, is advisory only and never blocks anything; it just adds a note.
59
+
60
+ Checkpoint: read one gate message from the run so far and say whether it is one of the hard
61
+ gates or the one advisory note.
62
+
63
+ ### 4. Reading the per-stage reports
64
+
65
+ No new command. At each stage boundary (What, Why, How, Exec, Done) the agent briefs in a
66
+ fixed three-line shape: State (what happened and why it matters), Risk (the one thing that
67
+ could bite, or "nothing flagged"), and Call (the decision left to the user, or the call the
68
+ agent is taking on its own).
69
+
70
+ Checkpoint: in the most recent report, point at the State line, the Risk line, and the Call
71
+ line.
72
+
73
+ ### 5. Continue and where-was-I after time away
74
+
75
+ Type `/plastic-continuing`.
76
+
77
+ Artifact: the current state, presented and then the session stops. If a specific intent is
78
+ named, the agent reads its stage and savepoint and resumes exactly there, rather than
79
+ starting over.
80
+
81
+ Checkpoint: after stepping away and running this command, name the stage the intent resumed
82
+ at and how that matched what was actually on disk.
83
+
84
+ ## Wrap and where to go next
85
+
86
+ Auto keeps the same stages and the same gates as guided; the only difference is who steers.
87
+ Read `docs/guides/pick-your-mode.md` for the honest trade-off between guided and auto, and
88
+ `docs/guides/using-plastic-with-claude-code.md` for how that choice feels day to day and how
89
+ it connects to roadmap-driven delivery. For denial messages met along the way, read
90
+ `docs/guides/what-the-gates-are-telling-you.md`.
91
+
92
+ Note on terms: "guided" means the user starts each stage with a command and the agent
93
+ narrows the thinking inside it, the same shape track 1 walked. "Manual", editing project
94
+ files outside the lifecycle entirely, is not a third mode; it is the anti-pattern both guided
95
+ and auto exist to avoid.
@@ -0,0 +1,110 @@
1
+ # Track 3: Projects and roadmaps
2
+
3
+ ## Who it is for and what you will have done
4
+
5
+ For someone ready to see a founding idea grow past a single intent: into a small real
6
+ project, a handful of related intents, and a roadmap that plans and tracks them as one
7
+ batch. After this track, a small project (a personal todo app, in the walkthrough below)
8
+ will exist with more than one intent inside it and a roadmap file describing the batch.
9
+
10
+ ## Before you start
11
+
12
+ Run `/plastic-update` first, so the commands below match what is actually installed.
13
+
14
+ Work in a sandbox: this whole track is a walked example. It creates a real project directory
15
+ and a real roadmap file on disk, but the project is a throwaway one made for learning, not
16
+ one this tutorial keeps or ships.
17
+
18
+ ## Stations
19
+
20
+ ### 1. Start from a founding implementation intent
21
+
22
+ Create and board an intent the same way as track 1, stations 1 and 2: `/plastic-intent-creating`,
23
+ then `/plastic-intent-starting`. Describe something meant to grow into a small real project,
24
+ for example "build a personal todo app."
25
+
26
+ Then type `/plastic-intent-brainstorming` and record a couple of real rulings on this founding
27
+ intent, for example the language or how tasks get stored. Keep it short: this intent only
28
+ needs enough decisions for the new project to inherit, not a full design.
29
+
30
+ Checkpoint: explain why this intent is "founding": its decisions are about to carry forward
31
+ into a whole new project.
32
+
33
+ ### 2. Grow it into a project
34
+
35
+ Type `/plastic-project-creating`.
36
+
37
+ Artifact: a new project directory, an `AGENTS.md` file carrying the founding intent's
38
+ decisions, the project's own intent store, and a new entry in `projects.yml` registering it.
39
+
40
+ Checkpoint: open `AGENTS.md` and find at least one line that traces back to a decision
41
+ recorded in the founding intent back in station 1.
42
+
43
+ ### 3. Add more intents inside the project
44
+
45
+ Type `/plastic-intent-creating` at least twice, from inside the project, describing two
46
+ pieces of real work, for example "add a task list model" and "add a due date field."
47
+
48
+ Artifact: two or more intent directories inside the project's own store, separate from the
49
+ global store the founding intent came from.
50
+
51
+ Checkpoint: point at the project's store path and confirm both new intents live there, not
52
+ in the global store.
53
+
54
+ ### 4. Plan a delivery batch
55
+
56
+ Type `/plastic-roadmap`.
57
+
58
+ Teach the roadmap file shape exactly: a title and short meta header, a `## Goal` section in
59
+ prose describing what "done" looks like for the whole batch, a `## Waves` section (an
60
+ ordered list of groups of intents; intents inside one wave are safe to run in parallel,
61
+ waves themselves run one after another), and an append-only, dated `## Log`. `INDEX.md`
62
+ stays the single source of truth for each intent's status; the roadmap only mirrors it.
63
+
64
+ Artifact: a new `roadmaps/<slug>.md` file, sitting next to the project's `INDEX.md`, listing
65
+ the two or more intents from station 3 across one or more waves.
66
+
67
+ Checkpoint: name which of the two intents from station 3 share a wave (so they run in
68
+ parallel) and which one, if any, sits in a later wave (so it waits).
69
+
70
+ ### 5. Drive delivery with /goal
71
+
72
+ `/goal` is a Claude Code harness command, not a Plastic skill. It sets a completion condition
73
+ and Claude keeps working, turn after turn, until a fast checker model confirms from what
74
+ Claude has actually reported that the condition holds; `/goal` never reads files on its own,
75
+ so the condition has to name a check Claude's own output can prove.
76
+
77
+ Turn the roadmap's `## Goal` and current `## Waves` into that condition, for example:
78
+
79
+ `/goal every intent in wave 1 of roadmaps/<slug>.md shows Completed in INDEX.md, and the test
80
+ suite is green`
81
+
82
+ Claude then works through the wave itself, one intent at a time, and stops on its own once the
83
+ checker agrees the condition holds. Run `/goal` with no argument at any point to see how long
84
+ it has run and how many turns it has spent; run `/goal clear` to stop it before that.
85
+
86
+ On a harness without `/goal`, just tell the agent to deliver the roadmap in auto mode instead.
87
+
88
+ Checkpoint: point at the exact file (`roadmaps/<slug>.md`) whose `## Goal` and `## Waves`
89
+ sections you turned into the condition above.
90
+
91
+ ### 6. Merge discipline and releases
92
+
93
+ No command run here; describe the step instead. Each delivered intent's code merges to main
94
+ as it lands. When the batch (or a meaningful slice of it) is ready to ship, cutting a release
95
+ runs through `/plastic-releasing`, which merges, bumps the version, tags, and completes the
96
+ intents it collects.
97
+
98
+ Releases and any npm publish step are described here, not run: this walkthrough stays in a
99
+ sandbox and never touches a real package registry.
100
+
101
+ Checkpoint: explain why a release completes the intents it collects, rather than an intent
102
+ waiting on a release to exist first.
103
+
104
+ ## Wrap and where to go next
105
+
106
+ This is the same What, Why, How, Exec cycle from tracks 1 and 2, repeated across a project
107
+ and gathered by a roadmap. Read
108
+ `docs/guides/using-plastic-with-claude-code.md` for roadmap-driven delivery in more depth,
109
+ including a real worked roadmap. For the exact roadmap file format beyond what this
110
+ walkthrough covers, the `plastic-roadmap` skill itself is the reference.
@@ -14,7 +14,7 @@ underlying uninstaller and adds reporting + verification.
14
14
 
15
15
  If Plastic is installed, derive `<channel>` from `~/.plastic/VERSION`: a version containing
16
16
  `-alpha` means `@alpha`, `-beta` means `@beta`, otherwise `@latest`. If not installed,
17
- default to `@beta`. The user can always override with `--alpha` / `--beta` / `--latest`.
17
+ default to `@latest`. The user can always override with `--alpha` / `--beta` / `--latest`.
18
18
 
19
19
  ## Procedure
20
20
 
@@ -74,5 +74,5 @@ Delete it too?
74
74
  ```
75
75
 
76
76
  - **Keep:** "Your data is at ~/.plastic/. Re-install anytime with
77
- `npx -y @zalom/plastic@beta install --claude` (or your channel)."
77
+ `npx -y @zalom/plastic@latest install --claude` (or your channel)."
78
78
  - **Delete:** run `rm -rf ~/.plastic/` and confirm.
@@ -22,7 +22,7 @@ clean no-op. You do not compute the target yourself, the script does.
22
22
 
23
23
  If Plastic is installed, derive `<channel>` from `~/.plastic/VERSION`: a version containing
24
24
  `-alpha` means `@alpha`, `-beta` means `@beta`, otherwise `@latest`. If not installed
25
- (first install), default to `@beta`. The user can always override with
25
+ (first install), default to `@latest`. The user can always override with
26
26
  `--alpha` / `--beta` / `--latest`.
27
27
 
28
28
  ## Flags
@@ -35,12 +35,12 @@ If Plastic is installed, derive `<channel>` from `~/.plastic/VERSION`: a version
35
35
  | `--alpha` | Switch to / advance the **alpha** channel (bleeding edge, confirmed if moving down in stability) |
36
36
 
37
37
  Switching toward a more stable channel is frictionless; switching toward bleeding edge is
38
- confirmed. To roll **back** to a previously-installed version, use `plastic-versions`.
38
+ confirmed. To roll **back** to a previously-installed version, use `plastic-rollback`.
39
39
 
40
40
  ## Prerequisites
41
41
 
42
42
  Plastic must be installed (`~/.plastic/VERSION` present). If not, run `plastic-install`
43
- first (or `npx -y @zalom/plastic@beta install --claude` directly).
43
+ first (or `npx -y @zalom/plastic@latest install --claude` directly).
44
44
 
45
45
  ## Procedure
46
46
 
@@ -47,13 +47,13 @@ Plastic has its own lifecycle skills. When a Plastic skill exists for the curren
47
47
 
48
48
  | Phase | Skill | Produces |
49
49
  |-------|-------|----------|
50
- | What | `plastic-creating-intent` | Intent file |
51
- | Why | `plastic-brainstorming` | `spec.md` |
52
- | Why | `plastic-research` | `resources/*.md` |
53
- | Why | `plastic-brainstorming-grill-me` | Deep interrogation |
54
- | How | `plastic-writing-plans` | `plan.md`, `checklist.md`, `actions/` |
55
- | Exec | `plastic-executing-plan` | Code + `outcome.md` |
56
- | Done | `plastic-intent-curator` | Lifecycle transition |
50
+ | What | `plastic-intent-creating` | Intent file |
51
+ | Why | `plastic-intent-brainstorming` | `spec.md` |
52
+ | Why | `plastic-intent-researching` | `resources/*.md` |
53
+ | Why | `plastic-intent-grilling` | Deep interrogation |
54
+ | How | `plastic-intent-planning` | `plan.md`, `checklist.md`, `actions/` |
55
+ | Exec | `plastic-intent-executing` | Code + `outcome.md` |
56
+ | Done | `plastic-store-curating` | Lifecycle transition |
57
57
 
58
58
  **Artifact convention:** ALL lifecycle artifacts go to the active intent directory (`store/{id}--{slug}/`). Never write specs to `docs/superpowers/specs/` or plans to `docs/superpowers/plans/`.
59
59
 
@@ -14,7 +14,8 @@ architect:
14
14
 
15
15
  # Per-agent model override (intent 116). Uncomment and set to a Claude Code
16
16
  # alias (opus, sonnet, haiku) to override the shipped tier for one agent. With
17
- # no entry, the shipped default applies. Never resolves to Fable.
17
+ # no entry, the shipped default applies and never resolves to Fable; naming
18
+ # Fable here is an explicit, sanctioned override, honored as written.
18
19
  # agents:
19
20
  # models:
20
21
  # plastic-executor: sonnet
@@ -1,13 +1,16 @@
1
1
  # Index
2
2
 
3
3
  ## Active
4
+ <!-- Line shape: `- [ID — Title](path)`. The em-dash (U+2014, not a plain hyphen)
5
+ between id and title is load-bearing: Bridge.intent_active? matches only that
6
+ shape, and a plain hyphen there fails the lock gate open (see docs/internals.md). -->
4
7
  (no active intents)
5
8
 
6
9
  ## Future
7
10
  (no future intents)
8
11
 
9
12
  ## Clusters
10
- (clusters emerge as intents accumulate add headings when 3+ intents share a topic)
13
+ (clusters emerge as intents accumulate; add headings when 3+ intents share a topic)
11
14
 
12
15
  ## Completed
13
16
  (links preserved, never deleted)
@@ -1,22 +0,0 @@
1
- {
2
- "skill_name": "plastic-brainstorming",
3
- "notes": "Intent 66a. Spec for the QMD-first step in the Why/explore-context phase (surface prior decisions/specs/outcomes before grep/Read). Runner is intent 76; spec only.",
4
- "evals": [
5
- {
6
- "id": 1,
7
- "scope": "behavior",
8
- "set": "validation",
9
- "prompt": "QMD is present. Brainstorming the active intent during the Why phase, the agent needs prior decisions and specs on caching.",
10
- "expected_output": "In the explore-project-context (Why) step, before scanning the store with grep/Read, runs `ruby ~/.plastic/scripts/qmd-sync search \"caching decisions\"` to surface prior decisions, specs, or outcomes, then opens the authoritative intent file for any hit it acts on. No-op fallback to INDEX.md / file scan when QMD is absent.",
11
- "files": [],
12
- "assertions": [
13
- {
14
- "type": "human",
15
- "check": "qmd-sync search is run during Why before grep/Read; authoritative file opened for any hit",
16
- "observed": "SKILL.md (or agent file) carries the QMD-first step: run qmd-sync search before grep/Read, then open the authoritative file; no-op fallback when QMD is absent",
17
- "result": "pass"
18
- }
19
- ]
20
- }
21
- ]
22
- }
@@ -1,32 +0,0 @@
1
- # Context Management (Start-Save-Continue)
2
-
3
- ## Save Point
4
- Triggered by PreCompact hook or manually:
5
- 1. Find active intent(s) from `~/.plastic/INDEX.md`
6
- 2. Update active intent's `checklist.md` (check off completed items)
7
- 3. Update active intent's `savepoint.md` (in-progress, next steps, blockers, discoveries)
8
- 4. Add observations to `## Insights`
9
- 5. Update INDEX.md
10
- 6. Commit: `cd ~/.plastic && git add . && git commit -m "chore: savepoint — [intent name]"`
11
- 7. Notify user to `/clear`
12
-
13
- ## Continue
14
- Triggered by UserPromptSubmit hook when user says "continue". Priority order:
15
-
16
- **1. Active intents first (resume work):**
17
- 1. Read INDEX.md → find active intent(s)
18
- 2. Read active intent's `intent.md` → what and why
19
- 3. Read active intent's `savepoint.md` → where we left off
20
- 4. Read active intent's `checklist.md` → what's next
21
- 5. Announce: intent name, current state, next step, blockers
22
- 6. Resume
23
-
24
- **2. No active intents → offer future intents:**
25
- 1. List all future intents from INDEX.md
26
- 2. Present them as options
27
- 3. When user picks one, move to Active in INDEX.md
28
-
29
- **3. Stale future intents (untouched 3+ days) → triage:**
30
- - **activate** — start working on it now
31
- - **abandon** — mark as abandoned
32
- - **defer to agent** — implement, research, or ideate