@zalom/plastic 1.0.0-alpha.14 → 1.0.0-alpha.16

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 (38) hide show
  1. package/PLASTIC.md +18 -18
  2. package/README.md +13 -6
  3. package/agents/future-intent-researcher.md +1 -1
  4. package/agents/intent-curator.md +1 -1
  5. package/deprecations.yml +6 -5
  6. package/package.json +1 -1
  7. package/scripts/doctor.rb +37 -30
  8. package/scripts/hook-auto-arm +3 -3
  9. package/scripts/hook-continue +1 -1
  10. package/scripts/hook-gate-check +3 -3
  11. package/scripts/hook-session-start +1 -1
  12. package/scripts/install.rb +175 -119
  13. package/scripts/lib/bridge.rb +1 -1
  14. package/scripts/migrate-to-global +1 -1
  15. package/skills/_active-intent-gate.md +1 -1
  16. package/skills/auto/SKILL.md +6 -6
  17. package/skills/auto/evals/evals.json +17 -17
  18. package/skills/auto/references/agent-architecture.md +1 -1
  19. package/skills/brainstorming/SKILL.md +8 -8
  20. package/skills/brainstorming-grill-me/SKILL.md +5 -5
  21. package/skills/continuing/SKILL.md +4 -4
  22. package/skills/creating-intent/SKILL.md +1 -1
  23. package/skills/creating-project/SKILL.md +4 -4
  24. package/skills/doctor/SKILL.md +4 -4
  25. package/skills/evaluating-skills/SKILL.md +1 -1
  26. package/skills/executing-plan/SKILL.md +1 -1
  27. package/skills/install/SKILL.md +32 -8
  28. package/skills/intent-curator/SKILL.md +3 -3
  29. package/skills/linking-intents/SKILL.md +1 -1
  30. package/skills/managing-index/SKILL.md +1 -1
  31. package/skills/releasing/SKILL.md +3 -3
  32. package/skills/research/SKILL.md +2 -2
  33. package/skills/savepoint/SKILL.md +1 -1
  34. package/skills/uninstall/SKILL.md +39 -28
  35. package/skills/update/SKILL.md +2 -2
  36. package/skills/writing-instructions/SKILL.md +2 -2
  37. package/skills/writing-plans/SKILL.md +5 -5
  38. package/templates/agents.md +7 -7
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:brainstorming-grill-me
2
+ name: plastic-brainstorming-grill-me
3
3
  description: >-
4
4
  Deep brainstorming that interviews the user relentlessly about a plan or design until reaching shared understanding.
5
5
  Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
@@ -83,18 +83,18 @@ If ALL items pass, offer autonomous delivery:
83
83
  >
84
84
  > Want to grill more, or should I go autonomous?"
85
85
 
86
- - If human says go → invoke `plastic:auto`
86
+ - If human says go → invoke `plastic-auto`
87
87
  - If human says grill more → continue grilling (reset to step 2)
88
88
  - If human says neither (wants to drive manually) → proceed as before (offer planning)
89
89
 
90
90
  This offer replaces the final question in Close Out ("Ready to plan implementation, or do you want another pass?"). The new options are:
91
- 1. Go autonomous (`plastic:auto`)
91
+ 1. Go autonomous (`plastic-auto`)
92
92
  2. Grill more (continue interrogation)
93
93
  3. Plan manually (invoke `superpowers:writing-plans` or proceed with human-driven planning)
94
94
 
95
95
  ## Relationship to superpowers:brainstorming
96
96
 
97
- | | superpowers:brainstorming | plastic:brainstorming-grill-me |
97
+ | | superpowers:brainstorming | plastic-brainstorming-grill-me |
98
98
  |---|---|---|
99
99
  | Speed | Quick (5-10 min) | Thorough (20-45 min) |
100
100
  | Depth | Surface-level exploration | Exhaustive decision tree |
