@zalom/plastic 1.0.3 → 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.
Files changed (98) hide show
  1. package/PLASTIC-reference.md +11 -11
  2. package/PLASTIC.md +7 -7
  3. package/README.md +47 -0
  4. package/agents/plastic-enforcer.md +3 -3
  5. package/agents/plastic-intent-curator.md +9 -10
  6. package/agents/plastic-spec-specialist.md +9 -6
  7. package/bin/plastic.js +2 -2
  8. package/package.json +1 -1
  9. package/scripts/dashboard.rb +1 -1
  10. package/scripts/doctor.rb +52 -4
  11. package/scripts/end-intent +330 -0
  12. package/scripts/hook-code-gate +1 -1
  13. package/scripts/hook-continue +1 -1
  14. package/scripts/hook-create-gate +2 -2
  15. package/scripts/hook-session-start +1 -1
  16. package/scripts/lib/bridge.rb +35 -3
  17. package/scripts/lib/installer_core.rb +8 -6
  18. package/scripts/lib/store_provisioning.rb +1 -1
  19. package/scripts/new-intent +1 -1
  20. package/scripts/{versions.rb → rollback.rb} +33 -41
  21. package/scripts/update.rb +1 -1
  22. package/skills/_active-intent-gate.md +1 -1
  23. package/skills/_decision-tables.md +50 -0
  24. package/skills/auto/SKILL.md +47 -64
  25. package/skills/auto/evals/evals.json +4 -4
  26. package/skills/auto/references/agent-architecture.md +2 -2
  27. package/skills/dashboard/SKILL.md +2 -2
  28. package/skills/doctor/SKILL.md +3 -3
  29. package/skills/install/SKILL.md +1 -1
  30. package/skills/{brainstorming → intent-brainstorming}/SKILL.md +43 -45
  31. package/skills/intent-brainstorming/evals/evals.json +67 -0
  32. package/skills/{brainstorming → intent-brainstorming}/references/design-principles.md +12 -17
  33. package/skills/{continuing → intent-continuing}/SKILL.md +3 -3
  34. package/skills/{continuing → intent-continuing}/evals/evals.json +24 -24
  35. package/skills/{creating-intent → intent-creating}/SKILL.md +3 -3
  36. package/skills/{creating-intent → intent-creating}/evals/evals.json +1 -1
  37. package/skills/{intent-discovery → intent-discovering}/SKILL.md +1 -1
  38. package/skills/intent-ending/SKILL.md +151 -0
  39. package/skills/intent-ending/evals/evals.json +74 -0
  40. package/skills/{executing-plan → intent-executing}/SKILL.md +75 -15
  41. package/skills/intent-executing/evals/evals.json +66 -0
  42. package/skills/{brainstorming-grill-me → intent-grilling}/SKILL.md +4 -4
  43. package/skills/{linking-intents → intent-linking}/SKILL.md +1 -1
  44. package/skills/{linking-intents → intent-linking}/evals/evals.json +1 -1
  45. package/skills/{lock → intent-locking}/SKILL.md +1 -1
  46. package/skills/{writing-plans → intent-planning}/SKILL.md +48 -20
  47. package/skills/intent-planning/evals/evals.json +66 -0
  48. package/skills/{writing-plans → intent-planning}/references/plan-format.md +31 -7
  49. package/skills/{research → intent-researching}/SKILL.md +2 -2
  50. package/skills/{research → intent-researching}/evals/evals.json +1 -1
  51. package/skills/{savepoint → intent-savepoint}/SKILL.md +1 -1
  52. package/skills/intent-speccing/SKILL.md +69 -0
  53. package/skills/intent-speccing/evals/evals.json +126 -0
  54. package/skills/intent-speccing/references/per-section-fill-rules.md +92 -0
  55. package/skills/intent-speccing/references/self-verify-checklist.md +38 -0
  56. package/skills/intent-starting/SKILL.md +2 -2
  57. package/skills/intent-starting/evals/evals.json +2 -2
  58. package/skills/{creating-project → project-creating}/SKILL.md +2 -2
  59. package/skills/releasing/SKILL.md +18 -14
  60. package/skills/{versions → rollback}/SKILL.md +30 -20
  61. package/skills/{creating-skills → skill-creating}/SKILL.md +2 -2
  62. package/skills/{creating-skills → skill-creating}/evals/evals.json +5 -5
  63. package/skills/{creating-skills → skill-creating}/references/progressive-disclosure.md +2 -2
  64. package/skills/{evaluating-skills → skill-evaluating}/SKILL.md +1 -1
  65. package/skills/{evaluating-skills → skill-evaluating}/evals/evals.json +3 -3
  66. package/skills/{intent-curator → store-curating}/SKILL.md +6 -7
  67. package/skills/{intent-curator → store-curating}/evals/evals.json +1 -1
  68. package/skills/{managing-index → store-indexing}/SKILL.md +6 -7
  69. package/skills/{managing-index → store-indexing}/evals/evals.json +1 -1
  70. package/skills/{add-project-store → store-provisioning}/SKILL.md +2 -2
  71. package/skills/tutorial/SKILL.md +65 -0
  72. package/skills/tutorial/evals/evals.json +186 -0
  73. package/skills/tutorial/references/track-1-guided.md +123 -0
  74. package/skills/tutorial/references/track-2-auto.md +95 -0
  75. package/skills/tutorial/references/track-3-projects-and-roadmaps.md +110 -0
  76. package/skills/update/SKILL.md +1 -1
  77. package/templates/agents.md +7 -7
  78. package/skills/brainstorming/evals/evals.json +0 -22
  79. /package/skills/{continuing → intent-continuing}/references/context-management.md +0 -0
  80. /package/skills/{creating-intent → intent-creating}/references/lifecycle.md +0 -0
  81. /package/skills/{creating-intent → intent-creating}/references/wikilinks.md +0 -0
  82. /package/skills/{executing-plan → intent-executing}/code-quality-reviewer-prompt.md +0 -0
  83. /package/skills/{executing-plan → intent-executing}/implementer-prompt.md +0 -0
  84. /package/skills/{executing-plan → intent-executing}/spec-reviewer-prompt.md +0 -0
  85. /package/skills/{linking-intents → intent-linking}/references/zettelkasten.md +0 -0
  86. /package/skills/{savepoint → intent-savepoint}/references/context-management.md +0 -0
  87. /package/skills/{creating-project → project-creating}/references/hubs-projects.md +0 -0
  88. /package/skills/{creating-project → project-creating}/references/project-scaffolding.md +0 -0
  89. /package/skills/{creating-skills → skill-creating}/references/agents.md +0 -0
  90. /package/skills/{creating-skills → skill-creating}/references/evals.md +0 -0
  91. /package/skills/{creating-skills → skill-creating}/references/hooks.md +0 -0
  92. /package/skills/{creating-skills → skill-creating}/references/scripts.md +0 -0
  93. /package/skills/{creating-skills → skill-creating}/references/skills.md +0 -0
  94. /package/skills/{creating-skills → skill-creating}/scripts/scaffold.rb +0 -0
  95. /package/skills/{evaluating-skills → skill-evaluating}/assets/eval-template.json +0 -0
  96. /package/skills/{evaluating-skills → skill-evaluating}/references/convention-checks.md +0 -0
  97. /package/skills/{evaluating-skills → skill-evaluating}/references/eval-methodology.md +0 -0
  98. /package/skills/{managing-index → store-indexing}/references/zettelkasten-linking.md +0 -0
@@ -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.
@@ -35,7 +35,7 @@ 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
 
@@ -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
 
@@ -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
- }