@zalom/plastic 1.0.0-alpha.15 → 1.0.0-alpha.17

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 (40) 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/dashboard.rb +480 -0
  8. package/scripts/doctor.rb +37 -30
  9. package/scripts/hook-auto-arm +3 -3
  10. package/scripts/hook-continue +1 -1
  11. package/scripts/hook-gate-check +3 -3
  12. package/scripts/hook-session-start +1 -1
  13. package/scripts/install.rb +175 -119
  14. package/scripts/lib/bridge.rb +1 -1
  15. package/scripts/migrate-to-global +1 -1
  16. package/skills/_active-intent-gate.md +1 -1
  17. package/skills/auto/SKILL.md +18 -6
  18. package/skills/auto/evals/evals.json +17 -17
  19. package/skills/auto/references/agent-architecture.md +1 -1
  20. package/skills/brainstorming/SKILL.md +8 -8
  21. package/skills/brainstorming-grill-me/SKILL.md +5 -5
  22. package/skills/continuing/SKILL.md +16 -4
  23. package/skills/creating-intent/SKILL.md +1 -1
  24. package/skills/creating-project/SKILL.md +4 -4
  25. package/skills/dashboard/SKILL.md +92 -0
  26. package/skills/doctor/SKILL.md +4 -4
  27. package/skills/evaluating-skills/SKILL.md +1 -1
  28. package/skills/executing-plan/SKILL.md +1 -1
  29. package/skills/install/SKILL.md +32 -8
  30. package/skills/intent-curator/SKILL.md +3 -3
  31. package/skills/linking-intents/SKILL.md +1 -1
  32. package/skills/managing-index/SKILL.md +1 -1
  33. package/skills/releasing/SKILL.md +3 -3
  34. package/skills/research/SKILL.md +2 -2
  35. package/skills/savepoint/SKILL.md +1 -1
  36. package/skills/uninstall/SKILL.md +39 -28
  37. package/skills/update/SKILL.md +2 -2
  38. package/skills/writing-instructions/SKILL.md +2 -2
  39. package/skills/writing-plans/SKILL.md +5 -5
  40. package/templates/agents.md +7 -7
@@ -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