@@ -102,4 +102,4 @@ This offer replaces the final question in Close Out ("Ready to plan implementati
102
102
  | Output | Initial spec | Battle-tested spec with all branches resolved |
103
103
  | Style | Collaborative, exploratory | Interrogative, relentless |
104
104
 
105
- Use `superpowers:brainstorming` to generate ideas. Use `plastic:brainstorming-grill-me` to pressure-test them.
105
+ Use `superpowers:brainstorming` to generate ideas. Use `plastic-brainstorming-grill-me` to pressure-test them.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:continuing
2
+ name: plastic-continuing
3
3
  description: Use when the user says "continue" after a /clear, or when resuming work in a new session. Reads intent state from global store (~/.plastic/) or local store, offers active intents first, then future intents, and surfaces stale intents for triage.
4
4
  ---
5
5
 
@@ -14,7 +14,7 @@ description: Use when the user says "continue" after a /clear, or when resuming
14
14
 
15
15
  1. Check `~/.plastic/INDEX.md` → global mode
16
16
  2.
17
- 3. If neither exists → announce "No Plastic store found. Run /plastic:install."
17
+ 3. If neither exists → announce "No Plastic store found. Run /plastic-install."
18
18
 
19
19
  ## Workflow
20
20
 
@@ -68,7 +68,7 @@ Last autonomous action: [last (autonomous) insight entry]
68
68
  Next step: [from checklist or savepoint]
69
69
  ```
70
70
 
71
- **Then:** Continue autonomous execution by invoking `plastic:auto`. The auto skill will pick up from the current lifecycle stage (it reads filesystem state to determine where to resume).
71
+ **Then:** Continue autonomous execution by invoking `plastic-auto`. The auto skill will pick up from the current lifecycle stage (it reads filesystem state to determine where to resume).
72
72
 
73
73
  If NOT found — resume normally as described in step 3.
74
74
 
@@ -91,7 +91,7 @@ Stale future intents (no action taken):
91
91
  - implement: agent builds it
92
92
  - research: agent investigates feasibility
93
93
  - ideate: agent explores the problem space
94
- d) Auto — go fully autonomous (invokes plastic:auto — agent delivers the intent end-to-end)
94
+ d) Auto — go fully autonomous (invokes plastic-auto — agent delivers the intent end-to-end)
95
95
  ```
96
96
 
97
97
  Auto-commit all triage changes.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:creating-intent
2
+ name: plastic-creating-intent
3
3
  description: Use when new work begins, the user expresses a new goal, says "new intent", or no active intent exists for the current task. Creates intents in the global store (~/.plastic/store/) or in a project's store (~/.plastic/projects/{slug}/store/) depending on context.
4
4
  ---
5
5
 
@@ -1,8 +1,8 @@
1
1
  ---
2
- name: plastic:creating-project
2
+ name: plastic-creating-project
3
3
  description: >-
4
4
  Create a new project from an implementation intent. Sets up project directory,
5
- git init, AGENTS.md with founding intent decisions, plastic:install --local,
5
+ git init, AGENTS.md with founding intent decisions, plastic-install --local,
6
6
  tactical mirror, projects.yml registration, and framework scaffolding.
7
7
  Use when an implementation intent spawns a project, or manually by user.
8
8
  ---
@@ -31,9 +31,9 @@ cd <project_root>/<slug>
31
31
  git init
32
32
  ```
33
33
 
34
- ### 3. Run `plastic:install --local`
34
+ ### 3. Run `plastic-install --local`
35
35
 
36
- Invoke `plastic:install --local` in the project directory. This creates:
36
+ Invoke `plastic-install --local` in the project directory. This creates:
37
37
  ```
38
38
  .plastic/
39
39
  ├── store/
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:doctor
2
+ name: plastic-doctor
3
3
  description: Use when diagnosing Plastic installation health, after updates, or when something seems broken. Runs checks and reports findings with fix options.
4
4
  ---
5
5
 
@@ -7,8 +7,8 @@ description: Use when diagnosing Plastic installation health, after updates, or
7
7
 
8
8
  ## When to Use
9
9
 
10
- - User invokes `/plastic:doctor`
11
- - After `plastic:update` completes (automatically)
10
+ - User invokes `/plastic-doctor`
11
+ - After `plastic-update` completes (automatically)
12
12
  - When hooks aren't firing, skills aren't loading, or something seems broken
13
13
  - When the user says "check plastic", "diagnose", "what's wrong with plastic"
14
14
 
@@ -95,7 +95,7 @@ Show the updated results.
95
95
 
96
96
  ## Post-Update Mode
97
97
 
98
- When invoked from `plastic:update` (not directly by the user):
98
+ When invoked from `plastic-update` (not directly by the user):
99
99
 
100
100
  1. Run the diagnostic script as in Step 1.
101
101
  2. If all checks pass: show a single line — **"Health check: all clear."**
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: evaluating-skills
2
+ name: plastic-evaluating-skills
3
3
  description: >
4
4
  Evaluate Plastic skills for correctness, convention compliance, and
5
5
  progressive disclosure. Use when testing whether a skill produces good
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:executing-plan
2
+ name: plastic-executing-plan
3
3
  description: Use when you have a written implementation plan to execute. Default mode is subagent-driven (dispatches fresh subagent per task with two-stage review). Fallback mode is inline execution for environments without subagent support. If superpowers:subagent-driven-development or superpowers:executing-plans are available, delegates to them.
4
4
  ---
5
5
 
@@ -1,10 +1,28 @@
1
1
  ---
2
- name: plastic:install
3
- description: Use when initializing Plastic globally (~/.plastic/) or locally in a project. Accepts channel flags (--alpha, --beta, --latest) to select release channel. Default is --latest (stable). Global install is recommended — creates the global intent store as a git-backed repository. Local install creates .plastic/ in the current project for testing.
2
+ name: plastic-install
3
+ description: Use when initializing Plastic globally (~/.plastic/) or locally in a project, or to re-install/repair a broken installation. Accepts channel flags (--alpha, --beta, --latest) to select release channel. Default is --latest (stable). Global install is recommended — creates the global intent store as a git-backed repository. Local install creates .plastic/ in the current project for testing.
4
4
  ---
5
5
 
6
6
  # Install Plastic
7
7
 
8
+ > **Recommended path:** for a first install, run `npx @zalom/plastic@latest --claude`
9
+ > in your shell (or `bunx @zalom/plastic@latest --claude` if you use Bun). This skill
10
+ > exists to **re-install or repair** an existing setup from inside the agent, and to
11
+ > drive interactive global configuration. Whenever this skill performs an install or
12
+ > re-install, it **runs `/plastic-doctor` afterward** and reports the result.
13
+
14
+ ## Re-install / repair
15
+
16
+ If Plastic is already installed but something is broken (skills missing, hooks not
17
+ firing, leftover legacy plugin), re-run the installer — it is idempotent, prunes
18
+ files that no longer ship, and removes any legacy plugin/marketplace layout:
19
+
20
+ ```bash
21
+ npx @zalom/plastic@latest --claude # or @beta / @alpha to match your channel
22
+ ```
23
+
24
+ Then **run `/plastic-doctor`** and report what it found.
25
+
8
26
  ## Channel Flags
9
27
 
10
28
  | Flag | Behavior |
@@ -33,14 +51,14 @@ The installed version and channel are recorded in `~/.plastic/VERSION`.
33
51
 
34
52
  ### Global Install (default, recommended)
35
53
 
36
- Run `/plastic:install` with no arguments.
54
+ Run `/plastic-install` with no arguments.
37
55
 
38
56
  #### Procedure
39
57
 
40
58
  **Step 1: Check for existing installation**
41
59
 
42
60
  Check if `~/.plastic/INDEX.md` exists.
43
- - If yes: announce "Plastic is already installed at ~/.plastic/. Run `/plastic:update` to sync core files."
61
+ - If yes: announce "Plastic is already installed at ~/.plastic/. Run `/plastic-update` to sync core files."
44
62
  - If no: proceed with fresh install.
45
63
 
46
64
  **Step 2: Create ~/.plastic/ as a git repo**
@@ -130,13 +148,19 @@ Update `config.yml` with any additional roots.
130
148
 
131
149
  Auto-commit the config change.
132
150
 
133
- **Step 4: Announce**
151
+ **Step 4: Verify with doctor**
152
+
153
+ Run `/plastic-doctor` and report the result. Resolve any fixable findings before
154
+ announcing success.
155
+
156
+ **Step 5: Announce**
134
157
 
135
- > "Plastic installed globally at ~/.plastic/. Create your first intent with `/plastic:creating-intent`."
158
+ > "Plastic installed globally at ~/.plastic/. Health check: [doctor summary].
159
+ > Create your first intent with `/plastic-creating-intent`."
136
160
 
137
161
  ### Local Install (testing/legacy)
138
162
 
139
- Run `/plastic:install --local`.
163
+ Run `/plastic-install --local`.
140
164
 
141
165
  #### Procedure
142
166
 
@@ -155,4 +179,4 @@ Run `/plastic:install --local`.
155
179
 
156
180
  **Step 4:** Commit in project: `git add .plastic/ && git commit -m "chore: initialize Plastic local store"`
157
181
 
158
- **Step 5:** Announce: "Plastic initialized locally. This is a testing/legacy mode. Consider `/plastic:install` for global mode."
182
+ **Step 5:** Announce: "Plastic initialized locally. This is a testing/legacy mode. Consider `/plastic-install` for global mode."
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:intent-curator
2
+ name: plastic-intent-curator
3
3
  description: |
4
4
  Use when completing or reviewing intents, reorganizing the index,
5
5
  or when the intent store needs maintenance. Examples:
@@ -15,7 +15,7 @@ description: |
15
15
 
16
16
  # Intent Curator
17
17
 
18
- Dispatches to the `plastic:intent-curator` agent for intent store maintenance.
18
+ Dispatches to the `plastic-intent-curator` agent for intent store maintenance.
19
19
 
20
20
  ## When to Use
21
21
  - Completing or reviewing intents
@@ -25,7 +25,7 @@ Dispatches to the `plastic:intent-curator` agent for intent store maintenance.
25
25
 
26
26
  ## Workflow
27
27
 
28
- Invoke the `plastic:intent-curator` agent via the Agent tool with `subagent_type: "plastic:intent-curator"`. Pass the user's request as the prompt, including:
28
+ Invoke the `plastic-intent-curator` agent via the Agent tool with `subagent_type: "plastic-intent-curator"`. Pass the user's request as the prompt, including:
29
29
 
30
30
  1. **What to do** — complete intent, reorganize, triage stale, etc.
31
31
  2. **Which store** — global (`~/.plastic/`) or project (`.plastic/store/`)
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:linking-intents
2
+ name: plastic-linking-intents
3
3
  description: Use when creating connections between intents, the user says "link" or "connect", or when discovering that two intents are related. Manages sources, chain, and cross-reference links.
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:managing-index
2
+ name: plastic-managing-index
3
3
  description: Use after creating, completing, or abandoning intents, when the user says "index" or "organize", or when INDEX.md needs maintenance. Curates the INDEX.md structure note.
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:releasing
2
+ name: plastic-releasing
3
3
  description: Use when merging a feature branch to main and tagging a release, bumping the version, or when the user says "release", "tag", or "ship it"
4
4
  ---
5
5
 
@@ -197,8 +197,8 @@ A release IS a delivery. The active intent that drove this work must be complete
197
197
  To promote a release across channels, use `--promote`:
198
198
 
199
199
  ```bash
200
- plastic:releasing --promote beta # promotes current alpha → beta
201
- plastic:releasing --promote stable # promotes current beta → stable
200
+ plastic-releasing --promote beta # promotes current alpha → beta
201
+ plastic-releasing --promote stable # promotes current beta → stable
202
202
  ```
203
203
 
204
204
  **Promotion rules:**
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:research
2
+ name: plastic-research
3
3
  description: "Research a topic for the active intent. Agent decides shallow vs deep based on scope. Produces reports in the intent's resources/ directory."
4
4
  ---
5
5
 
@@ -14,7 +14,7 @@ Investigate a topic related to the active intent. Choose the right depth, produc
14
14
  Before proceeding, resolve the active intent:
15
15
 
16
16
  1. **Detect store:** Read `~/.plastic/projects.yml`, match CWD against registered project paths. If match → project store at `~/.plastic/projects/{slug}/store/`. If no match → global store at `~/.plastic/store/`.
17
- 2. **Find active intent:** Read `INDEX.md` from the detected store. Look under `## Active`. If exactly one → use it. If multiple → ask which. If none → refuse: "No active intent. Create one first with /plastic:creating-intent"
17
+ 2. **Find active intent:** Read `INDEX.md` from the detected store. Look under `## Active`. If exactly one → use it. If multiple → ask which. If none → refuse: "No active intent. Create one first with /plastic-creating-intent"
18
18
  3. **Resolve intent directory:** `{store}/store/{id}--{slug}/`
19
19
 
20
20
  ## Depth Decision
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:savepoint
2
+ name: plastic-savepoint
3
3
  description: Use when context is being compacted (PreCompact hook), user says "save" or "savepoint", or before ending a session. Saves the active intent's state so work can resume after /clear.
4
4
  ---
5
5
 
@@ -1,48 +1,59 @@
1
1
  ---
2
- name: plastic:uninstall
3
- description: Use when the user wants to remove Plastic. Deregisters the plugin from the current agent (Claude Code, Cursor, etc.) and optionally deletes all data.
2
+ name: plastic-uninstall
3
+ description: Use when the user wants to remove Plastic from an agent. Runs the manifest-driven uninstaller (removes skills, hooks, statusline, and any legacy plugin layout), reports exactly what was removed and what was left behind, then gives verification steps. Optionally deletes the intent store.
4
4
  ---
5
5
 
6
6
  # Uninstall Plastic
7
7
 
8
- ## Procedure
8
+ The installer tracks every file it writes in a manifest, so uninstall is exact and
9
+ leaves no orphans. Prefer running it through the CLI; this skill wraps the same
10
+ underlying uninstaller and adds reporting + verification.
9
11
 
10
- ### Step 1: Detect the current agent
12
+ ## Procedure
11
13
 
12
- Check environment variables to determine which agent is running:
13
- - `$CLAUDE_PLUGIN_ROOT` → Claude Code
14
- - `$CURSOR_PLUGIN_ROOT` → Cursor
15
- - Otherwise → unknown agent
14
+ ### Step 1: Run the uninstaller
16
15
 
17
- ### Step 2: Deregister from the agent
16
+ ```bash
17
+ npx @zalom/plastic@latest --uninstall --claude
18
+ ```
18
19
 
19
- **Claude Code:**
20
- - Remove `"plastic"` from `extraKnownMarketplaces` in `~/.claude/settings.json`
21
- - Remove `"plastic@plastic"` from `enabledPlugins` in `~/.claude/settings.json`
22
- - Announce: "Plastic deregistered from Claude Code."
20
+ (Use `--codex` / `--hermes` / `--all` to target other agents. `bunx` works too.)
23
21
 
24
- **Other agents:** Provide manual instructions for their deregistration process.
22
+ This removes, for the targeted agent:
23
+ - all `~/.claude/skills/plastic-*/` skills
24
+ - all `~/.claude/hooks/plastic-*` hooks (and restores any saved original statusline)
25
+ - the `~/.claude/plastic/` state dir + manifest
26
+ - any **legacy** plugin layout: `plugins/marketplaces/plastic`, `plugins/cache/plastic`,
27
+ the old nested `skills/plastic/`, and the `plastic@plastic` /
28
+ `extraKnownMarketplaces.plastic` / `known_marketplaces.json` registrations
25
29
 
26
- ### Step 3: Offer the data decision
30
+ ### Step 2: Report removed vs left
27
31
 
28
- Present clearly:
32
+ Relay the uninstaller's output to the user — what was **removed** and what was
33
+ **left in place**:
34
+ - **Left:** `~/.plastic/` (intent store, history, projects) and any non-Plastic
35
+ settings.json entries.
29
36
 
30
- ```
31
- Plastic is deregistered from [agent name].
37
+ ### Step 3: Verify removal
32
38
 
33
- Your intent store at ~/.plastic/ is untouched.
39
+ Tell the user to confirm:
34
40
 
35
- Would you like to delete your Plastic data now?
41
+ ```bash
42
+ ls ~/.claude/skills | grep '^plastic-' # → no output
43
+ ls ~/.claude/hooks | grep '^plastic-' # → no output
44
+ grep -n plastic ~/.claude/settings.json # → no plastic hook/plugin refs
45
+ ```
36
46
 
37
- ⚠️ WARNING: This permanently removes ALL intents, history,
38
- and any projects in ~/.plastic/projects/.
39
- This is irreversible.
47
+ ### Step 4: Offer the data decision
40
48
 
41
- a) Keep everything (recommended) — you can re-install Plastic later
42
- b) Delete everything now — removes ~/.plastic/ entirely
43
49
  ```
50
+ Plastic is uninstalled from [agent].
51
+ Your intent store at ~/.plastic/ is untouched.
44
52
 
45
- ### Step 4: Execute user's choice
53
+ Delete it too?
54
+ a) Keep everything (recommended) — re-install anytime with npx
55
+ b) Delete everything now — removes ~/.plastic/ entirely (irreversible)
56
+ ```
46
57
 
47
- - **Keep:** Done. Tell the user: "Your data is at ~/.plastic/. Re-install anytime with `/plastic:install`."
48
- - **Delete:** Run `rm -rf ~/.plastic/` and confirm: "Plastic data deleted."
58
+ - **Keep:** "Your data is at ~/.plastic/. Re-install anytime with `npx @zalom/plastic@latest --claude`."
59
+ - **Delete:** run `rm -rf ~/.plastic/` and confirm.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:update
2
+ name: plastic-update
3
3
  description: Use when updating Plastic. Queries npm for available versions across all channels, presents options interactively, or accepts --alpha/--beta/--latest flags for direct update.
4
4
  ---
5
5
 
@@ -111,7 +111,7 @@ Recommendation: run /clear for a clean session with all new conventions loaded.
111
111
 
112
112
  ### Step 6: Run health check
113
113
 
114
- Invoke `plastic:doctor` to verify the installation is healthy after the update.
114
+ Invoke `plastic-doctor` to verify the installation is healthy after the update.
115
115
 
116
116
  If all checks pass, show: **"Health check: all clear."**
117
117
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: writing-instructions
2
+ name: plastic-writing-instructions
3
3
  description: >
4
4
  Write or restructure agent instructions, conventions files, and SKILL.md
5
5
  content using progressive disclosure and the agentskills.io specification.
@@ -122,7 +122,7 @@ Run through this checklist:
122
122
  - [ ] No explaining what the agent already knows
123
123
 
124
124
  For structured evaluation beyond this checklist (paired evals, pass rate
125
- tracking, regression testing), use `plastic:evaluating-skills`.
125
+ tracking, regression testing), use `plastic-evaluating-skills`.
126
126
 
127
127
  ## Gotchas
128
128
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: plastic:writing-plans
2
+ name: plastic-writing-plans
3
3
  description: "Write implementation plans from a spec. Produces plan.md, checklist.md, and actions/ in the active intent directory."
4
4
  ---
5
5
 
@@ -18,9 +18,9 @@ Assume they are a skilled developer, but know almost nothing about our toolset o
18
18
  Before proceeding, resolve the active intent:
19
19
 
20
20
  1. **Detect store:** Read `~/.plastic/projects.yml`, match CWD against registered project paths. If match → project store at `~/.plastic/projects/{slug}/store/`. If no match → global store at `~/.plastic/store/`.
21
- 2. **Find active intent:** Read `INDEX.md` from the detected store. Look under `## Active`. If exactly one → use it. If multiple → ask which. If none → refuse: "No active intent. Create one first with /plastic:creating-intent"
21
+ 2. **Find active intent:** Read `INDEX.md` from the detected store. Look under `## Active`. If exactly one → use it. If multiple → ask which. If none → refuse: "No active intent. Create one first with /plastic-creating-intent"
22
22
  3. **Resolve intent directory:** `{store}/store/{id}--{slug}/`
23
- 4. **Read spec:** Load `{intent_dir}/spec.md`. If no spec exists → refuse: "No spec found. Run /plastic:brainstorming first."
23
+ 4. **Read spec:** Load `{intent_dir}/spec.md`. If no spec exists → refuse: "No spec found. Run /plastic-brainstorming first."
24
24
 
25
25
  All artifacts go to the intent directory. Never write to external paths.
26
26
 
@@ -55,7 +55,7 @@ This structure informs the task decomposition. Each task should produce self-con
55
55
  ```markdown
56
56
  # [Feature Name] Implementation Plan
57
57
 
58
- > **For agentic workers:** Use `plastic:executing-plan` to implement this plan task-by-task.
58
+ > **For agentic workers:** Use `plastic-executing-plan` to implement this plan task-by-task.
59
59
 
60
60
  **Goal:** [One sentence describing what this builds]
61
61
 
@@ -180,4 +180,4 @@ cd {store_root} && git add . && git commit -m "docs: plan for intent {id} — {n
180
180
 
181
181
  ## Execution Handoff
182
182
 
183
- Plan complete. Invoke `plastic:executing-plan` to begin execution.
183
+ Plan complete. Invoke `plastic-executing-plan` to begin execution.
@@ -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-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 |
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