skillwiki 0.10.98 → 0.10.102
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/dist/{chunk-MRYWP5HY.js → chunk-7UK67FAZ.js} +4 -2
- package/dist/{chunk-EEO2YDPX.js → chunk-PIXBNB74.js} +307 -185
- package/dist/cli.js +539 -240
- package/dist/{managed-write-preflight-THGIM2U7.js → managed-write-preflight-NS7OQ2Y7.js} +1 -1
- package/dist/skillwiki-mcp.js +2 -2
- package/package.json +1 -1
- package/skills/.claude-plugin/plugin.json +2 -2
- package/skills/.codex-plugin/plugin.json +3 -3
- package/skills/.cursor-plugin/plugin.json +7 -2
- package/skills/README.md +2 -2
- package/skills/package.json +2 -2
- package/skills/skills/skillwiki-connect/SKILL.md +75 -0
- package/skills/skills/skillwiki-mcp/SKILL.md +5 -5
- package/skills/skills/using-skillwiki/SKILL.md +5 -3
- package/skills/skills/using-skillwiki/activation.md +1 -0
- package/skills/skillwiki-connect/SKILL.md +75 -0
- package/skills/skillwiki-mcp/SKILL.md +5 -5
- package/skills/using-skillwiki/SKILL.md +5 -3
- package/skills/using-skillwiki/activation.md +1 -0
package/dist/skillwiki-mcp.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
runSkillwikiMcpStdio
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PIXBNB74.js";
|
|
5
5
|
import "./chunk-7I2TPIV5.js";
|
|
6
6
|
import "./chunk-XYXTV2YD.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-7UK67FAZ.js";
|
|
8
8
|
import "./chunk-KDH352MC.js";
|
|
9
9
|
import "./chunk-H42EY6E7.js";
|
|
10
10
|
import "./chunk-F5GFUYPF.js";
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillwiki",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.102",
|
|
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: 22 prompt-only skills (wiki-*, proj-*, using-skillwiki, skillwiki-mcp, skillwiki-connect) backed by the deterministic `skillwiki` CLI.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "karlorz",
|
|
8
8
|
"url": "https://github.com/karlorz"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillwiki",
|
|
3
|
-
"version": "0.10.
|
|
4
|
-
"description": "Project-aware Karpathy-style knowledge base for Codex with
|
|
3
|
+
"version": "0.10.102",
|
|
4
|
+
"description": "Project-aware Karpathy-style knowledge base for Codex with 22 prompt-only skills backed by the deterministic skillwiki CLI.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "karlorz",
|
|
7
7
|
"url": "https://github.com/karlorz"
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"interface": {
|
|
23
23
|
"displayName": "SkillWiki",
|
|
24
24
|
"shortDescription": "Project-aware wiki skills for Codex agents",
|
|
25
|
-
"longDescription": "
|
|
25
|
+
"longDescription": "22 prompt-only skills (wiki-*, proj-*, using-skillwiki, skillwiki-mcp, skillwiki-connect) for deterministic, project-aware knowledge workflows.",
|
|
26
26
|
"developerName": "karlorz",
|
|
27
27
|
"category": "Productivity",
|
|
28
28
|
"capabilities": [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillwiki",
|
|
3
|
-
"version": "0.10.
|
|
4
|
-
"description": "Project-aware Karpathy-style knowledge base:
|
|
3
|
+
"version": "0.10.102",
|
|
4
|
+
"description": "Project-aware Karpathy-style knowledge base: 22 prompt-only skills (wiki-*, proj-*, using-skillwiki, skillwiki-mcp, skillwiki-connect) backed by HTTP MCP wiki_capture.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "karlorz"
|
|
7
7
|
},
|
|
@@ -20,6 +20,11 @@
|
|
|
20
20
|
"type": "string",
|
|
21
21
|
"title": "SkillWiki HTTP MCP bearer",
|
|
22
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
|
+
"SKILLWIKI_EXTRA_VAULTS": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"title": "SkillWiki extra vault ids",
|
|
27
|
+
"description": "Optional comma-separated extra vault ids (example: wiki-fin). Non-secret. Same connector URL https://wiki.karldigi.dev/mcp. Default central stays on. Server allowed_vaults is the security boundary; listing an extra here does not authorize it. Do not put a bearer in this field."
|
|
23
28
|
}
|
|
24
29
|
},
|
|
25
30
|
"required": [
|
package/skills/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Prompt-only Markdown skills for Claude Code. Installed via `skillwiki install`
|
|
4
4
|
or the Claude/Codex/Antigravity plugin packaging paths.
|
|
5
5
|
|
|
6
|
-
Current package inventory: **
|
|
6
|
+
Current package inventory: **22 skills**.
|
|
7
7
|
|
|
8
8
|
Publication policy: new or updated typed-knowledge and meta pages must use
|
|
9
9
|
`skillwiki page publish` from a temporary draft, inspect its dry-run, and add
|
|
@@ -26,7 +26,7 @@ fixed papers/transcripts taxonomy.
|
|
|
26
26
|
| `wiki-*` | `wiki-init`, `wiki-ingest`, `wiki-query`, `wiki-lint`, `wiki-crystallize`, `wiki-audit`, `wiki-archive`, `wiki-reingest`, `wiki-adapter-prd`, `wiki-add-task`, `wiki-sync`, `wiki-canvas`, `wiki-gate-plan-mode` |
|
|
27
27
|
| `proj-*` | `proj-init`, `proj-work`, `proj-distill`, `proj-decide` |
|
|
28
28
|
| onboarding | `using-skillwiki` |
|
|
29
|
-
| mcp | `skillwiki-mcp` |
|
|
29
|
+
| mcp | `skillwiki-mcp`, `skillwiki-connect` |
|
|
30
30
|
|
|
31
31
|
Verify the live inventory from source:
|
|
32
32
|
|
package/skills/package.json
CHANGED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skillwiki-connect
|
|
3
|
+
description: Use skillwiki connect for unknown-agent HTTP MCP. Never init, Drive, or paste tokens.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# skillwiki-connect
|
|
7
|
+
|
|
8
|
+
Unknown-agent HTTP MCP setup. Use when the client has no SkillWiki plugin and no usable connector (Doubao Work cloud, headless VM). The official ingest is `skillwiki connect`. Do not paste bearers into chat. Do not run `skillwiki init`.
|
|
9
|
+
|
|
10
|
+
## When this skill activates
|
|
11
|
+
|
|
12
|
+
- An unknown agent must install CLI + unique host-id bearer and finish MCP connect.
|
|
13
|
+
- `SKILLWIKI_MCP_TOKEN` is missing from process env and `~/.skillwiki/.env`.
|
|
14
|
+
- Doctor reports auth not set, or WIKI_PATH missing on a host that should stay vault-less.
|
|
15
|
+
|
|
16
|
+
## Hard rules
|
|
17
|
+
|
|
18
|
+
- Do **not** run `skillwiki init`.
|
|
19
|
+
- Do **not** cat, echo, or print tokens or `~/.skillwiki/.env`.
|
|
20
|
+
- Do **not** reuse another host’s token (`msi`, `doubao-linux-agent`, `macos-dev`, …).
|
|
21
|
+
- Do **not** use 云盘 / Drive / CloudStorage as the secret path. Only a chat-attached file reaches the VM.
|
|
22
|
+
- Missing `WIKI_PATH` is expected on an MCP-only leaf. Handshake pass is done.
|
|
23
|
+
- Do **not** instruct the operator to paste the bearer into the chat transcript.
|
|
24
|
+
|
|
25
|
+
## Paste-once prompt
|
|
26
|
+
|
|
27
|
+
Give the unknown agent this prompt (no leading slash). After `skillwiki connect` exists, prefer `--from-file` over `cp`.
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
You are on a SkillWiki HTTP MCP leaf. Goal: connect as a unique host-id writer. No connector is required.
|
|
31
|
+
|
|
32
|
+
Hard rules:
|
|
33
|
+
- Do NOT run `skillwiki init`.
|
|
34
|
+
- Do NOT cat/echo/print tokens or ~/.skillwiki/.env.
|
|
35
|
+
- Do NOT reuse another host’s token (msi, doubao-linux-agent, macos-dev, …).
|
|
36
|
+
- Do NOT use 云盘/Drive as the secret path. Only a chat-attached file reaches this VM.
|
|
37
|
+
- WIKI_PATH missing is expected. Handshake pass = done.
|
|
38
|
+
- Do NOT paste the bearer into chat.
|
|
39
|
+
|
|
40
|
+
Do this:
|
|
41
|
+
1) If a SkillWiki connector exists and is NOT “local-only”, use it and stop.
|
|
42
|
+
2) Else install/upgrade `skillwiki` CLI if missing.
|
|
43
|
+
3) mkdir -p ~/.skillwiki
|
|
44
|
+
4) If ~/.skillwiki/.env has a non-empty SKILLWIKI_MCP_TOKEN:
|
|
45
|
+
skillwiki doctor --check-mcp
|
|
46
|
+
5) If token is empty: STOP. Ask the operator to attach a mode-600 env file as a CHAT ATTACHMENT (not Drive). Then:
|
|
47
|
+
skillwiki connect --from-file <attachment>
|
|
48
|
+
delete the sandbox copy if you can (do not cat it)
|
|
49
|
+
skillwiki doctor --check-mcp
|
|
50
|
+
6) Report only: writer_id, ok, auth, reconcile_ready, TOKEN_SET|EMPTY.
|
|
51
|
+
7) Then wiki_query one tiny smoke. Stop. Never print secrets.
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Operator metal side stays: `skillwiki mcp-auth issue-host --host-id <new-id> --write`, then attach the env file. Do not mint from this skill.
|
|
55
|
+
|
|
56
|
+
## CLI
|
|
57
|
+
|
|
58
|
+
Always no-init.
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
skillwiki connect --from-file <chat-attachment>
|
|
62
|
+
skillwiki connect --from-file <chat-attachment> --dry-run
|
|
63
|
+
skillwiki connect --from-stdin --dry-run
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
`--from-file` and `--from-stdin` are mutually exclusive. `--force` overwrites a different existing token. Cloud Drive paths are refused. Reserved host-ids are refused unless `--force`. Write mode is `0600`.
|
|
67
|
+
|
|
68
|
+
Doctor on an MCP-only leaf (no vault + token present + vault-sync not installed) treats missing `WIKI_PATH` as info, not an init cluster.
|
|
69
|
+
|
|
70
|
+
## Stop conditions
|
|
71
|
+
|
|
72
|
+
- A non-local-only SkillWiki connector already authenticates.
|
|
73
|
+
- `skillwiki connect` or doctor `--check-mcp` reports `TOKEN_SET` / auth present and handshake `ok`.
|
|
74
|
+
- The operator has not attached an env file and no token exists — stop and ask for a chat attachment, never for a paste into chat.
|
|
75
|
+
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: skillwiki-mcp
|
|
3
|
-
description: Use when capturing a note, idea, or bug
|
|
3
|
+
description: Use when capturing a note, idea, or bug, appending log.md, or using wiki MCP tools. Writes via wiki_capture / wiki_log_append; never local raw/transcripts.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SkillWiki HTTP MCP
|
|
@@ -14,10 +14,10 @@ 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**.
|
|
17
|
+
- **Cursor / Grok Bot:** the Cursor-native plugin requires `SKILLWIKI_MCP_TOKEN` under **Plugins → Configure**. Optional non-secret `SKILLWIKI_EXTRA_VAULTS` (comma-separated vault ids such as `wiki-fin`) opts the client into extra vaults on the **same** connector URL. It is not a second connector, not a secret, and not written to `~/.cursor/mcp.json` or Grok `config.toml`. Server `allowed_vaults` remains the security boundary; an extra listed here but missing from the bearer still fails closed. Omit `vault=` on tools to use the handshake `default_vault` (central). 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).
|
|
18
18
|
- `missing_prereq` means `SKILLWIKI_MCP_TOKEN` is absent from process environment; stop and ask for a bearer. Do not invent a stdio MCP.
|
|
19
|
-
- A new host (a machine that should write the wiki for the first time) needs an issued host-id bearer before handshake can pass. The operator runs `skillwiki mcp-auth issue-host --host-id <id> --write` on metal (TTY required).
|
|
20
|
-
- First-run order: install plugin/CLI → operator issues on metal →
|
|
19
|
+
- A new host (a machine that should write the wiki for the first time) needs an issued host-id bearer before handshake can pass. The operator runs `skillwiki mcp-auth issue-host --host-id <id> --write` on metal (TTY required). Connector hosts put the printed value into process env or host Configure. Unknown agents (no plugin / no usable connector) ingest a chat-attached env file with `skillwiki connect --from-file` (or `--from-stdin`); do not instruct paste-into-chat. Do not auto-write `mcp.env`, `mcp.json`, or Grok `config.toml`. Do not invent a second admin skill. A local vault/FUSE mirror is optional.
|
|
20
|
+
- First-run order: install plugin/CLI → operator issues on metal → connector Configure **or** unknown-agent `skillwiki connect --from-file <attachment>` → **new session** → `skillwiki doctor --check-mcp` → one write (`wiki_capture`, work-item write, or page publish).
|
|
21
21
|
- `in_sync` means the probe has a usable URL/token decision.
|
|
22
22
|
- A 401 is an MCP handshake failure, not a readiness-probe status. Report that the token is missing or rejected and stop.
|
|
23
23
|
- Grok SessionStart cannot inject the parent MCP environment. A restart cannot supply a missing token.
|
|
@@ -48,4 +48,4 @@ Local `~/wiki` (or `skillwiki path`) is fine for reads. MCP read tools are optio
|
|
|
48
48
|
|
|
49
49
|
## Errors
|
|
50
50
|
|
|
51
|
-
Report handshake, capture, and append failures literally. If tools are missing after a 401 or `missing_prereq`, stop and tell the operator to
|
|
51
|
+
Report handshake, capture, and append failures literally. If tools are missing after a 401 or `missing_prereq`, stop and tell the operator to set `SKILLWIKI_MCP_TOKEN` via process env, host Configure, or `skillwiki connect --from-file` (unknown agents; never paste-into-chat), run `grok plugin update skillwiki`, and start a new session. Do not fall back to local `raw/transcripts/` writes.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: using-skillwiki
|
|
3
|
-
description: Invoke for vault, wiki, or SkillWiki setup. Maps skills, workflow profiles, and vault routing.
|
|
3
|
+
description: Invoke for vault, wiki, or SkillWiki setup. Maps skills, workflow profiles, and vault routing.
|
|
4
4
|
---
|
|
5
5
|
*Note: If executing as a background subagent, skip this skill section.*
|
|
6
6
|
|
|
@@ -55,6 +55,7 @@ Invoke a skillwiki skill when the user:
|
|
|
55
55
|
- Mentions crystallizing a session into a note
|
|
56
56
|
- Talks about project workspaces, ADRs, or distillation
|
|
57
57
|
- Wants to quickly capture an idea, bug, task, or note without interrupting their workflow
|
|
58
|
+
- Needs unknown-agent HTTP MCP connect (CLI + dotenv; no plugin/connector)
|
|
58
59
|
- Wants to archive or clean up old vault pages
|
|
59
60
|
- Wants to hard-delete a vault path without snapshot resurrection (`wiki-remove`)
|
|
60
61
|
- Needs to detect source drift or re-ingest updated content
|
|
@@ -193,6 +194,7 @@ If the vault has `.WIKI_GIT_FROZEN`:
|
|
|
193
194
|
| `wiki-reingest` | Detect drift in raw sources (sha256 comparison) and re-ingest updated content |
|
|
194
195
|
| `wiki-add-task` | Quick-capture ideas, bugs, tasks, notes (captures via wiki_capture on leaf hosts; local raw/transcripts/ only on authoring hosts) |
|
|
195
196
|
| `skillwiki-mcp` | HTTP MCP captures (`wiki_capture` / `wiki_log_append`); never local raw/transcripts on leaf hosts. `wiki_log_append` returns a receipt; verify via `wiki_read_page(event_path)`. Use `wiki_read_page` `tail_bytes` to browse oversized `log.md`. |
|
|
197
|
+
| `skillwiki-connect` | Unknown-agent HTTP MCP first-run: ingest a chat-attached env file with `skillwiki connect --from-file` (never paste-into-chat, never `skillwiki init`, never Drive). |
|
|
196
198
|
| `wiki-adapter-prd` | Map foreign PRD formats (CodeStable, RFC, AIDE, Hermes) into vault pages |
|
|
197
199
|
| `proj-init` | Bootstrap a project workspace (README, requirements, architecture) |
|
|
198
200
|
| `proj-work` | Open or run a work item under a project's work/ directory |
|
|
@@ -243,11 +245,11 @@ for code changes.
|
|
|
243
245
|
|
|
244
246
|
## CLI Backbone
|
|
245
247
|
All skills are backed by the `skillwiki` CLI — a deterministic tool with no LLM calls. It handles path resolution, config management, validation, health reporting, and linting. Skills invoke it via Bash for the mechanical parts and use the active agent for the creative parts.
|
|
246
|
-
Key CLI subcommands: `init`, `health`, `lint`, `config`, `doctor`, `path`, `lang`, `install`, `fleet context`, `fleet validate`, `graph build`, `query`, `vectors rebuild`, `vectors status`, `sources pending`, `sources compile`, `sources review`, `sources reviews`, `sources disposition`, `sources dispose`, `archive`, `remove`, `drift`, `dedup`, `compound`, `tag-sync`, `tag reconcile`, `page publish`, `sync status`, `seed`, `stale`, `claim`, `claims audit`, `observe`, `canvas generate`, `mcp`, `mcp-auth`.
|
|
248
|
+
Key CLI subcommands: `init`, `health`, `lint`, `config`, `doctor`, `connect`, `path`, `lang`, `install`, `fleet context`, `fleet validate`, `graph build`, `query`, `vectors rebuild`, `vectors status`, `sources pending`, `sources compile`, `sources review`, `sources reviews`, `sources disposition`, `sources dispose`, `archive`, `remove`, `drift`, `dedup`, `compound`, `tag-sync`, `tag reconcile`, `page publish`, `sync status`, `seed`, `stale`, `claim`, `claims audit`, `observe`, `canvas generate`, `mcp`, `mcp-auth`.
|
|
247
249
|
Optional read-only MCP (`skillwiki mcp`) exposes pending/compile/review list tools. Do not use MCP for compile claim, publish, or review writes.
|
|
248
250
|
`skillwiki claim` binds a transcript to a work item only through an exact `raw/transcripts/...` path in `source:` / `sources:` / `closes:`. A `--project` that contradicts the capture's explicit project is rejected. `skillwiki stale --project` uses exact normalized slugs, not substring matching. `skillwiki claims audit` is the read-only integrity report for duplicate, malformed, dangling, cross-project, and unbacked claims; it never rewrites captures or work items.
|
|
249
251
|
|
|
250
|
-
Run `skillwiki health <vault> --out /tmp/skillwiki-health.json --no-fail` for a bounded whole-system report that includes the nonblocking source-lifecycle backlog. Pending captures are informational and do not make health fail. Run `skillwiki lint <vault> --summary` for lint-only bucket counts with capped examples and details commands. Run `skillwiki doctor` to diagnose setup/runtime issues only, including HTTP MCP URL/auth presence and the frozen-leaf write path. Pass `--check-mcp` for a live initialize handshake and pin/tool-list lag; the default doctor path does not contact HTTP MCP. Fetch-only leaves set `vault_sync.push_enabled=false`; doctor must not tell them to run `vault-sync-install` to enable wiki-push. New hosts need an issued host-id bearer from metal `skillwiki mcp-auth issue-host` before handshake can pass. There is no second MCP admin skill. Run `skillwiki config list` to see current configuration.
|
|
252
|
+
Run `skillwiki health <vault> --out /tmp/skillwiki-health.json --no-fail` for a bounded whole-system report that includes the nonblocking source-lifecycle backlog. Pending captures are informational and do not make health fail. Run `skillwiki lint <vault> --summary` for lint-only bucket counts with capped examples and details commands. Run `skillwiki doctor` to diagnose setup/runtime issues only, including HTTP MCP URL/auth presence and the frozen-leaf write path. Pass `--check-mcp` for a live initialize handshake and pin/tool-list lag; the default doctor path does not contact HTTP MCP. Fetch-only leaves set `vault_sync.push_enabled=false`; doctor must not tell them to run `vault-sync-install` to enable wiki-push. New hosts need an issued host-id bearer from metal `skillwiki mcp-auth issue-host` before handshake can pass. Unknown agents (no plugin/connector) ingest the chat-attached env file with `skillwiki connect --from-file` (or `--from-stdin`); do not instruct paste-into-chat. Connector hosts use process env or Configure. There is no second MCP admin skill. Run `skillwiki config list` to see current configuration.
|
|
251
253
|
|
|
252
254
|
## Runtime Host Context and Fleet Freshness
|
|
253
255
|
Resolve the active project vault with `skillwiki path` first. Then pass that exact path to `skillwiki --human fleet context <vault>` for host identity and safety guidance. `fleet context` is authoritative for host identity. It overrides stale injected SessionStart context, remembered workspace context, and prior conversation summaries. `fleet context` is local and network-free; it reports `identity_status`, resolver trace, warnings, and the fact that remote freshness was not checked.
|
|
@@ -26,6 +26,7 @@ Invoke a SkillWiki skill when the user: wants vault/wiki/knowledge-base operatio
|
|
|
26
26
|
| `wiki-reingest` | Detect source drift and re-ingest updated content |
|
|
27
27
|
| `wiki-add-task` | Quick-capture ideas, bugs, tasks, notes (HTTP MCP on leaf hosts; local files on authoring hosts) |
|
|
28
28
|
| `skillwiki-mcp` | HTTP MCP captures (`wiki_capture`, `wiki_log_append`); never local writes on leaf hosts |
|
|
29
|
+
| `skillwiki-connect` | Unknown-agent HTTP MCP connect: `skillwiki connect --from-file` (never paste-into-chat) |
|
|
29
30
|
| `wiki-adapter-prd` | Map foreign PRD formats (CodeStable, RFC, AIDE, Hermes) |
|
|
30
31
|
| `wiki-sync` | Safely sync vault git repository |
|
|
31
32
|
| `wiki-canvas` | Generate Obsidian Canvas visualization |
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skillwiki-connect
|
|
3
|
+
description: Use skillwiki connect for unknown-agent HTTP MCP. Never init, Drive, or paste tokens.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# skillwiki-connect
|
|
7
|
+
|
|
8
|
+
Unknown-agent HTTP MCP setup. Use when the client has no SkillWiki plugin and no usable connector (Doubao Work cloud, headless VM). The official ingest is `skillwiki connect`. Do not paste bearers into chat. Do not run `skillwiki init`.
|
|
9
|
+
|
|
10
|
+
## When this skill activates
|
|
11
|
+
|
|
12
|
+
- An unknown agent must install CLI + unique host-id bearer and finish MCP connect.
|
|
13
|
+
- `SKILLWIKI_MCP_TOKEN` is missing from process env and `~/.skillwiki/.env`.
|
|
14
|
+
- Doctor reports auth not set, or WIKI_PATH missing on a host that should stay vault-less.
|
|
15
|
+
|
|
16
|
+
## Hard rules
|
|
17
|
+
|
|
18
|
+
- Do **not** run `skillwiki init`.
|
|
19
|
+
- Do **not** cat, echo, or print tokens or `~/.skillwiki/.env`.
|
|
20
|
+
- Do **not** reuse another host’s token (`msi`, `doubao-linux-agent`, `macos-dev`, …).
|
|
21
|
+
- Do **not** use 云盘 / Drive / CloudStorage as the secret path. Only a chat-attached file reaches the VM.
|
|
22
|
+
- Missing `WIKI_PATH` is expected on an MCP-only leaf. Handshake pass is done.
|
|
23
|
+
- Do **not** instruct the operator to paste the bearer into the chat transcript.
|
|
24
|
+
|
|
25
|
+
## Paste-once prompt
|
|
26
|
+
|
|
27
|
+
Give the unknown agent this prompt (no leading slash). After `skillwiki connect` exists, prefer `--from-file` over `cp`.
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
You are on a SkillWiki HTTP MCP leaf. Goal: connect as a unique host-id writer. No connector is required.
|
|
31
|
+
|
|
32
|
+
Hard rules:
|
|
33
|
+
- Do NOT run `skillwiki init`.
|
|
34
|
+
- Do NOT cat/echo/print tokens or ~/.skillwiki/.env.
|
|
35
|
+
- Do NOT reuse another host’s token (msi, doubao-linux-agent, macos-dev, …).
|
|
36
|
+
- Do NOT use 云盘/Drive as the secret path. Only a chat-attached file reaches this VM.
|
|
37
|
+
- WIKI_PATH missing is expected. Handshake pass = done.
|
|
38
|
+
- Do NOT paste the bearer into chat.
|
|
39
|
+
|
|
40
|
+
Do this:
|
|
41
|
+
1) If a SkillWiki connector exists and is NOT “local-only”, use it and stop.
|
|
42
|
+
2) Else install/upgrade `skillwiki` CLI if missing.
|
|
43
|
+
3) mkdir -p ~/.skillwiki
|
|
44
|
+
4) If ~/.skillwiki/.env has a non-empty SKILLWIKI_MCP_TOKEN:
|
|
45
|
+
skillwiki doctor --check-mcp
|
|
46
|
+
5) If token is empty: STOP. Ask the operator to attach a mode-600 env file as a CHAT ATTACHMENT (not Drive). Then:
|
|
47
|
+
skillwiki connect --from-file <attachment>
|
|
48
|
+
delete the sandbox copy if you can (do not cat it)
|
|
49
|
+
skillwiki doctor --check-mcp
|
|
50
|
+
6) Report only: writer_id, ok, auth, reconcile_ready, TOKEN_SET|EMPTY.
|
|
51
|
+
7) Then wiki_query one tiny smoke. Stop. Never print secrets.
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Operator metal side stays: `skillwiki mcp-auth issue-host --host-id <new-id> --write`, then attach the env file. Do not mint from this skill.
|
|
55
|
+
|
|
56
|
+
## CLI
|
|
57
|
+
|
|
58
|
+
Always no-init.
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
skillwiki connect --from-file <chat-attachment>
|
|
62
|
+
skillwiki connect --from-file <chat-attachment> --dry-run
|
|
63
|
+
skillwiki connect --from-stdin --dry-run
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
`--from-file` and `--from-stdin` are mutually exclusive. `--force` overwrites a different existing token. Cloud Drive paths are refused. Reserved host-ids are refused unless `--force`. Write mode is `0600`.
|
|
67
|
+
|
|
68
|
+
Doctor on an MCP-only leaf (no vault + token present + vault-sync not installed) treats missing `WIKI_PATH` as info, not an init cluster.
|
|
69
|
+
|
|
70
|
+
## Stop conditions
|
|
71
|
+
|
|
72
|
+
- A non-local-only SkillWiki connector already authenticates.
|
|
73
|
+
- `skillwiki connect` or doctor `--check-mcp` reports `TOKEN_SET` / auth present and handshake `ok`.
|
|
74
|
+
- The operator has not attached an env file and no token exists — stop and ask for a chat attachment, never for a paste into chat.
|
|
75
|
+
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: skillwiki-mcp
|
|
3
|
-
description: Use when capturing a note, idea, or bug
|
|
3
|
+
description: Use when capturing a note, idea, or bug, appending log.md, or using wiki MCP tools. Writes via wiki_capture / wiki_log_append; never local raw/transcripts.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SkillWiki HTTP MCP
|
|
@@ -14,10 +14,10 @@ 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**.
|
|
17
|
+
- **Cursor / Grok Bot:** the Cursor-native plugin requires `SKILLWIKI_MCP_TOKEN` under **Plugins → Configure**. Optional non-secret `SKILLWIKI_EXTRA_VAULTS` (comma-separated vault ids such as `wiki-fin`) opts the client into extra vaults on the **same** connector URL. It is not a second connector, not a secret, and not written to `~/.cursor/mcp.json` or Grok `config.toml`. Server `allowed_vaults` remains the security boundary; an extra listed here but missing from the bearer still fails closed. Omit `vault=` on tools to use the handshake `default_vault` (central). 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).
|
|
18
18
|
- `missing_prereq` means `SKILLWIKI_MCP_TOKEN` is absent from process environment; stop and ask for a bearer. Do not invent a stdio MCP.
|
|
19
|
-
- A new host (a machine that should write the wiki for the first time) needs an issued host-id bearer before handshake can pass. The operator runs `skillwiki mcp-auth issue-host --host-id <id> --write` on metal (TTY required).
|
|
20
|
-
- First-run order: install plugin/CLI → operator issues on metal →
|
|
19
|
+
- A new host (a machine that should write the wiki for the first time) needs an issued host-id bearer before handshake can pass. The operator runs `skillwiki mcp-auth issue-host --host-id <id> --write` on metal (TTY required). Connector hosts put the printed value into process env or host Configure. Unknown agents (no plugin / no usable connector) ingest a chat-attached env file with `skillwiki connect --from-file` (or `--from-stdin`); do not instruct paste-into-chat. Do not auto-write `mcp.env`, `mcp.json`, or Grok `config.toml`. Do not invent a second admin skill. A local vault/FUSE mirror is optional.
|
|
20
|
+
- First-run order: install plugin/CLI → operator issues on metal → connector Configure **or** unknown-agent `skillwiki connect --from-file <attachment>` → **new session** → `skillwiki doctor --check-mcp` → one write (`wiki_capture`, work-item write, or page publish).
|
|
21
21
|
- `in_sync` means the probe has a usable URL/token decision.
|
|
22
22
|
- A 401 is an MCP handshake failure, not a readiness-probe status. Report that the token is missing or rejected and stop.
|
|
23
23
|
- Grok SessionStart cannot inject the parent MCP environment. A restart cannot supply a missing token.
|
|
@@ -48,4 +48,4 @@ Local `~/wiki` (or `skillwiki path`) is fine for reads. MCP read tools are optio
|
|
|
48
48
|
|
|
49
49
|
## Errors
|
|
50
50
|
|
|
51
|
-
Report handshake, capture, and append failures literally. If tools are missing after a 401 or `missing_prereq`, stop and tell the operator to
|
|
51
|
+
Report handshake, capture, and append failures literally. If tools are missing after a 401 or `missing_prereq`, stop and tell the operator to set `SKILLWIKI_MCP_TOKEN` via process env, host Configure, or `skillwiki connect --from-file` (unknown agents; never paste-into-chat), run `grok plugin update skillwiki`, and start a new session. Do not fall back to local `raw/transcripts/` writes.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: using-skillwiki
|
|
3
|
-
description: Invoke for vault, wiki, or SkillWiki setup. Maps skills, workflow profiles, and vault routing.
|
|
3
|
+
description: Invoke for vault, wiki, or SkillWiki setup. Maps skills, workflow profiles, and vault routing.
|
|
4
4
|
---
|
|
5
5
|
*Note: If executing as a background subagent, skip this skill section.*
|
|
6
6
|
|
|
@@ -55,6 +55,7 @@ Invoke a skillwiki skill when the user:
|
|
|
55
55
|
- Mentions crystallizing a session into a note
|
|
56
56
|
- Talks about project workspaces, ADRs, or distillation
|
|
57
57
|
- Wants to quickly capture an idea, bug, task, or note without interrupting their workflow
|
|
58
|
+
- Needs unknown-agent HTTP MCP connect (CLI + dotenv; no plugin/connector)
|
|
58
59
|
- Wants to archive or clean up old vault pages
|
|
59
60
|
- Wants to hard-delete a vault path without snapshot resurrection (`wiki-remove`)
|
|
60
61
|
- Needs to detect source drift or re-ingest updated content
|
|
@@ -193,6 +194,7 @@ If the vault has `.WIKI_GIT_FROZEN`:
|
|
|
193
194
|
| `wiki-reingest` | Detect drift in raw sources (sha256 comparison) and re-ingest updated content |
|
|
194
195
|
| `wiki-add-task` | Quick-capture ideas, bugs, tasks, notes (captures via wiki_capture on leaf hosts; local raw/transcripts/ only on authoring hosts) |
|
|
195
196
|
| `skillwiki-mcp` | HTTP MCP captures (`wiki_capture` / `wiki_log_append`); never local raw/transcripts on leaf hosts. `wiki_log_append` returns a receipt; verify via `wiki_read_page(event_path)`. Use `wiki_read_page` `tail_bytes` to browse oversized `log.md`. |
|
|
197
|
+
| `skillwiki-connect` | Unknown-agent HTTP MCP first-run: ingest a chat-attached env file with `skillwiki connect --from-file` (never paste-into-chat, never `skillwiki init`, never Drive). |
|
|
196
198
|
| `wiki-adapter-prd` | Map foreign PRD formats (CodeStable, RFC, AIDE, Hermes) into vault pages |
|
|
197
199
|
| `proj-init` | Bootstrap a project workspace (README, requirements, architecture) |
|
|
198
200
|
| `proj-work` | Open or run a work item under a project's work/ directory |
|
|
@@ -243,11 +245,11 @@ for code changes.
|
|
|
243
245
|
|
|
244
246
|
## CLI Backbone
|
|
245
247
|
All skills are backed by the `skillwiki` CLI — a deterministic tool with no LLM calls. It handles path resolution, config management, validation, health reporting, and linting. Skills invoke it via Bash for the mechanical parts and use the active agent for the creative parts.
|
|
246
|
-
Key CLI subcommands: `init`, `health`, `lint`, `config`, `doctor`, `path`, `lang`, `install`, `fleet context`, `fleet validate`, `graph build`, `query`, `vectors rebuild`, `vectors status`, `sources pending`, `sources compile`, `sources review`, `sources reviews`, `sources disposition`, `sources dispose`, `archive`, `remove`, `drift`, `dedup`, `compound`, `tag-sync`, `tag reconcile`, `page publish`, `sync status`, `seed`, `stale`, `claim`, `claims audit`, `observe`, `canvas generate`, `mcp`, `mcp-auth`.
|
|
248
|
+
Key CLI subcommands: `init`, `health`, `lint`, `config`, `doctor`, `connect`, `path`, `lang`, `install`, `fleet context`, `fleet validate`, `graph build`, `query`, `vectors rebuild`, `vectors status`, `sources pending`, `sources compile`, `sources review`, `sources reviews`, `sources disposition`, `sources dispose`, `archive`, `remove`, `drift`, `dedup`, `compound`, `tag-sync`, `tag reconcile`, `page publish`, `sync status`, `seed`, `stale`, `claim`, `claims audit`, `observe`, `canvas generate`, `mcp`, `mcp-auth`.
|
|
247
249
|
Optional read-only MCP (`skillwiki mcp`) exposes pending/compile/review list tools. Do not use MCP for compile claim, publish, or review writes.
|
|
248
250
|
`skillwiki claim` binds a transcript to a work item only through an exact `raw/transcripts/...` path in `source:` / `sources:` / `closes:`. A `--project` that contradicts the capture's explicit project is rejected. `skillwiki stale --project` uses exact normalized slugs, not substring matching. `skillwiki claims audit` is the read-only integrity report for duplicate, malformed, dangling, cross-project, and unbacked claims; it never rewrites captures or work items.
|
|
249
251
|
|
|
250
|
-
Run `skillwiki health <vault> --out /tmp/skillwiki-health.json --no-fail` for a bounded whole-system report that includes the nonblocking source-lifecycle backlog. Pending captures are informational and do not make health fail. Run `skillwiki lint <vault> --summary` for lint-only bucket counts with capped examples and details commands. Run `skillwiki doctor` to diagnose setup/runtime issues only, including HTTP MCP URL/auth presence and the frozen-leaf write path. Pass `--check-mcp` for a live initialize handshake and pin/tool-list lag; the default doctor path does not contact HTTP MCP. Fetch-only leaves set `vault_sync.push_enabled=false`; doctor must not tell them to run `vault-sync-install` to enable wiki-push. New hosts need an issued host-id bearer from metal `skillwiki mcp-auth issue-host` before handshake can pass. There is no second MCP admin skill. Run `skillwiki config list` to see current configuration.
|
|
252
|
+
Run `skillwiki health <vault> --out /tmp/skillwiki-health.json --no-fail` for a bounded whole-system report that includes the nonblocking source-lifecycle backlog. Pending captures are informational and do not make health fail. Run `skillwiki lint <vault> --summary` for lint-only bucket counts with capped examples and details commands. Run `skillwiki doctor` to diagnose setup/runtime issues only, including HTTP MCP URL/auth presence and the frozen-leaf write path. Pass `--check-mcp` for a live initialize handshake and pin/tool-list lag; the default doctor path does not contact HTTP MCP. Fetch-only leaves set `vault_sync.push_enabled=false`; doctor must not tell them to run `vault-sync-install` to enable wiki-push. New hosts need an issued host-id bearer from metal `skillwiki mcp-auth issue-host` before handshake can pass. Unknown agents (no plugin/connector) ingest the chat-attached env file with `skillwiki connect --from-file` (or `--from-stdin`); do not instruct paste-into-chat. Connector hosts use process env or Configure. There is no second MCP admin skill. Run `skillwiki config list` to see current configuration.
|
|
251
253
|
|
|
252
254
|
## Runtime Host Context and Fleet Freshness
|
|
253
255
|
Resolve the active project vault with `skillwiki path` first. Then pass that exact path to `skillwiki --human fleet context <vault>` for host identity and safety guidance. `fleet context` is authoritative for host identity. It overrides stale injected SessionStart context, remembered workspace context, and prior conversation summaries. `fleet context` is local and network-free; it reports `identity_status`, resolver trace, warnings, and the fact that remote freshness was not checked.
|
|
@@ -26,6 +26,7 @@ Invoke a SkillWiki skill when the user: wants vault/wiki/knowledge-base operatio
|
|
|
26
26
|
| `wiki-reingest` | Detect source drift and re-ingest updated content |
|
|
27
27
|
| `wiki-add-task` | Quick-capture ideas, bugs, tasks, notes (HTTP MCP on leaf hosts; local files on authoring hosts) |
|
|
28
28
|
| `skillwiki-mcp` | HTTP MCP captures (`wiki_capture`, `wiki_log_append`); never local writes on leaf hosts |
|
|
29
|
+
| `skillwiki-connect` | Unknown-agent HTTP MCP connect: `skillwiki connect --from-file` (never paste-into-chat) |
|
|
29
30
|
| `wiki-adapter-prd` | Map foreign PRD formats (CodeStable, RFC, AIDE, Hermes) |
|
|
30
31
|
| `wiki-sync` | Safely sync vault git repository |
|
|
31
32
|
| `wiki-canvas` | Generate Obsidian Canvas visualization |
|