skillwiki 0.10.71 → 0.10.73

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,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.10.71",
3
+ "version": "0.10.73",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "skillwiki": "dist/cli.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.10.71",
3
+ "version": "0.10.73",
4
4
  "skills": "./",
5
5
  "description": "Project-aware Karpathy-style knowledge base for Claude Code: 21 prompt-only skills (wiki-*, proj-*, using-skillwiki, skillwiki-mcp) backed by the deterministic `skillwiki` CLI.",
6
6
  "author": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.10.71",
3
+ "version": "0.10.73",
4
4
  "description": "Project-aware Karpathy-style knowledge base for Codex with 21 prompt-only skills backed by the deterministic skillwiki CLI.",
5
5
  "author": {
6
6
  "name": "karlorz",
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "skillwiki",
3
+ "version": "0.10.73",
4
+ "description": "Project-aware Karpathy-style knowledge base: 21 prompt-only skills (wiki-*, proj-*, using-skillwiki, skillwiki-mcp) backed by HTTP MCP wiki_capture.",
5
+ "author": {
6
+ "name": "karlorz"
7
+ },
8
+ "repository": "https://github.com/karlorz/llm-wiki",
9
+ "license": "MIT",
10
+ "keywords": [
11
+ "knowledge-base",
12
+ "wiki",
13
+ "mcp",
14
+ "skillwiki"
15
+ ],
16
+ "variables": {
17
+ "type": "object",
18
+ "properties": {
19
+ "SKILLWIKI_MCP_TOKEN": {
20
+ "type": "string",
21
+ "title": "SkillWiki HTTP MCP bearer",
22
+ "description": "Bearer for https://wiki.karldigi.dev/mcp. Same SKILLWIKI_MCP_TOKEN used by Grok CLI. Never put the value in plugin files."
23
+ }
24
+ },
25
+ "required": [
26
+ "SKILLWIKI_MCP_TOKEN"
27
+ ]
28
+ },
29
+ "skills": "./",
30
+ "mcpServers": "./mcp.json"
31
+ }
@@ -21,8 +21,10 @@ You are a project work item manager specializing in creating and executing work
21
21
 
22
22
  **Execution Process:**
23
23
 
24
+ If `$VAULT/.WIKI_GIT_FROZEN` exists after `skillwiki path`: do not create or mutate work folders; do not `page publish` or git commit. Capture a close note via HTTP MCP `wiki_capture` or STOP. Work-item close waits unpublished Tier 2 (`wiki_workitem_write`). Reads of existing folders are allowed.
25
+
24
26
  ### Creating a New Work Item
25
- 1. **Resolve vault.** Run `skillwiki path`.
27
+ 1. **Resolve vault.** Run `skillwiki path`. If `.WIKI_GIT_FROZEN` exists, STOP (see freeze rule above).
26
28
  2. **Determine slug and kind.** From task prompt: kind (`feature` | `issue` | `refactor` | `decision`) and work slug.
27
29
  3. **Create folder.** `projects/{slug}/work/YYYY-MM-DD-{work-slug}/`.
28
30
  4. **Write spec.md.** Frontmatter with kind, status=planned, project wikilink. Body with context and scope.
@@ -53,11 +55,13 @@ Return:
53
55
  - Log entries appended
54
56
 
55
57
  **Stop Conditions:**
58
+ - `$VAULT/.WIKI_GIT_FROZEN` exists and the task would create, mutate, or close a work item
56
59
  - `validate` non-zero
57
60
  - Conflicting work folder name
58
61
  - No project context and no `playground` fallback
59
62
 
60
63
  **Forbidden:**
64
+ - Creating or mutating work items on a vault that has `.WIKI_GIT_FROZEN`
61
65
  - Writing spec/plan files outside the work folder
62
66
  - Marking `status: completed` without a `completed:` date
63
67
  - Accepting tasks.md DONE labels without independent disk verification
