skillwiki 0.10.113 → 0.10.115
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/docs/clip-outbox.md +4 -0
- package/package.json +1 -1
- package/skills/.claude-plugin/plugin.json +1 -1
- package/skills/.codex-plugin/plugin.json +1 -1
- package/skills/.cursor-plugin/plugin.json +1 -1
- package/skills/agents/wiki-add-task.md +2 -0
- package/skills/agents/wiki-ingest.md +2 -0
- package/skills/package.json +1 -1
- package/skills/skills/skillwiki-mcp/SKILL.md +3 -1
- package/skills/skills/using-skillwiki/SKILL.md +7 -2
- package/skills/skills/using-skillwiki/activation.md +1 -0
- package/skills/skills/using-skillwiki/references/save-attachments.md +129 -0
- package/skills/skills/wiki-add-task/SKILL.md +4 -2
- package/skills/skills/wiki-ingest/SKILL.md +3 -1
- package/skills/skillwiki-mcp/SKILL.md +3 -1
- package/skills/using-skillwiki/SKILL.md +7 -2
- package/skills/using-skillwiki/activation.md +1 -0
- package/skills/using-skillwiki/references/save-attachments.md +129 -0
- package/skills/wiki-add-task/SKILL.md +4 -2
- package/skills/wiki-ingest/SKILL.md +3 -1
package/docs/clip-outbox.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Clip-outbox worker and attended migration
|
|
2
2
|
|
|
3
|
+
Agents asked to save a generated image or attachment should follow
|
|
4
|
+
`packages/skills/using-skillwiki/references/save-attachments.md`. This file is
|
|
5
|
+
the operator enablement runbook; it is not an unattended enablement checklist.
|
|
6
|
+
|
|
3
7
|
The channel remains disabled by default. Installing or updating npm ships the
|
|
4
8
|
worker and launchd template; it does not change `clip_outbox.enabled`, load a
|
|
5
9
|
job, import browser settings, or enable wiki-push. `skillwiki doctor` reports
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillwiki",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.115",
|
|
4
4
|
"skills": "./",
|
|
5
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": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillwiki",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.115",
|
|
4
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"
|
|
@@ -13,6 +13,7 @@ You are a quick-capture agent specializing in recording ad-hoc captures destined
|
|
|
13
13
|
- **Idea capture.** Dev-loop spawns you to log an idea surfaced during maintenance.
|
|
14
14
|
- **Bug logging.** A lint/audit cycle found something worth tracking as a bug.
|
|
15
15
|
- **Task note.** Quick note that should persist as a raw transcript for future processing.
|
|
16
|
+
- **Not for generated images or binary attachments.** Follow `using-skillwiki/references/save-attachments.md`.
|
|
16
17
|
|
|
17
18
|
**Your Core Responsibilities:**
|
|
18
19
|
1. Parse text, type, and optional project from the task prompt
|
|
@@ -77,3 +78,4 @@ Return:
|
|
|
77
78
|
- Creating a full work item (that's proj-work's job)
|
|
78
79
|
- Writing to Layer 2 or Layer 3 locations (captures are Layer 1)
|
|
79
80
|
- Writing live credentials, access keys, tokens, passwords, cookies, bearer headers, private keys, or other authenticating secrets to the vault
|
|
81
|
+
- Saving image bytes except via `using-skillwiki/references/save-attachments.md`
|
|
@@ -14,6 +14,7 @@ You are a vault ingestion specialist converting source material (URLs and readab
|
|
|
14
14
|
- **File ingestion.** Local files need to be captured as raw sources and distilled into concept pages.
|
|
15
15
|
- **Batch ingestion.** Multiple sources to process through deterministic raw capture and shared publication.
|
|
16
16
|
- **Raw promotion.** A raw/transcripts/ capture is ready for promotion to a typed-knowledge page.
|
|
17
|
+
- **Not for generated-image ingress.** Follow `using-skillwiki/references/save-attachments.md`. Do not `skillwiki ingest` the binary.
|
|
17
18
|
|
|
18
19
|
**Your Core Responsibilities:**
|
|
19
20
|
1. Guard: run `skillwiki fetch-guard <url>` for URL sources
|
|
@@ -73,3 +74,4 @@ Return:
|
|
|
73
74
|
- Writing `[[wikilinks]]` to nonexistent pages — verify first
|
|
74
75
|
- Writing raw ephemeral data to cloud-mounted wiki paths
|
|
75
76
|
- Writing live credentials, access keys, tokens, passwords, cookies, bearer headers, private keys, or other authenticating secrets to the vault
|
|
77
|
+
- Ingesting image bytes or treating a host-local image path as a portable attachment
|
package/skills/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: skillwiki-mcp
|
|
3
|
-
description: Use when capturing a note, idea, or bug, appending log.md, or using wiki MCP tools.
|
|
3
|
+
description: "Use when capturing a note, idea, or bug, appending log.md, or using wiki MCP tools. Never local transcripts. Images: clip-outbox."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SkillWiki HTTP MCP
|
|
@@ -9,6 +9,8 @@ Use this skill to capture a note, idea, bug, or task into the wiki, append `log.
|
|
|
9
9
|
|
|
10
10
|
When this MCP namespace is loaded and available, it wins over wiki-add-task local-write steps for capture intents.
|
|
11
11
|
|
|
12
|
+
HTTP MCP captures Markdown only. There is no binary-upload MCP tool. Generated images and attachments use `using-skillwiki/references/save-attachments.md`.
|
|
13
|
+
|
|
12
14
|
SkillWiki captures are HTTP MCP only (`type: http`). Claude/Grok use `SKILLWIKI_MCP_URL` as an optional override and otherwise default to `https://wiki.karldigi.dev/mcp`. Every host requires an operator-provided bearer as `SKILLWIKI_MCP_TOKEN` before MCP load. Do not start a local stdio `skillwiki mcp` / `skillwiki-mcp` server for captures.
|
|
13
15
|
|
|
14
16
|
## First-run readiness
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: using-skillwiki
|
|
3
|
-
description: Invoke for vault
|
|
3
|
+
description: "Invoke for vault or wiki work: skill map, workflow profiles, routing, generated images, screenshots, design mockups, attachments."
|
|
4
4
|
---
|
|
5
5
|
*Note: If executing as a background subagent, skip this skill section.*
|
|
6
6
|
|
|
7
7
|
# using-skillwiki
|
|
8
8
|
You have skillwiki — a project-aware Karpathy-style knowledge base for agent harnesses.
|
|
9
9
|
|
|
10
|
+
## Images and attachments
|
|
11
|
+
Generated images, screenshots, design mockups, attachments, saving pictures, and Markdown image rendering use `using-skillwiki/references/save-attachments.md`. HTTP MCP has no binary-upload tool; that is not an unsupported-image conclusion.
|
|
12
|
+
|
|
10
13
|
## Last Hook Gate (SessionStart)
|
|
11
14
|
|
|
12
15
|
This skill is activated by the plugin during startup and clear lifecycle
|
|
@@ -55,6 +58,7 @@ Invoke a skillwiki skill when the user:
|
|
|
55
58
|
- Mentions crystallizing a session into a note
|
|
56
59
|
- Talks about project workspaces, ADRs, or distillation
|
|
57
60
|
- Wants to quickly capture an idea, bug, task, or note without interrupting their workflow
|
|
61
|
+
- Wants to save a generated image, screenshot, design mockup, attachment, or make a Markdown image portable in the wiki
|
|
58
62
|
- Needs unknown-agent HTTP MCP connect (CLI + dotenv; no plugin/connector)
|
|
59
63
|
- Wants to archive or clean up old vault pages
|
|
60
64
|
- Wants to hard-delete a vault path without snapshot resurrection (`wiki-remove`)
|
|
@@ -174,6 +178,7 @@ If the vault has `.WIKI_GIT_FROZEN`:
|
|
|
174
178
|
| Close or mutate a work item (`projects/*/work/**`, `knowledge.md`) | Conditional | If live MCP tools include `wiki_workitem_write`, mutate/close via MCP CAS; if absent, capture a close note via MCP `wiki_capture` or STOP. Never local-write. |
|
|
175
179
|
| Save project workspace file (`architecture/`, `README.md`, `requirements/`, `compound/` — `.md` only) | Conditional | Via `wiki_workitem_write` CAS. Feature-detect: if the tool is absent or the deployed server predates the workspace-family allowlist (`PATH_DENIED`), STOP. Never rclone/wiki-push as a fallback writer. |
|
|
176
180
|
| Publish typed Layer-2 page (`concepts/`, `queries/`, etc.) | Conditional | If live MCP tools include `wiki_page_publish`, publish via MCP CAS; if absent, STOP. Do not run local `skillwiki page publish`. |
|
|
181
|
+
| Save generated image, screenshot, design mockup, or attachment | Conditional | Existing enabled clip-outbox only. See `using-skillwiki/references/save-attachments.md`. |
|
|
177
182
|
| `wiki-sync` push/commit | **No** | Git fail-closed. GitHub is sg01 `wiki-snapshot`. |
|
|
178
183
|
| Read local `~/wiki` | Yes | Mirror reads only |
|
|
179
184
|
| `/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 |
|
|
@@ -245,7 +250,7 @@ for code changes.
|
|
|
245
250
|
|
|
246
251
|
## CLI Backbone
|
|
247
252
|
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.
|
|
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`.
|
|
253
|
+
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`, `clip-outbox`.
|
|
249
254
|
Optional read-only MCP (`skillwiki mcp`) exposes pending/compile/review list tools. Do not use MCP for compile claim, publish, or review writes.
|
|
250
255
|
`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.
|
|
251
256
|
|
|
@@ -17,6 +17,7 @@ Choose the matching installed skill:
|
|
|
17
17
|
`proj-decide`, `wiki-gate-plan-mode`, `dev-loop:research`.
|
|
18
18
|
- Fleet and visualization: `wiki-sync`, `wiki-canvas`.
|
|
19
19
|
- HTTP MCP capture, append, or progress query: `skillwiki-mcp`.
|
|
20
|
+
- Generated images, screenshots, design mockups, attachments, Markdown image saving: `using-skillwiki/references/save-attachments.md`. MCP has no binary-upload tool; that is not an unsupported-image conclusion.
|
|
20
21
|
|
|
21
22
|
If routing is unclear, invoke `using-skillwiki` rather than guessing.
|
|
22
23
|
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Save SkillWiki images and attachments
|
|
2
|
+
|
|
3
|
+
Use this runbook when the user asks to save a generated image, screenshot,
|
|
4
|
+
design mockup, attachment, picture, or Markdown image into the wiki.
|
|
5
|
+
|
|
6
|
+
HTTP MCP Markdown capture and binary bundle transport are different supported
|
|
7
|
+
capabilities. The connected MCP advertises no binary-upload tool. That is
|
|
8
|
+
expected. It is not evidence that SkillWiki cannot save images.
|
|
9
|
+
|
|
10
|
+
Do not invent commands. Confirm the live CLI before acting:
|
|
11
|
+
|
|
12
|
+
```sh
|
|
13
|
+
skillwiki --version
|
|
14
|
+
skillwiki clip-outbox --help
|
|
15
|
+
skillwiki clip-outbox status
|
|
16
|
+
skillwiki doctor
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Historical "planned" or "disabled by default" labels do not override the help
|
|
20
|
+
and status of the installed CLI.
|
|
21
|
+
|
|
22
|
+
## Live clip-outbox commands
|
|
23
|
+
|
|
24
|
+
Quote these from current `skillwiki clip-outbox --help` (v0.10.113 source in
|
|
25
|
+
`packages/cli/src/cli.ts`). Re-read help if a newer CLI disagrees.
|
|
26
|
+
|
|
27
|
+
| Subcommand | Help text | Agent may run? |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| `status` | show whether the clip-outbox channel is configured | Yes |
|
|
30
|
+
| `watch` | run the enabled dedicated outbox worker using macOS FSEvents | No, unless the user explicitly asks to operate that worker |
|
|
31
|
+
| `mirror-watch` | copy admitted raw/articles and raw/assets from storage into the frozen mirror using MCP SSE | No, unless the user explicitly asks to operate that listener |
|
|
32
|
+
| `install-or-migrate` | refresh the packaged launchd plist without enabling the channel | No, unless the user explicitly asks to operate infrastructure |
|
|
33
|
+
|
|
34
|
+
Do not run `watch`, `mirror-watch`, or `install-or-migrate` unless the user explicitly asks to operate that infrastructure.
|
|
35
|
+
|
|
36
|
+
`status` with the channel off prints `clip channel not configured` and
|
|
37
|
+
`enabled: false`. `status` with the channel on prints
|
|
38
|
+
`clip-outbox enabled root=<outbox> mode=event-watch` plus journal rows.
|
|
39
|
+
|
|
40
|
+
Doctor clip rows on an MCP-only leaf print `MCP-only leaf — check skipped`.
|
|
41
|
+
That host has Markdown MCP only. It is not a binary ingress.
|
|
42
|
+
|
|
43
|
+
Operator enablement lives in `packages/cli/docs/clip-outbox.md`. Do not follow
|
|
44
|
+
that file as an unattended enablement checklist.
|
|
45
|
+
|
|
46
|
+
## Routing cases
|
|
47
|
+
|
|
48
|
+
| Request | Host facts | Report and do |
|
|
49
|
+
|---|---|---|
|
|
50
|
+
| Generated PNG, screenshot, design mockup, or attachment | MCP has no binary-upload tool; `clip-outbox status` is enabled | Discover this route without a user hint. Stage the bundle in the dedicated outbox root from status. Never `~/wiki`. |
|
|
51
|
+
| Same request | MCP-only leaf; doctor clip rows `MCP-only leaf — check skipped`; no supported binary ingress | Report that exact limitation. Do not rclone, copy credentials, write the frozen wiki, or invent an upload service. |
|
|
52
|
+
| Same request | `clip channel not configured`, or doctor `production clip watcher not loaded and enabled` | Stop at that prerequisite. Do not set `clip_outbox.enabled`, load launchd, or run `install-or-migrate` / `watch` as a fallback. |
|
|
53
|
+
| Journal `notify-pending`, or object receipts without `central-visible` | Transfer in flight | Report **transfer pending**, not complete. |
|
|
54
|
+
| Existing central Markdown uses `/Users/...`, `file://`, or another host-local image path | Note is already in the wiki | That reference is not a portable attachment. |
|
|
55
|
+
| Enabled outbox finishes | Journal `central-visible`; MCP `wiki_read_page` has `s3_verified=true`; mirror SHA-256 matches the original bytes | Report those verified stages. Keep image bytes. Expect a sibling `note.md`. |
|
|
56
|
+
| Reader on another device | Visual check not done | Distinguish ordinary Markdown `` from Obsidian `![[raw/assets/...]]`. Do not claim rendering. |
|
|
57
|
+
|
|
58
|
+
## Bundle layout
|
|
59
|
+
|
|
60
|
+
Parse the outbox root from `skillwiki clip-outbox status` (`root=` in
|
|
61
|
+
`humanHint`). The worker admits Markdown under `raw/articles/` and local
|
|
62
|
+
binaries under `raw/assets/` of that dedicated vault. It is not `~/wiki`.
|
|
63
|
+
|
|
64
|
+
Stage:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
<root>/raw/assets/<slug>/<file>.png
|
|
68
|
+
<root>/raw/articles/<slug>.md
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The article must reference the image with a vault-relative embed or markdown
|
|
72
|
+
image whose target is `raw/assets/...`. Supported image kinds are png, jpeg,
|
|
73
|
+
gif, and webp. Host-absolute paths (`/Users/...`, `/home/...`, `file://`) are
|
|
74
|
+
not portable and the localizer holds them as unsafe.
|
|
75
|
+
|
|
76
|
+
Example article body:
|
|
77
|
+
|
|
78
|
+
```markdown
|
|
79
|
+
---
|
|
80
|
+
source_url:
|
|
81
|
+
ingested: YYYY-MM-DD
|
|
82
|
+
kind: note
|
|
83
|
+
---
|
|
84
|
+
# Title
|
|
85
|
+
|
|
86
|
+
![[raw/assets/<slug>/<file>.png]]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
The worker localizes, seals snapshots outside raw, and preserves existing local
|
|
90
|
+
asset paths. It does not rewrite the input article. Published keys include a
|
|
91
|
+
date plus capture identity. It also uploads sibling
|
|
92
|
+
`raw/assets/<captureId>/note.md` that embeds each asset. Never use a `.txt`
|
|
93
|
+
sidecar as the only index.
|
|
94
|
+
|
|
95
|
+
After central visibility, a maintained work item may cite the vault-relative
|
|
96
|
+
embed through permitted Markdown MCP (`wiki_workitem_write`). That is still
|
|
97
|
+
not a binary MCP upload.
|
|
98
|
+
|
|
99
|
+
Leave completed raw captures immutable. Later results become a new capture or a
|
|
100
|
+
permitted maintained work-item update.
|
|
101
|
+
|
|
102
|
+
## Progress labels
|
|
103
|
+
|
|
104
|
+
Use these labels. Do not collapse them into "saved".
|
|
105
|
+
|
|
106
|
+
| Label | Evidence |
|
|
107
|
+
|---|---|
|
|
108
|
+
| local archive saved | Bytes written under the dedicated outbox `raw/articles/` and `raw/assets/` |
|
|
109
|
+
| bundle staged | Journal `sealed` (snapshots under the configured state root) |
|
|
110
|
+
| transfer acknowledged | Journal `assets-verified` / `article-verified` (create-only PUT receipts) |
|
|
111
|
+
| centrally visible | Journal `central-visible` after the ready hint accounts for every path |
|
|
112
|
+
| central note verified | MCP `wiki_read_page` on the article and `raw/assets/<captureId>/note.md` with `s3_verified=true` |
|
|
113
|
+
| mirrored binary hash verified | Frozen-mirror file SHA-256 equals the original image. The worker never infers `mirrored`. |
|
|
114
|
+
| reader rendering verified | A person checked display in a reader. Ordinary Markdown needs a resolvable URL; `![[raw/assets/...]]` needs a compatible resolver. |
|
|
115
|
+
|
|
116
|
+
`notify-pending` means the ready hint is not yet adopted. A queued HTTP 202 is
|
|
117
|
+
not central visibility.
|
|
118
|
+
|
|
119
|
+
## Authority boundary
|
|
120
|
+
|
|
121
|
+
Markdown writes stay on permitted MCP tools (`wiki_capture`,
|
|
122
|
+
`wiki_log_append`, `wiki_workitem_write`, `wiki_page_publish`).
|
|
123
|
+
|
|
124
|
+
Binary saving uses only an existing enabled clip-outbox ingress. Never write
|
|
125
|
+
binaries into the frozen wiki, never `rclone` / wiki-push as a writer, never
|
|
126
|
+
copy clip credentials, and never stand up another upload service.
|
|
127
|
+
|
|
128
|
+
If the route is missing, disabled, or unauthorized, report that limitation and
|
|
129
|
+
stop.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wiki-add-task
|
|
3
|
-
description: Capture
|
|
3
|
+
description: "Capture ideas, bugs, tasks, notes (MCP wiki_capture on leaf; authoring-host raw/transcripts). Images: clip-outbox."
|
|
4
4
|
---
|
|
5
5
|
# wiki-add-task
|
|
6
6
|
Capture ad-hoc ideas, bugs, tasks, and notes into the vault. Destination of captures remains vault `raw/transcripts/`. Entry points depend on host role and environment:
|
|
@@ -11,7 +11,7 @@ Capture ad-hoc ideas, bugs, tasks, and notes into the vault. Destination of capt
|
|
|
11
11
|
| Filesystem drop | Hermes Agent compact mode on an authoring host | Fallback — create `.md` in `raw/transcripts/`, dev-loop discovers it |
|
|
12
12
|
| Filesystem drop | Not in a Claude session (Obsidian, editor, sync) on an authoring host | Fallback — create a new `.md` file in `raw/transcripts/` using vault template; dev-loop discovers it on next cycle |
|
|
13
13
|
| Dev-loop discovery | Automatic, next cycle (authoring-host / leftover-transition only) | Scans `raw/transcripts/` for new files since last cycle, surfaces as claimable work |
|
|
14
|
-
**Path Rule:** Destination of captures is vault `raw/transcripts/` (Layer 1). Frozen-leaf hosts capture via MCP `wiki_capture` (server writes `raw/transcripts/` remotely); local file writes only occur on authoring hosts. Never capture under `projects/{slug}/raw/` — that violates SCHEMA.md Layer 1 immutability. Text captures stay in `raw/transcripts/`.
|
|
14
|
+
**Path Rule:** Destination of captures is vault `raw/transcripts/` (Layer 1). Frozen-leaf hosts capture via MCP `wiki_capture` (server writes `raw/transcripts/` remotely); local file writes only occur on authoring hosts. Never capture under `projects/{slug}/raw/` — that violates SCHEMA.md Layer 1 immutability. Text captures stay in `raw/transcripts/`. Generated images and other binaries are not `wiki_capture` content and are not a local write into the frozen wiki. Follow `using-skillwiki/references/save-attachments.md`.
|
|
15
15
|
### Exception: Explicit project task requests
|
|
16
16
|
When the user explicitly says "raise task to project X", "add a task for X", "create a feature request for X", or uses a directive structure like "raise task to {project} {description}", the intent is a **work item**, not a capture:
|
|
17
17
|
| User wording | Action | Target |
|
|
@@ -26,6 +26,7 @@ This is NOT a violation of the rule below — explicit project task requests are
|
|
|
26
26
|
- User provides a short text description and optionally a type tag.
|
|
27
27
|
- **Precedence:** If SkillWiki MCP tools are available (`wiki_capture`), **skillwiki-mcp / wiki_capture wins**. Do not race to local writes. The local-write path in wiki-add-task is only when MCP is absent AND the host is an authoring host (not a frozen leaf).
|
|
28
28
|
- **Do NOT activate** when the user says "raise task to project X" or "add work item to project X" — escalate to `proj-work` instead.
|
|
29
|
+
- **Do NOT activate as the binary writer** for generated images, screenshots, design mockups, or attachments. Follow `using-skillwiki/references/save-attachments.md`.
|
|
29
30
|
## Output language
|
|
30
31
|
Run `skillwiki lang` at the start. Entry prose and `--human` summaries use the resolved language. Frontmatter keys, file names, and structural markers stay English.
|
|
31
32
|
## Steps
|
|
@@ -120,6 +121,7 @@ Ad-hoc captures may omit `sha256`; omission does not grant mutation authority. O
|
|
|
120
121
|
- Writing to any Layer 2 or Layer 3 location. Captures are Layer 1 (raw).
|
|
121
122
|
- Writing live credentials, access keys, tokens, passwords, cookies, bearer headers, private keys, or other authenticating secrets to the vault.
|
|
122
123
|
- Indexing `raw/assets/` binaries with only a `.txt` sidecar.
|
|
124
|
+
- Saving image bytes except via `using-skillwiki/references/save-attachments.md`.
|
|
123
125
|
## Filesystem drop (offline capture — authoring hosts only)
|
|
124
126
|
When you're not in a Claude session on an authoring host, drop files directly into `raw/transcripts/`:
|
|
125
127
|
1. Create a `.md` file in `raw/transcripts/` — name it descriptively (e.g., `2026-05-08-idea-fix-template.md`)
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wiki-ingest
|
|
3
|
-
description: Convert URLs, files, or pasted text into typed
|
|
3
|
+
description: "Convert URLs, files, or pasted text into typed pages with provenance. Images: clip-outbox, not binary ingest."
|
|
4
4
|
---
|
|
5
5
|
# wiki-ingest
|
|
6
6
|
## When This Skill Activates
|
|
7
7
|
- User shares a URL, paste, or local file to capture in the vault.
|
|
8
8
|
- The output target is `entities/`, `concepts/`, `comparisons/`, or `queries/`.
|
|
9
9
|
- A vault is resolvable (see step 0).
|
|
10
|
+
- Generated images and attachments use `using-skillwiki/references/save-attachments.md`, not `skillwiki ingest` of the binary.
|
|
10
11
|
## Output language
|
|
11
12
|
Run `skillwiki lang` at the start. Generate page-body prose, narrative sections, and `--human` summaries in the resolved language. Frontmatter keys, file names, schema headers, index/log structural lines, citation markers, and wikilink slugs MUST stay English.
|
|
12
13
|
## Pre-orientation reads (mandatory before any write)
|
|
@@ -113,6 +114,7 @@ Raw ephemeral data (market feeds, logs, transient JSON) must be written to the *
|
|
|
113
114
|
- Writing host-local absolute paths as canonical durable source references (see `using-skillwiki` → Portable Source References).
|
|
114
115
|
- Writing `[[wikilinks]]` to pages that don't exist in the vault. Before linking, verify the target exists: check `index.md` or `ls` the target directory. If the target doesn't exist yet, use plain text instead of a wikilink.
|
|
115
116
|
- Indexing `raw/assets/` binaries with only a `.txt` sidecar. Write a sibling Markdown note that embeds each file with `![[ ]]`.
|
|
117
|
+
- Ingesting image bytes or treating a host-local image path as a portable attachment. Follow `using-skillwiki/references/save-attachments.md`.
|
|
116
118
|
## Batch Mode
|
|
117
119
|
When the user provides multiple sources (a directory of files, a list of URLs, or a multi-document input):
|
|
118
120
|
1. **Loop per source.** Execute steps 1–8 for each source individually, using one `skillwiki ingest` command per source.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: skillwiki-mcp
|
|
3
|
-
description: Use when capturing a note, idea, or bug, appending log.md, or using wiki MCP tools.
|
|
3
|
+
description: "Use when capturing a note, idea, or bug, appending log.md, or using wiki MCP tools. Never local transcripts. Images: clip-outbox."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SkillWiki HTTP MCP
|
|
@@ -9,6 +9,8 @@ Use this skill to capture a note, idea, bug, or task into the wiki, append `log.
|
|
|
9
9
|
|
|
10
10
|
When this MCP namespace is loaded and available, it wins over wiki-add-task local-write steps for capture intents.
|
|
11
11
|
|
|
12
|
+
HTTP MCP captures Markdown only. There is no binary-upload MCP tool. Generated images and attachments use `using-skillwiki/references/save-attachments.md`.
|
|
13
|
+
|
|
12
14
|
SkillWiki captures are HTTP MCP only (`type: http`). Claude/Grok use `SKILLWIKI_MCP_URL` as an optional override and otherwise default to `https://wiki.karldigi.dev/mcp`. Every host requires an operator-provided bearer as `SKILLWIKI_MCP_TOKEN` before MCP load. Do not start a local stdio `skillwiki mcp` / `skillwiki-mcp` server for captures.
|
|
13
15
|
|
|
14
16
|
## First-run readiness
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: using-skillwiki
|
|
3
|
-
description: Invoke for vault
|
|
3
|
+
description: "Invoke for vault or wiki work: skill map, workflow profiles, routing, generated images, screenshots, design mockups, attachments."
|
|
4
4
|
---
|
|
5
5
|
*Note: If executing as a background subagent, skip this skill section.*
|
|
6
6
|
|
|
7
7
|
# using-skillwiki
|
|
8
8
|
You have skillwiki — a project-aware Karpathy-style knowledge base for agent harnesses.
|
|
9
9
|
|
|
10
|
+
## Images and attachments
|
|
11
|
+
Generated images, screenshots, design mockups, attachments, saving pictures, and Markdown image rendering use `using-skillwiki/references/save-attachments.md`. HTTP MCP has no binary-upload tool; that is not an unsupported-image conclusion.
|
|
12
|
+
|
|
10
13
|
## Last Hook Gate (SessionStart)
|
|
11
14
|
|
|
12
15
|
This skill is activated by the plugin during startup and clear lifecycle
|
|
@@ -55,6 +58,7 @@ Invoke a skillwiki skill when the user:
|
|
|
55
58
|
- Mentions crystallizing a session into a note
|
|
56
59
|
- Talks about project workspaces, ADRs, or distillation
|
|
57
60
|
- Wants to quickly capture an idea, bug, task, or note without interrupting their workflow
|
|
61
|
+
- Wants to save a generated image, screenshot, design mockup, attachment, or make a Markdown image portable in the wiki
|
|
58
62
|
- Needs unknown-agent HTTP MCP connect (CLI + dotenv; no plugin/connector)
|
|
59
63
|
- Wants to archive or clean up old vault pages
|
|
60
64
|
- Wants to hard-delete a vault path without snapshot resurrection (`wiki-remove`)
|
|
@@ -174,6 +178,7 @@ If the vault has `.WIKI_GIT_FROZEN`:
|
|
|
174
178
|
| Close or mutate a work item (`projects/*/work/**`, `knowledge.md`) | Conditional | If live MCP tools include `wiki_workitem_write`, mutate/close via MCP CAS; if absent, capture a close note via MCP `wiki_capture` or STOP. Never local-write. |
|
|
175
179
|
| Save project workspace file (`architecture/`, `README.md`, `requirements/`, `compound/` — `.md` only) | Conditional | Via `wiki_workitem_write` CAS. Feature-detect: if the tool is absent or the deployed server predates the workspace-family allowlist (`PATH_DENIED`), STOP. Never rclone/wiki-push as a fallback writer. |
|
|
176
180
|
| Publish typed Layer-2 page (`concepts/`, `queries/`, etc.) | Conditional | If live MCP tools include `wiki_page_publish`, publish via MCP CAS; if absent, STOP. Do not run local `skillwiki page publish`. |
|
|
181
|
+
| Save generated image, screenshot, design mockup, or attachment | Conditional | Existing enabled clip-outbox only. See `using-skillwiki/references/save-attachments.md`. |
|
|
177
182
|
| `wiki-sync` push/commit | **No** | Git fail-closed. GitHub is sg01 `wiki-snapshot`. |
|
|
178
183
|
| Read local `~/wiki` | Yes | Mirror reads only |
|
|
179
184
|
| `/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 |
|
|
@@ -245,7 +250,7 @@ for code changes.
|
|
|
245
250
|
|
|
246
251
|
## CLI Backbone
|
|
247
252
|
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.
|
|
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`.
|
|
253
|
+
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`, `clip-outbox`.
|
|
249
254
|
Optional read-only MCP (`skillwiki mcp`) exposes pending/compile/review list tools. Do not use MCP for compile claim, publish, or review writes.
|
|
250
255
|
`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.
|
|
251
256
|
|
|
@@ -17,6 +17,7 @@ Choose the matching installed skill:
|
|
|
17
17
|
`proj-decide`, `wiki-gate-plan-mode`, `dev-loop:research`.
|
|
18
18
|
- Fleet and visualization: `wiki-sync`, `wiki-canvas`.
|
|
19
19
|
- HTTP MCP capture, append, or progress query: `skillwiki-mcp`.
|
|
20
|
+
- Generated images, screenshots, design mockups, attachments, Markdown image saving: `using-skillwiki/references/save-attachments.md`. MCP has no binary-upload tool; that is not an unsupported-image conclusion.
|
|
20
21
|
|
|
21
22
|
If routing is unclear, invoke `using-skillwiki` rather than guessing.
|
|
22
23
|
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Save SkillWiki images and attachments
|
|
2
|
+
|
|
3
|
+
Use this runbook when the user asks to save a generated image, screenshot,
|
|
4
|
+
design mockup, attachment, picture, or Markdown image into the wiki.
|
|
5
|
+
|
|
6
|
+
HTTP MCP Markdown capture and binary bundle transport are different supported
|
|
7
|
+
capabilities. The connected MCP advertises no binary-upload tool. That is
|
|
8
|
+
expected. It is not evidence that SkillWiki cannot save images.
|
|
9
|
+
|
|
10
|
+
Do not invent commands. Confirm the live CLI before acting:
|
|
11
|
+
|
|
12
|
+
```sh
|
|
13
|
+
skillwiki --version
|
|
14
|
+
skillwiki clip-outbox --help
|
|
15
|
+
skillwiki clip-outbox status
|
|
16
|
+
skillwiki doctor
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Historical "planned" or "disabled by default" labels do not override the help
|
|
20
|
+
and status of the installed CLI.
|
|
21
|
+
|
|
22
|
+
## Live clip-outbox commands
|
|
23
|
+
|
|
24
|
+
Quote these from current `skillwiki clip-outbox --help` (v0.10.113 source in
|
|
25
|
+
`packages/cli/src/cli.ts`). Re-read help if a newer CLI disagrees.
|
|
26
|
+
|
|
27
|
+
| Subcommand | Help text | Agent may run? |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| `status` | show whether the clip-outbox channel is configured | Yes |
|
|
30
|
+
| `watch` | run the enabled dedicated outbox worker using macOS FSEvents | No, unless the user explicitly asks to operate that worker |
|
|
31
|
+
| `mirror-watch` | copy admitted raw/articles and raw/assets from storage into the frozen mirror using MCP SSE | No, unless the user explicitly asks to operate that listener |
|
|
32
|
+
| `install-or-migrate` | refresh the packaged launchd plist without enabling the channel | No, unless the user explicitly asks to operate infrastructure |
|
|
33
|
+
|
|
34
|
+
Do not run `watch`, `mirror-watch`, or `install-or-migrate` unless the user explicitly asks to operate that infrastructure.
|
|
35
|
+
|
|
36
|
+
`status` with the channel off prints `clip channel not configured` and
|
|
37
|
+
`enabled: false`. `status` with the channel on prints
|
|
38
|
+
`clip-outbox enabled root=<outbox> mode=event-watch` plus journal rows.
|
|
39
|
+
|
|
40
|
+
Doctor clip rows on an MCP-only leaf print `MCP-only leaf — check skipped`.
|
|
41
|
+
That host has Markdown MCP only. It is not a binary ingress.
|
|
42
|
+
|
|
43
|
+
Operator enablement lives in `packages/cli/docs/clip-outbox.md`. Do not follow
|
|
44
|
+
that file as an unattended enablement checklist.
|
|
45
|
+
|
|
46
|
+
## Routing cases
|
|
47
|
+
|
|
48
|
+
| Request | Host facts | Report and do |
|
|
49
|
+
|---|---|---|
|
|
50
|
+
| Generated PNG, screenshot, design mockup, or attachment | MCP has no binary-upload tool; `clip-outbox status` is enabled | Discover this route without a user hint. Stage the bundle in the dedicated outbox root from status. Never `~/wiki`. |
|
|
51
|
+
| Same request | MCP-only leaf; doctor clip rows `MCP-only leaf — check skipped`; no supported binary ingress | Report that exact limitation. Do not rclone, copy credentials, write the frozen wiki, or invent an upload service. |
|
|
52
|
+
| Same request | `clip channel not configured`, or doctor `production clip watcher not loaded and enabled` | Stop at that prerequisite. Do not set `clip_outbox.enabled`, load launchd, or run `install-or-migrate` / `watch` as a fallback. |
|
|
53
|
+
| Journal `notify-pending`, or object receipts without `central-visible` | Transfer in flight | Report **transfer pending**, not complete. |
|
|
54
|
+
| Existing central Markdown uses `/Users/...`, `file://`, or another host-local image path | Note is already in the wiki | That reference is not a portable attachment. |
|
|
55
|
+
| Enabled outbox finishes | Journal `central-visible`; MCP `wiki_read_page` has `s3_verified=true`; mirror SHA-256 matches the original bytes | Report those verified stages. Keep image bytes. Expect a sibling `note.md`. |
|
|
56
|
+
| Reader on another device | Visual check not done | Distinguish ordinary Markdown `` from Obsidian `![[raw/assets/...]]`. Do not claim rendering. |
|
|
57
|
+
|
|
58
|
+
## Bundle layout
|
|
59
|
+
|
|
60
|
+
Parse the outbox root from `skillwiki clip-outbox status` (`root=` in
|
|
61
|
+
`humanHint`). The worker admits Markdown under `raw/articles/` and local
|
|
62
|
+
binaries under `raw/assets/` of that dedicated vault. It is not `~/wiki`.
|
|
63
|
+
|
|
64
|
+
Stage:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
<root>/raw/assets/<slug>/<file>.png
|
|
68
|
+
<root>/raw/articles/<slug>.md
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The article must reference the image with a vault-relative embed or markdown
|
|
72
|
+
image whose target is `raw/assets/...`. Supported image kinds are png, jpeg,
|
|
73
|
+
gif, and webp. Host-absolute paths (`/Users/...`, `/home/...`, `file://`) are
|
|
74
|
+
not portable and the localizer holds them as unsafe.
|
|
75
|
+
|
|
76
|
+
Example article body:
|
|
77
|
+
|
|
78
|
+
```markdown
|
|
79
|
+
---
|
|
80
|
+
source_url:
|
|
81
|
+
ingested: YYYY-MM-DD
|
|
82
|
+
kind: note
|
|
83
|
+
---
|
|
84
|
+
# Title
|
|
85
|
+
|
|
86
|
+
![[raw/assets/<slug>/<file>.png]]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
The worker localizes, seals snapshots outside raw, and preserves existing local
|
|
90
|
+
asset paths. It does not rewrite the input article. Published keys include a
|
|
91
|
+
date plus capture identity. It also uploads sibling
|
|
92
|
+
`raw/assets/<captureId>/note.md` that embeds each asset. Never use a `.txt`
|
|
93
|
+
sidecar as the only index.
|
|
94
|
+
|
|
95
|
+
After central visibility, a maintained work item may cite the vault-relative
|
|
96
|
+
embed through permitted Markdown MCP (`wiki_workitem_write`). That is still
|
|
97
|
+
not a binary MCP upload.
|
|
98
|
+
|
|
99
|
+
Leave completed raw captures immutable. Later results become a new capture or a
|
|
100
|
+
permitted maintained work-item update.
|
|
101
|
+
|
|
102
|
+
## Progress labels
|
|
103
|
+
|
|
104
|
+
Use these labels. Do not collapse them into "saved".
|
|
105
|
+
|
|
106
|
+
| Label | Evidence |
|
|
107
|
+
|---|---|
|
|
108
|
+
| local archive saved | Bytes written under the dedicated outbox `raw/articles/` and `raw/assets/` |
|
|
109
|
+
| bundle staged | Journal `sealed` (snapshots under the configured state root) |
|
|
110
|
+
| transfer acknowledged | Journal `assets-verified` / `article-verified` (create-only PUT receipts) |
|
|
111
|
+
| centrally visible | Journal `central-visible` after the ready hint accounts for every path |
|
|
112
|
+
| central note verified | MCP `wiki_read_page` on the article and `raw/assets/<captureId>/note.md` with `s3_verified=true` |
|
|
113
|
+
| mirrored binary hash verified | Frozen-mirror file SHA-256 equals the original image. The worker never infers `mirrored`. |
|
|
114
|
+
| reader rendering verified | A person checked display in a reader. Ordinary Markdown needs a resolvable URL; `![[raw/assets/...]]` needs a compatible resolver. |
|
|
115
|
+
|
|
116
|
+
`notify-pending` means the ready hint is not yet adopted. A queued HTTP 202 is
|
|
117
|
+
not central visibility.
|
|
118
|
+
|
|
119
|
+
## Authority boundary
|
|
120
|
+
|
|
121
|
+
Markdown writes stay on permitted MCP tools (`wiki_capture`,
|
|
122
|
+
`wiki_log_append`, `wiki_workitem_write`, `wiki_page_publish`).
|
|
123
|
+
|
|
124
|
+
Binary saving uses only an existing enabled clip-outbox ingress. Never write
|
|
125
|
+
binaries into the frozen wiki, never `rclone` / wiki-push as a writer, never
|
|
126
|
+
copy clip credentials, and never stand up another upload service.
|
|
127
|
+
|
|
128
|
+
If the route is missing, disabled, or unauthorized, report that limitation and
|
|
129
|
+
stop.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wiki-add-task
|
|
3
|
-
description: Capture
|
|
3
|
+
description: "Capture ideas, bugs, tasks, notes (MCP wiki_capture on leaf; authoring-host raw/transcripts). Images: clip-outbox."
|
|
4
4
|
---
|
|
5
5
|
# wiki-add-task
|
|
6
6
|
Capture ad-hoc ideas, bugs, tasks, and notes into the vault. Destination of captures remains vault `raw/transcripts/`. Entry points depend on host role and environment:
|
|
@@ -11,7 +11,7 @@ Capture ad-hoc ideas, bugs, tasks, and notes into the vault. Destination of capt
|
|
|
11
11
|
| Filesystem drop | Hermes Agent compact mode on an authoring host | Fallback — create `.md` in `raw/transcripts/`, dev-loop discovers it |
|
|
12
12
|
| Filesystem drop | Not in a Claude session (Obsidian, editor, sync) on an authoring host | Fallback — create a new `.md` file in `raw/transcripts/` using vault template; dev-loop discovers it on next cycle |
|
|
13
13
|
| Dev-loop discovery | Automatic, next cycle (authoring-host / leftover-transition only) | Scans `raw/transcripts/` for new files since last cycle, surfaces as claimable work |
|
|
14
|
-
**Path Rule:** Destination of captures is vault `raw/transcripts/` (Layer 1). Frozen-leaf hosts capture via MCP `wiki_capture` (server writes `raw/transcripts/` remotely); local file writes only occur on authoring hosts. Never capture under `projects/{slug}/raw/` — that violates SCHEMA.md Layer 1 immutability. Text captures stay in `raw/transcripts/`.
|
|
14
|
+
**Path Rule:** Destination of captures is vault `raw/transcripts/` (Layer 1). Frozen-leaf hosts capture via MCP `wiki_capture` (server writes `raw/transcripts/` remotely); local file writes only occur on authoring hosts. Never capture under `projects/{slug}/raw/` — that violates SCHEMA.md Layer 1 immutability. Text captures stay in `raw/transcripts/`. Generated images and other binaries are not `wiki_capture` content and are not a local write into the frozen wiki. Follow `using-skillwiki/references/save-attachments.md`.
|
|
15
15
|
### Exception: Explicit project task requests
|
|
16
16
|
When the user explicitly says "raise task to project X", "add a task for X", "create a feature request for X", or uses a directive structure like "raise task to {project} {description}", the intent is a **work item**, not a capture:
|
|
17
17
|
| User wording | Action | Target |
|
|
@@ -26,6 +26,7 @@ This is NOT a violation of the rule below — explicit project task requests are
|
|
|
26
26
|
- User provides a short text description and optionally a type tag.
|
|
27
27
|
- **Precedence:** If SkillWiki MCP tools are available (`wiki_capture`), **skillwiki-mcp / wiki_capture wins**. Do not race to local writes. The local-write path in wiki-add-task is only when MCP is absent AND the host is an authoring host (not a frozen leaf).
|
|
28
28
|
- **Do NOT activate** when the user says "raise task to project X" or "add work item to project X" — escalate to `proj-work` instead.
|
|
29
|
+
- **Do NOT activate as the binary writer** for generated images, screenshots, design mockups, or attachments. Follow `using-skillwiki/references/save-attachments.md`.
|
|
29
30
|
## Output language
|
|
30
31
|
Run `skillwiki lang` at the start. Entry prose and `--human` summaries use the resolved language. Frontmatter keys, file names, and structural markers stay English.
|
|
31
32
|
## Steps
|
|
@@ -120,6 +121,7 @@ Ad-hoc captures may omit `sha256`; omission does not grant mutation authority. O
|
|
|
120
121
|
- Writing to any Layer 2 or Layer 3 location. Captures are Layer 1 (raw).
|
|
121
122
|
- Writing live credentials, access keys, tokens, passwords, cookies, bearer headers, private keys, or other authenticating secrets to the vault.
|
|
122
123
|
- Indexing `raw/assets/` binaries with only a `.txt` sidecar.
|
|
124
|
+
- Saving image bytes except via `using-skillwiki/references/save-attachments.md`.
|
|
123
125
|
## Filesystem drop (offline capture — authoring hosts only)
|
|
124
126
|
When you're not in a Claude session on an authoring host, drop files directly into `raw/transcripts/`:
|
|
125
127
|
1. Create a `.md` file in `raw/transcripts/` — name it descriptively (e.g., `2026-05-08-idea-fix-template.md`)
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wiki-ingest
|
|
3
|
-
description: Convert URLs, files, or pasted text into typed
|
|
3
|
+
description: "Convert URLs, files, or pasted text into typed pages with provenance. Images: clip-outbox, not binary ingest."
|
|
4
4
|
---
|
|
5
5
|
# wiki-ingest
|
|
6
6
|
## When This Skill Activates
|
|
7
7
|
- User shares a URL, paste, or local file to capture in the vault.
|
|
8
8
|
- The output target is `entities/`, `concepts/`, `comparisons/`, or `queries/`.
|
|
9
9
|
- A vault is resolvable (see step 0).
|
|
10
|
+
- Generated images and attachments use `using-skillwiki/references/save-attachments.md`, not `skillwiki ingest` of the binary.
|
|
10
11
|
## Output language
|
|
11
12
|
Run `skillwiki lang` at the start. Generate page-body prose, narrative sections, and `--human` summaries in the resolved language. Frontmatter keys, file names, schema headers, index/log structural lines, citation markers, and wikilink slugs MUST stay English.
|
|
12
13
|
## Pre-orientation reads (mandatory before any write)
|
|
@@ -113,6 +114,7 @@ Raw ephemeral data (market feeds, logs, transient JSON) must be written to the *
|
|
|
113
114
|
- Writing host-local absolute paths as canonical durable source references (see `using-skillwiki` → Portable Source References).
|
|
114
115
|
- Writing `[[wikilinks]]` to pages that don't exist in the vault. Before linking, verify the target exists: check `index.md` or `ls` the target directory. If the target doesn't exist yet, use plain text instead of a wikilink.
|
|
115
116
|
- Indexing `raw/assets/` binaries with only a `.txt` sidecar. Write a sibling Markdown note that embeds each file with `![[ ]]`.
|
|
117
|
+
- Ingesting image bytes or treating a host-local image path as a portable attachment. Follow `using-skillwiki/references/save-attachments.md`.
|
|
116
118
|
## Batch Mode
|
|
117
119
|
When the user provides multiple sources (a directory of files, a list of URLs, or a multi-document input):
|
|
118
120
|
1. **Loop per source.** Execute steps 1–8 for each source individually, using one `skillwiki ingest` command per source.
|