skillwiki 0.2.1-beta.21 → 0.2.1-beta.22
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/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillwiki",
|
|
3
|
-
"version": "0.2.1-beta.
|
|
3
|
+
"version": "0.2.1-beta.22",
|
|
4
4
|
"skills": "./",
|
|
5
|
-
"description": "Project-aware Karpathy-style knowledge base for Claude Code:
|
|
5
|
+
"description": "Project-aware Karpathy-style knowledge base for Claude Code: 18 prompt-only skills (wiki-*, proj-*, using-skillwiki) backed by the deterministic `skillwiki` CLI.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "karlorz",
|
|
8
8
|
"url": "https://github.com/karlorz"
|
package/skills/package.json
CHANGED
|
@@ -86,6 +86,7 @@ sha256: # computed by skillwiki hash over body bytes after closing ---
|
|
|
86
86
|
| `wiki-sync` | Safely sync vault git repository — push/pull with lint guards and conflict resolution |
|
|
87
87
|
| `wiki-canvas` | Generate Obsidian Canvas visualization from vault graph data |
|
|
88
88
|
| `proj-decide` | Write an Architectural Decision Record (ADR) |
|
|
89
|
+
| `wiki-gate-plan-mode` | Toggle EnterPlanMode gating — force superpowers planning instead of built-in plan mode |
|
|
89
90
|
|
|
90
91
|
## CLI Backbone
|
|
91
92
|
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 0.2.1
|
|
3
|
+
name: wiki-gate-plan-mode
|
|
4
|
+
description: Toggle EnterPlanMode gating — force superpowers planning skills instead of built-in plan mode
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# wiki-gate-plan-mode
|
|
8
|
+
|
|
9
|
+
Gate the agent away from Claude Code's built-in `EnterPlanMode` tool, forcing
|
|
10
|
+
all planning through `superpowers:brainstorming` → `superpowers:writing-plans`
|
|
11
|
+
(or a configurable pipeline). Uses `permissions.deny` for two-layer enforcement:
|
|
12
|
+
the tool is removed from the model's context before it ever sees it.
|
|
13
|
+
|
|
14
|
+
## When This Skill Activates
|
|
15
|
+
|
|
16
|
+
- User says "gate plan mode", "disable EnterPlanMode", "force superpowers planning"
|
|
17
|
+
- User asks to toggle, check, or configure plan-mode gating
|
|
18
|
+
- User wants to enforce structured planning workflows in a project
|
|
19
|
+
|
|
20
|
+
## Pre-orientation reads
|
|
21
|
+
|
|
22
|
+
None for the first run.
|
|
23
|
+
|
|
24
|
+
## Steps
|
|
25
|
+
|
|
26
|
+
0. **Parse arguments.** Accept one of:
|
|
27
|
+
- `on` — enable gating (add EnterPlanMode to deny)
|
|
28
|
+
- `off` — disable gating (remove EnterPlanMode from deny)
|
|
29
|
+
- `status` (default if no argument) — report current state
|
|
30
|
+
|
|
31
|
+
1. **Locate settings file.** Check in this order:
|
|
32
|
+
- `~/.claude/settings.json` (user-level, global — primary target for plan-mode gating)
|
|
33
|
+
- `.claude/settings.json` (project-level, checked into repo — use if user specifies project scope)
|
|
34
|
+
If the target file does not exist, create it with `{ "permissions": { "deny": [] } }`.
|
|
35
|
+
|
|
36
|
+
2. **Read current state.** Parse the settings JSON. Check whether `"EnterPlanMode"` is present in `permissions.deny[]`.
|
|
37
|
+
|
|
38
|
+
3. **Apply the requested action:**
|
|
39
|
+
|
|
40
|
+
**`on`:**
|
|
41
|
+
- If `"EnterPlanMode"` is already in `permissions.deny`, report "already gated" and stop.
|
|
42
|
+
- Otherwise, add `"EnterPlanMode"` to `permissions.deny[]`. Create the array if absent.
|
|
43
|
+
- Write the updated JSON back, preserving formatting.
|
|
44
|
+
- Report: "EnterPlanMode gated — agent will use superpowers planning skills."
|
|
45
|
+
|
|
46
|
+
**`off`:**
|
|
47
|
+
- If `"EnterPlanMode"` is not in `permissions.deny`, report "already ungated" and stop.
|
|
48
|
+
- Otherwise, remove `"EnterPlanMode"` from `permissions.deny[]`. If the array is now empty, remove the `deny` key.
|
|
49
|
+
- Write the updated JSON back.
|
|
50
|
+
- Report: "EnterPlanMode ungated — built-in plan mode is available."
|
|
51
|
+
|
|
52
|
+
**`status`:**
|
|
53
|
+
- Check both `~/.claude/settings.json` and `.claude/settings.json`.
|
|
54
|
+
- Report whether EnterPlanMode is currently gated or ungated.
|
|
55
|
+
- If gated, list which settings file contains the deny entry.
|
|
56
|
+
|
|
57
|
+
4. **Suggest CLAUDE.md directive (on action only).** After enabling gating, check whether the project's `CLAUDE.md` contains a planning directive (search for "EnterPlanMode" or "superpowers:brainstorming"). If not found, suggest adding:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
## Planning
|
|
61
|
+
|
|
62
|
+
Use superpowers:brainstorming → superpowers:writing-plans for all planning. EnterPlanMode is disabled.
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Do NOT edit CLAUDE.md automatically — only suggest.
|
|
66
|
+
|
|
67
|
+
## Schema Warning
|
|
68
|
+
|
|
69
|
+
The JSON Schema Store's `claude-code-settings.json` schema has a closed regex for `permissions.deny` that includes `ExitPlanMode` but **omits `EnterPlanMode`**. IDEs (VS Code, JetBrains) will show a validation warning. This is a schema staleness issue, not a runtime issue — Claude Code's runtime accepts `EnterPlanMode` in `permissions.deny` and enforces it correctly. See `[[queries/claude-code-plan-mode-schema-validation]]` for full analysis.
|
|
70
|
+
|
|
71
|
+
## Stop conditions
|
|
72
|
+
|
|
73
|
+
- No project directory found (not inside a git repo or project).
|
|
74
|
+
- Settings file exists but is not valid JSON and cannot be parsed.
|
|
75
|
+
|
|
76
|
+
## Forbidden
|
|
77
|
+
|
|
78
|
+
- Do not add any tool other than `EnterPlanMode` to the deny list.
|
|
79
|
+
- Do not modify CLAUDE.md automatically — only suggest changes.
|
|
80
|
+
- Do not remove other entries from `permissions.deny` when toggling off — only remove `EnterPlanMode`.
|