@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.
- package/PLASTIC-reference.md +11 -11
- package/PLASTIC.md +7 -7
- package/README.md +47 -0
- package/agents/plastic-enforcer.md +3 -3
- package/agents/plastic-intent-curator.md +9 -10
- package/agents/plastic-spec-specialist.md +9 -6
- package/bin/plastic.js +2 -2
- package/package.json +1 -1
- package/scripts/dashboard.rb +1 -1
- package/scripts/doctor.rb +52 -4
- package/scripts/end-intent +330 -0
- package/scripts/hook-code-gate +1 -1
- package/scripts/hook-continue +1 -1
- package/scripts/hook-create-gate +2 -2
- package/scripts/hook-session-start +1 -1
- package/scripts/lib/bridge.rb +35 -3
- package/scripts/lib/installer_core.rb +8 -6
- package/scripts/lib/store_provisioning.rb +1 -1
- package/scripts/new-intent +1 -1
- package/scripts/{versions.rb → rollback.rb} +33 -41
- package/scripts/update.rb +1 -1
- package/skills/_active-intent-gate.md +1 -1
- package/skills/_decision-tables.md +50 -0
- package/skills/auto/SKILL.md +47 -64
- package/skills/auto/evals/evals.json +4 -4
- package/skills/auto/references/agent-architecture.md +2 -2
- package/skills/dashboard/SKILL.md +2 -2
- package/skills/doctor/SKILL.md +3 -3
- package/skills/install/SKILL.md +1 -1
- package/skills/{brainstorming → intent-brainstorming}/SKILL.md +43 -45
- package/skills/intent-brainstorming/evals/evals.json +67 -0
- package/skills/{brainstorming → intent-brainstorming}/references/design-principles.md +12 -17
- package/skills/{continuing → intent-continuing}/SKILL.md +3 -3
- package/skills/{continuing → intent-continuing}/evals/evals.json +24 -24
- package/skills/{creating-intent → intent-creating}/SKILL.md +3 -3
- package/skills/{creating-intent → intent-creating}/evals/evals.json +1 -1
- package/skills/{intent-discovery → intent-discovering}/SKILL.md +1 -1
- package/skills/intent-ending/SKILL.md +151 -0
- package/skills/intent-ending/evals/evals.json +74 -0
- package/skills/{executing-plan → intent-executing}/SKILL.md +75 -15
- package/skills/intent-executing/evals/evals.json +66 -0
- package/skills/{brainstorming-grill-me → intent-grilling}/SKILL.md +4 -4
- package/skills/{linking-intents → intent-linking}/SKILL.md +1 -1
- package/skills/{linking-intents → intent-linking}/evals/evals.json +1 -1
- package/skills/{lock → intent-locking}/SKILL.md +1 -1
- package/skills/{writing-plans → intent-planning}/SKILL.md +48 -20
- package/skills/intent-planning/evals/evals.json +66 -0
- package/skills/{writing-plans → intent-planning}/references/plan-format.md +31 -7
- package/skills/{research → intent-researching}/SKILL.md +2 -2
- package/skills/{research → intent-researching}/evals/evals.json +1 -1
- package/skills/{savepoint → intent-savepoint}/SKILL.md +1 -1
- package/skills/intent-speccing/SKILL.md +69 -0
- package/skills/intent-speccing/evals/evals.json +126 -0
- package/skills/intent-speccing/references/per-section-fill-rules.md +92 -0
- package/skills/intent-speccing/references/self-verify-checklist.md +38 -0
- package/skills/intent-starting/SKILL.md +2 -2
- package/skills/intent-starting/evals/evals.json +2 -2
- package/skills/{creating-project → project-creating}/SKILL.md +2 -2
- package/skills/releasing/SKILL.md +18 -14
- package/skills/{versions → rollback}/SKILL.md +30 -20
- package/skills/{creating-skills → skill-creating}/SKILL.md +2 -2
- package/skills/{creating-skills → skill-creating}/evals/evals.json +5 -5
- package/skills/{creating-skills → skill-creating}/references/progressive-disclosure.md +2 -2
- package/skills/{evaluating-skills → skill-evaluating}/SKILL.md +1 -1
- package/skills/{evaluating-skills → skill-evaluating}/evals/evals.json +3 -3
- package/skills/{intent-curator → store-curating}/SKILL.md +6 -7
- package/skills/{intent-curator → store-curating}/evals/evals.json +1 -1
- package/skills/{managing-index → store-indexing}/SKILL.md +6 -7
- package/skills/{managing-index → store-indexing}/evals/evals.json +1 -1
- package/skills/{add-project-store → store-provisioning}/SKILL.md +2 -2
- package/skills/tutorial/SKILL.md +65 -0
- package/skills/tutorial/evals/evals.json +186 -0
- package/skills/tutorial/references/track-1-guided.md +123 -0
- package/skills/tutorial/references/track-2-auto.md +95 -0
- package/skills/tutorial/references/track-3-projects-and-roadmaps.md +110 -0
- package/skills/update/SKILL.md +1 -1
- package/templates/agents.md +7 -7
- package/skills/brainstorming/evals/evals.json +0 -22
- /package/skills/{continuing → intent-continuing}/references/context-management.md +0 -0
- /package/skills/{creating-intent → intent-creating}/references/lifecycle.md +0 -0
- /package/skills/{creating-intent → intent-creating}/references/wikilinks.md +0 -0
- /package/skills/{executing-plan → intent-executing}/code-quality-reviewer-prompt.md +0 -0
- /package/skills/{executing-plan → intent-executing}/implementer-prompt.md +0 -0
- /package/skills/{executing-plan → intent-executing}/spec-reviewer-prompt.md +0 -0
- /package/skills/{linking-intents → intent-linking}/references/zettelkasten.md +0 -0
- /package/skills/{savepoint → intent-savepoint}/references/context-management.md +0 -0
- /package/skills/{creating-project → project-creating}/references/hubs-projects.md +0 -0
- /package/skills/{creating-project → project-creating}/references/project-scaffolding.md +0 -0
- /package/skills/{creating-skills → skill-creating}/references/agents.md +0 -0
- /package/skills/{creating-skills → skill-creating}/references/evals.md +0 -0
- /package/skills/{creating-skills → skill-creating}/references/hooks.md +0 -0
- /package/skills/{creating-skills → skill-creating}/references/scripts.md +0 -0
- /package/skills/{creating-skills → skill-creating}/references/skills.md +0 -0
- /package/skills/{creating-skills → skill-creating}/scripts/scaffold.rb +0 -0
- /package/skills/{evaluating-skills → skill-evaluating}/assets/eval-template.json +0 -0
- /package/skills/{evaluating-skills → skill-evaluating}/references/convention-checks.md +0 -0
- /package/skills/{evaluating-skills → skill-evaluating}/references/eval-methodology.md +0 -0
- /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.
|
package/skills/update/SKILL.md
CHANGED
|
@@ -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-
|
|
38
|
+
confirmed. To roll **back** to a previously-installed version, use `plastic-rollback`.
|
|
39
39
|
|
|
40
40
|
## Prerequisites
|
|
41
41
|
|
package/templates/agents.md
CHANGED
|
@@ -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
|
|
51
|
-
| Why | `plastic-brainstorming` | `spec.md` |
|
|
52
|
-
| Why | `plastic-
|
|
53
|
-
| Why | `plastic-
|
|
54
|
-
| How | `plastic-
|
|
55
|
-
| Exec | `plastic-executing
|
|
56
|
-
| Done | `plastic-
|
|
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
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|