package/skills/mcp.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "skillwiki": {
4
4
  "type": "http",
5
- "url": "${SKILLWIKI_MCP_URL:-https://wiki.karldigi.dev/mcp}",
5
+ "url": "https://wiki.karldigi.dev/mcp",
6
6
  "headers": {
7
7
  "Authorization": "Bearer ${SKILLWIKI_MCP_TOKEN}"
8
8
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillwiki/skills",
3
- "version": "0.10.71",
3
+ "version": "0.10.73",
4
4
  "private": true,
5
5
  "files": [
6
6
  "wiki-*",
@@ -28,6 +28,15 @@ install with `grok plugin update skillwiki`, not `skillwiki install`.
28
28
  ## Pre-orientation reads
29
29
  Standard four + project context (project README, last ~5 work logs).
30
30
 
31
+ ## Frozen-leaf write freeze (Phase 5)
32
+
33
+ After `skillwiki path`, if `$VAULT/.WIKI_GIT_FROZEN` exists:
34
+
35
+ - **Reads** of existing work folders are allowed.
36
+ - **Do not** create or mutate `projects/*/work/**`, `knowledge.md`, or run `skillwiki page publish` on this leaf.
37
+ - **Do not** `git commit` / `wiki-sync` push to “close” the item.
38
+ - Work-item close is unpublished until Tier 2 (`wiki_workitem_write` / `wiki_page_publish`). If the user asked to close or complete work, capture a note via HTTP MCP `wiki_capture` (`kind: note` or `task`) and STOP. Do not local-write the work folder.
39
+
31
40
  ## Executing an Existing Work Item
32
41
 
33
42
  When the user asks to "get work of X" or "run work item Y" for review, you are in EXECUTION mode — not creation mode. Steps:
@@ -90,10 +99,12 @@ Rules:
90
99
  - **Re-marking without doing**: do not simply re-write tasks.md to say DONE without applying the corresponding fix. The next session will find the same gap.
91
100
 
92
101
  ## Stop conditions
102
+ - `$VAULT/.WIKI_GIT_FROZEN` exists and the user asked to create, mutate, or close a work item — capture via `wiki_capture` or STOP; do not local-write.
93
103
  - `validate` non-zero.
94
104
  - Conflicting work folder name.
95
105
 
96
106
  ## Forbidden
107
+ - Creating or mutating work items on a vault that has `.WIKI_GIT_FROZEN`.
97
108
  - Writing spec/plan files outside the work folder.
98
109
  - Marking `status: completed` without a `completed:` date.
99
110
  - Accepting tasks.md status labels without independent disk verification.
@@ -28,6 +28,15 @@ install with `grok plugin update skillwiki`, not `skillwiki install`.
28
28
  ## Pre-orientation reads
29
29
  Standard four + project context (project README, last ~5 work logs).
30
30
 
31
+ ## Frozen-leaf write freeze (Phase 5)
32
+
33
+ After `skillwiki path`, if `$VAULT/.WIKI_GIT_FROZEN` exists:
34
+
35
+ - **Reads** of existing work folders are allowed.
36
+ - **Do not** create or mutate `projects/*/work/**`, `knowledge.md`, or run `skillwiki page publish` on this leaf.
37
+ - **Do not** `git commit` / `wiki-sync` push to “close” the item.
38
+ - Work-item close is unpublished until Tier 2 (`wiki_workitem_write` / `wiki_page_publish`). If the user asked to close or complete work, capture a note via HTTP MCP `wiki_capture` (`kind: note` or `task`) and STOP. Do not local-write the work folder.
39
+
31
40
  ## Executing an Existing Work Item
32
41
 
33
42
  When the user asks to "get work of X" or "run work item Y" for review, you are in EXECUTION mode — not creation mode. Steps:
@@ -90,10 +99,12 @@ Rules:
90
99
  - **Re-marking without doing**: do not simply re-write tasks.md to say DONE without applying the corresponding fix. The next session will find the same gap.
91
100
 
92
101
  ## Stop conditions
102
+ - `$VAULT/.WIKI_GIT_FROZEN` exists and the user asked to create, mutate, or close a work item — capture via `wiki_capture` or STOP; do not local-write.
93
103
  - `validate` non-zero.
94
104
  - Conflicting work folder name.
95
105
 
96
106
  ## Forbidden
107
+ - Creating or mutating work items on a vault that has `.WIKI_GIT_FROZEN`.
97
108
  - Writing spec/plan files outside the work folder.
98
109
  - Marking `status: completed` without a `completed:` date.
99
110
  - Accepting tasks.md status labels without independent disk verification.
@@ -14,6 +14,7 @@ SkillWiki captures are HTTP MCP only (`type: http`). Claude/Grok use `SKILLWIKI_
14
14
  ## First-run readiness
15
15
 
16
16
  - Resolve the installed plugin root from `GROK_PLUGIN_ROOT`, falling back to `CLAUDE_PLUGIN_ROOT`, and run `python3 "$PLUGIN_ROOT/scripts/check_readiness.py" --apply --json` before the first SkillWiki MCP call.
17
+ - **Cursor / Grok Bot:** the Cursor-native plugin requires `SKILLWIKI_MCP_TOKEN` under **Plugins → Configure**. It pins `https://wiki.karldigi.dev/mcp`. Grok Bot does not inherit Mac process env or `~/.cursor/mcp.json`. `failed_to_load` with no token box means this package is missing; after this package is installed, Configure is the token field (same pattern as grok-search).
17
18
  - `missing_prereq` means `SKILLWIKI_MCP_TOKEN` is absent from process environment; stop and ask for a bearer. Do not invent a stdio MCP.
18
19
  - `in_sync` means the probe has a usable URL/token decision.
19
20
  - A 401 is an MCP handshake failure, not a readiness-probe status. Report that the token is missing or rejected and stop.
@@ -27,7 +28,7 @@ On leaf hosts, wiki captures go through MCP. Do **not** write `raw/transcripts/`
27
28
 
28
29
  1. Call MCP `wiki_capture` with `kind` (`task` | `idea` | `bug` | `note`), `project`, `title`, and `content`. Optional `agent_note`.
29
30
  2. Call MCP `wiki_log_append` when a structural `log.md` line is needed. Pass append-only `content`. Do not rewrite log history.
30
- 3. Write surface is captures-only. Do not call unpublished Tier 2 tools. Do not `git commit` / `wiki-push` against `~/wiki` for these captures.
31
+ 3. Write surface is captures-only. Do not call unpublished Tier 2 tools (`wiki_workitem_write`, `wiki_page_publish`). Those tools are not on the live daemon. Work-item close is not available from this MCP. Do not `git commit` / `wiki-push` against `~/wiki` for these captures. If `$VAULT/.WIKI_GIT_FROZEN` exists, that freeze is the reason nearby agents cannot close wiki work until Tier 2 ships.
31
32
 
32
33
  ## Reads
33
34
 
@@ -162,6 +162,17 @@ The vault is shared across hosts, so host-local absolute paths are not durable s
162
162
  | Entry | When | What happens |
163
163
  |-------|------|-------------|
164
164
  | `wiki_capture` | You're on a frozen-leaf host with HTTP MCP | Calls MCP `wiki_capture(kind, project, title, content)`; server writes `raw/transcripts/` remotely |
165
+
166
+ ### Frozen-leaf write authority (Phase 5)
167
+
168
+ If the vault has `.WIKI_GIT_FROZEN`:
169
+
170
+ | Intent | Allowed? | How |
171
+ |---|---|---|
172
+ | Capture note/idea/bug/task | Yes | HTTP MCP `wiki_capture` / `wiki_log_append` |
173
+ | Close or mutate a work item (`projects/*/work/**`, `knowledge.md`) | **No** until Tier 2 | Do not `page publish` or git commit. Capture a close note via MCP or STOP. |
174
+ | `wiki-sync` push/commit | **No** | GitHub is sg01 `wiki-snapshot`. |
175
+ | Read local `~/wiki` | Yes | Mirror reads only |
165
176
  | `/wiki-add-task <text>` | You're in an interactive session on an authoring host | Creates `raw/transcripts/YYYY-MM-DD-{type}-{slug}.md` with ad-hoc capture frontmatter |
166
177
  | Filesystem drop | You're NOT in a Claude session (Obsidian, editor, sync) on an authoring host | Create a new `.md` file in `raw/transcripts/` — dev-loop discovers it on next cycle; do not edit it after capture |
167
178
  | Dev-loop discovery | Automatic, next cycle | Scans `raw/transcripts/` for new files since last cycle, surfaces as claimable work |
@@ -14,6 +14,16 @@ Standard four reads.
14
14
  ## Steps
15
15
  0. Resolve vault: `skillwiki path` (record source for context).
16
16
 
17
+ ## Frozen-leaf git freeze (Phase 5)
18
+
19
+ If `$VAULT/.WIKI_GIT_FROZEN` exists, **fail closed** before any stash, commit, pull, or push:
20
+
21
+ - Do **not** `git add`, `git commit`, `git pull`, `git push`, or `skillwiki sync push`.
22
+ - Captures go through HTTP MCP `wiki_capture` / `wiki_log_append`.
23
+ - Closing or mutating work items is unpublished until Tier 2 (`wiki_workitem_write` / `wiki_page_publish`). Capture a close note via MCP or STOP.
24
+ - GitHub promotion is sg01 `wiki-snapshot`, not this leaf.
25
+ - Report the freeze marker and stop. Do not treat dirty `~/wiki` as a sync job.
26
+
17
27
  ## Pre-flight peer check (multi-session safe)
18
28
 
19
29
  **Before any git stash or pull/push operation**, check for peer sessions:
@@ -210,6 +220,7 @@ High-signal safety rule:
210
220
  Some older deployments separated a cloud-backed live vault from a Git snapshot worktree. That architecture still exists on protected snapshotters, but the snapshot worktree is **pipeline-internal**. Historical recipes that rsync into the worktree, reset it hard to origin/main, or run snapshot shell scripts by hand are obsolete and must not be copied.
211
221
 
212
222
  ## Stop conditions
223
+ - `$VAULT/.WIKI_GIT_FROZEN` exists — frozen leaf; refuse git close/sync. Captures via HTTP MCP; work-item close waits Tier 2.
213
224
  - `skillwiki sync status` reports `not_a_repo` — the vault is not a git repository. On protected snapshotters this is expected for the FUSE live path; do not switch to `/root/wiki-git` to force a push.
214
225
  - Lint errors are found before a push — do not push until resolved.
215
226
  - `git push` or `git pull` fails with a network error — report and stop.
@@ -218,6 +229,7 @@ Some older deployments separated a cloud-backed live vault from a Git snapshot w
218
229
  - Host is a protected snapshotter and the requested operation would author or push via `/root/wiki-git` — refuse and use managed live-vault publication + timer promotion instead.
219
230
 
220
231
  ## Forbidden
232
+ - `git add` / `git commit` / `git push` on a vault that has `.WIKI_GIT_FROZEN`.
221
233
  - Pushing when lint errors exist.
222
234
  - Auto-resolving body conflicts without user review.
223
235
  - Force-pushing (`git push --force`).
@@ -14,6 +14,7 @@ SkillWiki captures are HTTP MCP only (`type: http`). Claude/Grok use `SKILLWIKI_
14
14
  ## First-run readiness
15
15
 
16
16
  - Resolve the installed plugin root from `GROK_PLUGIN_ROOT`, falling back to `CLAUDE_PLUGIN_ROOT`, and run `python3 "$PLUGIN_ROOT/scripts/check_readiness.py" --apply --json` before the first SkillWiki MCP call.
17
+ - **Cursor / Grok Bot:** the Cursor-native plugin requires `SKILLWIKI_MCP_TOKEN` under **Plugins → Configure**. It pins `https://wiki.karldigi.dev/mcp`. Grok Bot does not inherit Mac process env or `~/.cursor/mcp.json`. `failed_to_load` with no token box means this package is missing; after this package is installed, Configure is the token field (same pattern as grok-search).
17
18
  - `missing_prereq` means `SKILLWIKI_MCP_TOKEN` is absent from process environment; stop and ask for a bearer. Do not invent a stdio MCP.
18
19
  - `in_sync` means the probe has a usable URL/token decision.
19
20
  - A 401 is an MCP handshake failure, not a readiness-probe status. Report that the token is missing or rejected and stop.
@@ -27,7 +28,7 @@ On leaf hosts, wiki captures go through MCP. Do **not** write `raw/transcripts/`
27
28
 
28
29
  1. Call MCP `wiki_capture` with `kind` (`task` | `idea` | `bug` | `note`), `project`, `title`, and `content`. Optional `agent_note`.
29
30
  2. Call MCP `wiki_log_append` when a structural `log.md` line is needed. Pass append-only `content`. Do not rewrite log history.
30
- 3. Write surface is captures-only. Do not call unpublished Tier 2 tools. Do not `git commit` / `wiki-push` against `~/wiki` for these captures.
31
+ 3. Write surface is captures-only. Do not call unpublished Tier 2 tools (`wiki_workitem_write`, `wiki_page_publish`). Those tools are not on the live daemon. Work-item close is not available from this MCP. Do not `git commit` / `wiki-push` against `~/wiki` for these captures. If `$VAULT/.WIKI_GIT_FROZEN` exists, that freeze is the reason nearby agents cannot close wiki work until Tier 2 ships.
31
32
 
32
33
  ## Reads
33
34
 
@@ -162,6 +162,17 @@ The vault is shared across hosts, so host-local absolute paths are not durable s
162
162
  | Entry | When | What happens |
163
163
  |-------|------|-------------|
164
164
  | `wiki_capture` | You're on a frozen-leaf host with HTTP MCP | Calls MCP `wiki_capture(kind, project, title, content)`; server writes `raw/transcripts/` remotely |
165
+
166
+ ### Frozen-leaf write authority (Phase 5)
167
+
168
+ If the vault has `.WIKI_GIT_FROZEN`:
169
+
170
+ | Intent | Allowed? | How |
171
+ |---|---|---|
172
+ | Capture note/idea/bug/task | Yes | HTTP MCP `wiki_capture` / `wiki_log_append` |
173
+ | Close or mutate a work item (`projects/*/work/**`, `knowledge.md`) | **No** until Tier 2 | Do not `page publish` or git commit. Capture a close note via MCP or STOP. |
174
+ | `wiki-sync` push/commit | **No** | GitHub is sg01 `wiki-snapshot`. |
175
+ | Read local `~/wiki` | Yes | Mirror reads only |
165
176
  | `/wiki-add-task <text>` | You're in an interactive session on an authoring host | Creates `raw/transcripts/YYYY-MM-DD-{type}-{slug}.md` with ad-hoc capture frontmatter |
166
177
  | Filesystem drop | You're NOT in a Claude session (Obsidian, editor, sync) on an authoring host | Create a new `.md` file in `raw/transcripts/` — dev-loop discovers it on next cycle; do not edit it after capture |
167
178
  | Dev-loop discovery | Automatic, next cycle | Scans `raw/transcripts/` for new files since last cycle, surfaces as claimable work |
@@ -14,6 +14,16 @@ Standard four reads.
14
14
  ## Steps
15
15
  0. Resolve vault: `skillwiki path` (record source for context).
16
16
 
17
+ ## Frozen-leaf git freeze (Phase 5)
18
+
19
+ If `$VAULT/.WIKI_GIT_FROZEN` exists, **fail closed** before any stash, commit, pull, or push:
20
+
21
+ - Do **not** `git add`, `git commit`, `git pull`, `git push`, or `skillwiki sync push`.
22
+ - Captures go through HTTP MCP `wiki_capture` / `wiki_log_append`.
23
+ - Closing or mutating work items is unpublished until Tier 2 (`wiki_workitem_write` / `wiki_page_publish`). Capture a close note via MCP or STOP.
24
+ - GitHub promotion is sg01 `wiki-snapshot`, not this leaf.
25
+ - Report the freeze marker and stop. Do not treat dirty `~/wiki` as a sync job.
26
+
17
27
  ## Pre-flight peer check (multi-session safe)
18
28
 
19
29
  **Before any git stash or pull/push operation**, check for peer sessions:
@@ -210,6 +220,7 @@ High-signal safety rule:
210
220
  Some older deployments separated a cloud-backed live vault from a Git snapshot worktree. That architecture still exists on protected snapshotters, but the snapshot worktree is **pipeline-internal**. Historical recipes that rsync into the worktree, reset it hard to origin/main, or run snapshot shell scripts by hand are obsolete and must not be copied.
211
221
 
212
222
  ## Stop conditions
223
+ - `$VAULT/.WIKI_GIT_FROZEN` exists — frozen leaf; refuse git close/sync. Captures via HTTP MCP; work-item close waits Tier 2.
213
224
  - `skillwiki sync status` reports `not_a_repo` — the vault is not a git repository. On protected snapshotters this is expected for the FUSE live path; do not switch to `/root/wiki-git` to force a push.
214
225
  - Lint errors are found before a push — do not push until resolved.
215
226
  - `git push` or `git pull` fails with a network error — report and stop.
@@ -218,6 +229,7 @@ Some older deployments separated a cloud-backed live vault from a Git snapshot w
218
229
  - Host is a protected snapshotter and the requested operation would author or push via `/root/wiki-git` — refuse and use managed live-vault publication + timer promotion instead.
219
230
 
220
231
  ## Forbidden
232
+ - `git add` / `git commit` / `git push` on a vault that has `.WIKI_GIT_FROZEN`.
221
233
  - Pushing when lint errors exist.
222
234
  - Auto-resolving body conflicts without user review.
223
235
  - Force-pushing (`git push --force`).