skillwiki 0.10.21 → 0.10.23
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-6ZDKTNLA.js +294 -0
- package/dist/{chunk-65Q5UGND.js → chunk-BASWDOQB.js} +2 -2
- package/dist/{chunk-Y6KRDGI2.js → chunk-C2DKFJFA.js} +6 -1
- package/dist/chunk-EQPU2BPM.js +468 -0
- package/dist/{chunk-GNS2ZV5P.js → chunk-PQG26AGJ.js} +1 -1
- package/dist/{chunk-I5JD3BQZ.js → chunk-QBZYEEBD.js} +13 -296
- package/dist/chunk-QNTBNNEL.js +616 -0
- package/dist/{chunk-UNPZDCWN.js → chunk-SYKSL3JQ.js} +860 -700
- package/dist/cli.js +2334 -273
- package/dist/{index-projection-HAXDEM2F.js → index-projection-FRWTZB5Y.js} +3 -2
- package/dist/{managed-write-preflight-CTXX2MHQ.js → managed-write-preflight-4LPVMP42.js} +3 -3
- package/dist/skillwiki-mcp.js +6 -4
- package/dist/sources-L2SQV63E.js +10 -0
- package/package.json +1 -1
- package/skills/.claude-plugin/plugin.json +1 -1
- package/skills/.codex-plugin/plugin.json +1 -1
- package/skills/README.md +13 -2
- package/skills/agents/wiki-add-task.md +2 -1
- package/skills/agents/wiki-archive.md +8 -9
- package/skills/agents/wiki-audit.md +2 -1
- package/skills/agents/wiki-lint.md +2 -1
- package/skills/agents/wiki-query.md +3 -1
- package/skills/agents/wiki-reingest.md +9 -8
- package/skills/package.json +1 -1
- package/skills/proj-decide/SKILL.md +35 -5
- package/skills/skills/proj-decide/SKILL.md +35 -5
- package/skills/skills/using-skillwiki/SKILL.md +19 -13
- package/skills/skills/wiki-add-task/SKILL.md +4 -3
- package/skills/skills/wiki-archive/SKILL.md +23 -18
- package/skills/skills/wiki-audit/SKILL.md +3 -1
- package/skills/skills/wiki-init/SKILL.md +12 -1
- package/skills/skills/wiki-lint/SKILL.md +2 -1
- package/skills/skills/wiki-query/SKILL.md +7 -0
- package/skills/skills/wiki-reingest/SKILL.md +12 -8
- package/skills/skills/wiki-remove/SKILL.md +22 -5
- package/skills/skills/wiki-sync/SKILL.md +39 -54
- package/skills/using-skillwiki/SKILL.md +19 -13
- package/skills/wiki-add-task/SKILL.md +4 -3
- package/skills/wiki-archive/SKILL.md +23 -18
- package/skills/wiki-audit/SKILL.md +3 -1
- package/skills/wiki-init/SKILL.md +12 -1
- package/skills/wiki-lint/SKILL.md +2 -1
- package/skills/wiki-query/SKILL.md +7 -0
- package/skills/wiki-reingest/SKILL.md +12 -8
- package/skills/wiki-remove/SKILL.md +22 -5
- package/skills/wiki-sync/SKILL.md +39 -54
- package/templates/SCHEMA.md +8 -5
- package/templates/web-clipper/llm-wiki-clippings.json +56 -0
- package/templates/web-clipper/readme.txt +16 -0
|
@@ -4,8 +4,9 @@ import {
|
|
|
4
4
|
UNMANAGED_START,
|
|
5
5
|
renderRootIndex,
|
|
6
6
|
writeRootIndexProjection
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-QBZYEEBD.js";
|
|
8
|
+
import "./chunk-6ZDKTNLA.js";
|
|
9
|
+
import "./chunk-C2DKFJFA.js";
|
|
9
10
|
export {
|
|
10
11
|
UNMANAGED_END,
|
|
11
12
|
UNMANAGED_START,
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
runManagedWritePreflight,
|
|
4
4
|
runManagedWriteTransaction
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-BASWDOQB.js";
|
|
6
|
+
import "./chunk-PQG26AGJ.js";
|
|
7
|
+
import "./chunk-C2DKFJFA.js";
|
|
8
8
|
export {
|
|
9
9
|
runManagedWritePreflight,
|
|
10
10
|
runManagedWriteTransaction
|
package/dist/skillwiki-mcp.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
runSkillwikiMcpStdio
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SYKSL3JQ.js";
|
|
5
5
|
import "./chunk-7I2TPIV5.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-QBZYEEBD.js";
|
|
7
|
+
import "./chunk-PQG26AGJ.js";
|
|
8
|
+
import "./chunk-QNTBNNEL.js";
|
|
9
|
+
import "./chunk-6ZDKTNLA.js";
|
|
10
|
+
import "./chunk-C2DKFJFA.js";
|
|
9
11
|
|
|
10
12
|
// src/mcp-entry.ts
|
|
11
13
|
runSkillwikiMcpStdio().catch((error) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillwiki",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.23",
|
|
4
4
|
"skills": "./",
|
|
5
5
|
"description": "Project-aware Karpathy-style knowledge base for Claude Code: 19 prompt-only skills (wiki-*, proj-*, using-skillwiki) backed by the deterministic `skillwiki` CLI.",
|
|
6
6
|
"author": {
|
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: **19 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
|
|
@@ -11,6 +11,16 @@ Publication policy: new or updated typed-knowledge and meta pages must use
|
|
|
11
11
|
typed path or separately edit its index/log entries; immutable raw sources and
|
|
12
12
|
non-typed project work retain their existing workflows.
|
|
13
13
|
|
|
14
|
+
Raw lifecycle policy: completed raw captures are byte-immutable. Attended,
|
|
15
|
+
state-bound structural commands may preserve-move sources under
|
|
16
|
+
`raw/archived/` or `raw/duplicates/`; ordinary remove refuses raw, and permanent
|
|
17
|
+
disposal requires `skillwiki sources dispose` for one explicit exact target.
|
|
18
|
+
Web Clipper captures enter asynchronously through the init-installed
|
|
19
|
+
`_Templates/web-clipper/llm-wiki-clippings.json`; inspect them with
|
|
20
|
+
`skillwiki sources pending` or the separate `query --include-pending` channel.
|
|
21
|
+
`raw/assets/**` is a flexible stable pool with explicit vault-root embeds, not a
|
|
22
|
+
fixed papers/transcripts taxonomy.
|
|
23
|
+
|
|
14
24
|
| Namespace | Skills |
|
|
15
25
|
|---|---|
|
|
16
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` |
|
|
@@ -48,8 +58,9 @@ Before a managed vault mutation, invoke the managed SkillWiki command while the
|
|
|
48
58
|
|
|
49
59
|
- typed pages: `skillwiki page publish <draft> <vault> --target <path>` then the same command with `--write`
|
|
50
60
|
- archive: `skillwiki archive <path> <vault>`
|
|
61
|
+
- pending inventory/query: `skillwiki sources pending <vault>` and `skillwiki query "..." <vault> --include-pending`
|
|
62
|
+
- raw disposition/disposal: `skillwiki sources disposition ...` / attended `skillwiki sources dispose ...`
|
|
51
63
|
- ad-hoc structural log: `skillwiki log-append <vault> --content '<entry>'` (Release A dual-write) or event materialization (Release B)
|
|
52
64
|
- project/root index: `skillwiki project-index <slug> <vault> --apply` and `skillwiki index rebuild <vault> --write` only through managed commands
|
|
53
65
|
- log projection: `skillwiki log materialize <vault> [--write]`
|
|
54
66
|
- paired projections: `skillwiki projections materialize <vault> [--write]`
|
|
55
|
-
|
|
@@ -39,7 +39,7 @@ You are a quick-capture agent specializing in writing ad-hoc captures to `raw/tr
|
|
|
39
39
|
project: "[[{slug}]]" # omit if no project
|
|
40
40
|
---
|
|
41
41
|
```
|
|
42
|
-
|
|
42
|
+
`sha256` may be omitted, but the completed capture is still immutable evidence.
|
|
43
43
|
6. **Write body:** `# {type}: {text}` then the text content.
|
|
44
44
|
7. **Cross-reference (optional).** If project slug provided, verify `projects/{slug}/` exists. Append one-line reference to project compound notes.
|
|
45
45
|
8. **Log.** Append to `{vault}/log.md`: `## [YYYY-MM-DD] capture | [type]: [text (first 60 chars)]`.
|
|
@@ -60,6 +60,7 @@ Return:
|
|
|
60
60
|
**Forbidden:**
|
|
61
61
|
- Creating an `inbox/` directory
|
|
62
62
|
- Appending to existing capture files
|
|
63
|
+
- Editing or correcting an existing raw transcript; create a new capture or maintained work-item note
|
|
63
64
|
- Creating a full work item (that's proj-work's job)
|
|
64
65
|
- Writing to Layer 2 or Layer 3 locations (captures are Layer 1)
|
|
65
66
|
- Writing live credentials, access keys, tokens, passwords, cookies, bearer headers, private keys, or other authenticating secrets to the vault
|
|
@@ -1,34 +1,33 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wiki-archive
|
|
3
|
-
description: Use this agent
|
|
3
|
+
description: Use this agent for typed-page archival and report-only raw lifecycle previews; raw apply requires attended exact-target approval.
|
|
4
4
|
model: sonnet
|
|
5
5
|
color: yellow
|
|
6
6
|
tools: ["Read", "Edit", "Bash", "Grep", "Glob"]
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
You are a vault archivist specializing in safely retiring typed
|
|
9
|
+
You are a vault archivist specializing in safely retiring typed pages and previewing raw preserve-moves. Automated maintenance may apply typed archival, but raw structural apply is never autonomous.
|
|
10
10
|
|
|
11
11
|
## When to invoke
|
|
12
12
|
|
|
13
13
|
- **Page superseded.** A new version of a concept/entity page exists and the old one should be retired.
|
|
14
|
-
- **
|
|
14
|
+
- **Raw lifecycle preview.** An exact raw source may need preserve-archive after attended review.
|
|
15
15
|
- **Cleanup cycle.** Dev-loop spawns you to archive pages flagged during lint/audit.
|
|
16
16
|
|
|
17
17
|
**Your Core Responsibilities:**
|
|
18
18
|
1. Run `skillwiki archive <page>` to move the page to `_archive/`
|
|
19
19
|
2. Verify no ghost entries remain with `skillwiki index-check`
|
|
20
20
|
3. Check for broken wikilinks from other pages referencing the archived page
|
|
21
|
-
4. For raw
|
|
21
|
+
4. For raw targets, produce the dry-run only and surface the state-bound approval token to an attended parent/operator
|
|
22
22
|
|
|
23
23
|
**Execution Process:**
|
|
24
24
|
|
|
25
25
|
1. **Resolve vault.** Run `skillwiki path`. If NO_VAULT_CONFIGURED, report failure and STOP.
|
|
26
26
|
2. **Identify target.** The page to archive is specified in your task prompt.
|
|
27
|
-
3. **Run archive.**
|
|
27
|
+
3. **Run archive.** For typed pages, execute `skillwiki archive <page> <vault>`. For an exact raw path, execute preview only; do not add `--apply`. Raw destination must be `raw/archived/<category>/...`, with exact bytes preserved and no asset movement.
|
|
28
28
|
4. **Verify index.** Run `skillwiki index-check <vault>`. Confirm no ghost entries remain.
|
|
29
29
|
5. **Check broken links.** Run `skillwiki lint <vault>`. If other pages still wikilink to the archived page, update them to point to the replacement or remove the stale link.
|
|
30
|
-
6. **
|
|
31
|
-
7. **Log.** Append to `{vault}/log.md`: `## [{date}] archive | {relPath} → _archive/{subdir}/`.
|
|
30
|
+
6. **Raw handoff.** Report exact source/destination, complete-file hash, citation impact, and approval token. Only an attended explicitly invoked workflow may rerun with `--apply --approve <token>`.
|
|
32
31
|
|
|
33
32
|
**Output Format:**
|
|
34
33
|
Return:
|
|
@@ -43,7 +42,7 @@ Return:
|
|
|
43
42
|
- Page not found or already archived
|
|
44
43
|
|
|
45
44
|
**Forbidden:**
|
|
46
|
-
-
|
|
47
|
-
-
|
|
45
|
+
- Applying any raw archive from an automated/background agent
|
|
46
|
+
- Rewriting raw bytes/frontmatter, moving raw outside `raw/`, writing `_archive/raw/`, or moving referenced assets
|
|
48
47
|
- Deleting files (archive moves, never deletes)
|
|
49
48
|
- Preserving live credentials, access keys, tokens, passwords, cookies, bearer headers, private keys, or other authenticating secrets by archive-only handling
|
|
@@ -25,7 +25,7 @@ You are a vault provenance auditor specializing in verifying that every `^[raw/.
|
|
|
25
25
|
1. **Resolve vault.** Run `skillwiki path`. If NO_VAULT_CONFIGURED, report failure and STOP.
|
|
26
26
|
2. **Run audit.** Execute `skillwiki audit <page>` for each target page. If no page specified, audit all typed-knowledge pages (entities/, concepts/, comparisons/, queries/, meta/). Read the JSON report.
|
|
27
27
|
3. **Reason over findings:**
|
|
28
|
-
- **Unresolved markers:**
|
|
28
|
+
- **Unresolved markers:** Resolve against active `raw/`, `raw/archived/`, `raw/duplicates/`, and relocation history; legacy `_archive/raw/` is read-only compatibility. Distinguish genuinely missing evidence from a stale historical address.
|
|
29
29
|
- **Unused sources:** A source is listed in `sources:` frontmatter but never cited in the body. Suggest adding a body citation or removing from `sources:`.
|
|
30
30
|
- **Missing from sources:** A body citation lacks a corresponding `sources:` entry. Suggest adding to `sources:`.
|
|
31
31
|
4. **Append summary.** Write one entry to `{vault}/log.md` summarizing audit findings and suggested follow-ups.
|
|
@@ -44,4 +44,5 @@ Return a structured summary:
|
|
|
44
44
|
**Forbidden:**
|
|
45
45
|
- Auto-applying suggested fixes (audit is observation-only — do not edit pages)
|
|
46
46
|
- Modifying `sources:` frontmatter or body citations
|
|
47
|
+
- Rewriting raw evidence
|
|
47
48
|
- Printing or writing live credentials, access keys, tokens, passwords, cookies, bearer headers, private keys, or other authenticating secrets in audit summaries
|
|
@@ -27,7 +27,7 @@ You are a vault health inspector specializing in running `skillwiki health` and
|
|
|
27
27
|
2. **Run health or lint summary.** For whole-system health, execute `skillwiki health <vault> --out /tmp/skillwiki-health.json --no-fail`. For lint-only maintenance, execute `skillwiki lint <vault> --summary`. Read the JSON envelope. Treat `skillwiki doctor` as setup/runtime diagnostics only.
|
|
28
28
|
3. **Drill into details only when needed.** If capped examples are insufficient, run the bucket's `details_command` or `skillwiki lint <vault> --only <bucket>`.
|
|
29
29
|
4. **Reason over findings.** Group by severity. For each kind of finding, suggest concrete next actions. If the CLI was recently updated, new checks may flag pre-existing pages — treat these as legitimate findings, not false positives.
|
|
30
|
-
5. **Sensitive content.** Treat `sensitive_content` as a security error. Drill down with `skillwiki lint <vault> --only sensitive_content --human
|
|
30
|
+
5. **Sensitive content.** Treat `sensitive_content` as a security error. Drill down with `skillwiki lint <vault> --only sensitive_content --human`; never print the secret value. Raw findings remain report/quarantine-only: do not redact or rewrite existing raw content/frontmatter.
|
|
31
31
|
6. **Log rotation.** If `log_rotate_needed` is present, note that user consent is required — do NOT auto-rotate.
|
|
32
32
|
7. **Post-migration check.** If content was recently migrated, note whether broken_wikilinks count decreased after re-running `skillwiki lint <vault> --summary`. Remaining broken links for migrated content indicate pages still referencing moved files.
|
|
33
33
|
8. **Optional summary.** Append one entry to `{vault}/log.md` with the lint counts (errors/warnings/info) and a timestamp only when explicitly requested.
|
|
@@ -49,5 +49,6 @@ Return a structured summary:
|
|
|
49
49
|
**Forbidden:**
|
|
50
50
|
- Auto-rotating logs without user consent
|
|
51
51
|
- Auto-updating sha256 fields
|
|
52
|
+
- Rewriting or redacting raw evidence
|
|
52
53
|
- Modifying any page beyond an explicitly requested lint summary entry in `log.md`
|
|
53
54
|
- Printing live credentials, access keys, tokens, passwords, cookies, bearer headers, private keys, or other authenticating secrets in findings or summaries
|
|
@@ -25,6 +25,7 @@ You are a vault search and synthesis specialist using E2 4-signal ranking to fin
|
|
|
25
25
|
|
|
26
26
|
1. **Resolve vault.** Run `skillwiki path`. If NO_VAULT_CONFIGURED, report failure and STOP.
|
|
27
27
|
2. **Determine scope.** From task prompt: full vault, current project, or project+concepts.
|
|
28
|
+
- Default to typed knowledge. If the prompt explicitly asks for new/recent/fresh/clipped/raw/pending/undigested/unprocessed/not-yet-integrated material, run `skillwiki sources pending` and `skillwiki query "..." --include-pending`.
|
|
28
29
|
3. **Refresh graph.** If `.skillwiki/graph.json` missing or >24h old: `skillwiki graph build <vault>`.
|
|
29
30
|
4. **Compute overlap.** `skillwiki overlap <vault>`.
|
|
30
31
|
5. **Score candidates.** Apply 4 signals:
|
|
@@ -33,7 +34,7 @@ You are a vault search and synthesis specialist using E2 4-signal ranking to fin
|
|
|
33
34
|
- Adamic-Adar: 1.5× (from graph output)
|
|
34
35
|
- Type affinity: 1.0×
|
|
35
36
|
6. **Read top candidates.** Read frontmatter + body of highest-scored pages.
|
|
36
|
-
7. **Synthesize answer.** Compose with explicit citations to candidate pages using `^[page-path]` markers.
|
|
37
|
+
7. **Synthesize answer.** Compose with explicit citations to candidate pages using `^[page-path]` markers. Keep `pending_sources` separate from ranked typed results, label them pending evidence, and never let them alter typed scores/order. Weak typed results may prompt a suggestion, not silent widening.
|
|
37
38
|
8. **Sensitive content guard.** Before filing a query or comparison page, scan the generated body for live credentials, access keys, tokens, passwords, cookies, bearer headers, or private keys. Redact before writing. If the answer depends on preserving a live secret, STOP and ask for a redacted source or explicit rotation/remediation direction.
|
|
38
39
|
9. **Optional file.** If the task asks to persist, first run `skillwiki page publish --help`. If it is unavailable, fail closed and leave the result unpublished. Otherwise:
|
|
39
40
|
1. Resolve the vault and create a temporary directory outside the vault.
|
|
@@ -75,4 +76,5 @@ Return:
|
|
|
75
76
|
- Directly creating a final typed page or separately editing `index.md` or `log.md` for its publication
|
|
76
77
|
- Skipping graph refresh when graph.json is missing
|
|
77
78
|
- Accepting wiki claims without filesystem verification
|
|
79
|
+
- Treating pending raw captures as integrated typed knowledge or silently widening into raw
|
|
78
80
|
- Writing live credentials, access keys, tokens, passwords, cookies, bearer headers, private keys, or other authenticating secrets to the vault
|
|
@@ -6,7 +6,7 @@ color: yellow
|
|
|
6
6
|
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
You are a drift detection specialist running `skillwiki drift` and processing results.
|
|
9
|
+
You are a drift detection specialist running `skillwiki drift` and processing results. Automated maintenance is report-only for raw evidence; attended reingest creates a new capture and preserve-archives the old one.
|
|
10
10
|
|
|
11
11
|
## When to invoke
|
|
12
12
|
|
|
@@ -17,7 +17,7 @@ You are a drift detection specialist running `skillwiki drift` and processing re
|
|
|
17
17
|
**Your Core Responsibilities:**
|
|
18
18
|
1. Run `skillwiki drift` to detect changed sources
|
|
19
19
|
2. Present findings grouped by status (drifted, fetch_failed, unchanged)
|
|
20
|
-
3. For each drifted source:
|
|
20
|
+
3. For each drifted source: report the proposed new-capture + attended preserve-archive workflow
|
|
21
21
|
4. Log the results
|
|
22
22
|
|
|
23
23
|
**Execution Process:**
|
|
@@ -29,16 +29,16 @@ You are a drift detection specialist running `skillwiki drift` and processing re
|
|
|
29
29
|
- **fetch_failed:** Could not re-fetch. Note error details.
|
|
30
30
|
- **unchanged:** No action needed.
|
|
31
31
|
4. **Process each drifted source:**
|
|
32
|
-
a.
|
|
32
|
+
a. In background/headless mode, stop after reporting. Never run raw structural apply.
|
|
33
33
|
b. Re-fetch content. If it contains live credentials, access keys, tokens, passwords, cookies, bearer headers, private keys, or other authenticating secrets, STOP and ask for a redacted source or explicit rotation/remediation direction.
|
|
34
|
-
c.
|
|
35
|
-
d.
|
|
36
|
-
e.
|
|
34
|
+
c. In an attended explicitly approved workflow, write the fetched content as a new raw file with updated sha256 and verify it.
|
|
35
|
+
d. Preview `skillwiki archive <exact-old-raw-path>`; apply only with the live `--apply --approve <token>` authorization. Old bytes remain under `raw/archived/`.
|
|
36
|
+
e. Update maintained citations to the new capture where editorially appropriate and verify with `skillwiki audit`.
|
|
37
37
|
5. **Log.** Append to `{vault}/log.md`: scanned count, drifted count, re-ingested count, skipped count.
|
|
38
38
|
|
|
39
39
|
**N9 Compliance:**
|
|
40
40
|
Raw files are immutable. Never modify an existing raw file. Instead:
|
|
41
|
-
-
|
|
41
|
+
- Preserve-archive old raw → `raw/archived/<category>/`
|
|
42
42
|
- Create new raw with updated content and new sha256
|
|
43
43
|
- This preserves full provenance history
|
|
44
44
|
|
|
@@ -58,6 +58,7 @@ Return:
|
|
|
58
58
|
|
|
59
59
|
**Forbidden:**
|
|
60
60
|
- Modifying files in `raw/` directly (N9)
|
|
61
|
-
-
|
|
61
|
+
- Applying raw reingest/archive from scheduled or headless maintenance
|
|
62
|
+
- Writing new archives to `_archive/raw/`
|
|
62
63
|
- Updating citations without running `skillwiki audit` to verify
|
|
63
64
|
- Writing live credentials, access keys, tokens, passwords, cookies, bearer headers, private keys, or other authenticating secrets to the vault
|
package/skills/package.json
CHANGED
|
@@ -12,13 +12,43 @@ description: Write an Architectural Decision Record (ADR). If the decision gener
|
|
|
12
12
|
Standard four + project context.
|
|
13
13
|
|
|
14
14
|
## Steps
|
|
15
|
-
1.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
1. Resolve vault with `skillwiki path`. Draft the ADR **outside** the authoritative target path (temp file or work-item draft). Prefer frontmatter compatible with typed-knowledge architecture pages:
|
|
16
|
+
- `type: concept`
|
|
17
|
+
- `tags` include `adr` for newly created architecture pages
|
|
18
|
+
- `provenance: project` or `mixed`
|
|
19
|
+
- `provenance_projects` includes `[[{slug}]]`
|
|
20
|
+
- Target path: `projects/{slug}/architecture/YYYY-MM-DD-{adr-slug}.md`
|
|
21
|
+
- If no project context exists, default to `playground`.
|
|
22
|
+
2. Dry-run the managed Layer-3 publisher (read-only; emits an approval token):
|
|
23
|
+
```bash
|
|
24
|
+
skillwiki project-page publish <draft> "$VAULT" \
|
|
25
|
+
--project <slug> \
|
|
26
|
+
--target projects/<slug>/architecture/YYYY-MM-DD-<adr-slug>.md \
|
|
27
|
+
--log-note "<one-line note>"
|
|
28
|
+
```
|
|
29
|
+
Review target state, draft SHA, prior target hash, and the returned `approval_token` with the human.
|
|
30
|
+
3. On human approval, publish with the exact token from the dry-run (do not re-author between dry-run and write):
|
|
31
|
+
```bash
|
|
32
|
+
skillwiki project-page publish <draft> "$VAULT" \
|
|
33
|
+
--project <slug> \
|
|
34
|
+
--target projects/<slug>/architecture/YYYY-MM-DD-<adr-slug>.md \
|
|
35
|
+
--log-note "<same one-line note>" \
|
|
36
|
+
--write --approve <token>
|
|
37
|
+
```
|
|
38
|
+
4. Verify the touched page and project knowledge index (`projects/{slug}/knowledge.md`). Do **not** hand-edit root `index.md` for architecture pages — the publisher owns project knowledge projection.
|
|
39
|
+
5. **Generalization check.** If the decision applies beyond this project, draft a `concepts/` page with `provenance: project` (or `mixed` if research-informed) and publish it with `skillwiki page publish` (prefer `--approve` for this workstream).
|
|
40
|
+
6. Host-aware promotion:
|
|
41
|
+
- Authorized Git leaf: `skillwiki sync` / `skillwiki sync push` after lint-delta.
|
|
42
|
+
- Protected snapshotter (sg01): leave promotion to `wiki-snapshot.timer`; never author or push via `/root/wiki-git`.
|
|
19
43
|
|
|
20
44
|
## Stop conditions
|
|
21
|
-
- `
|
|
45
|
+
- `project-page publish` dry-run or approved write exits non-zero.
|
|
46
|
+
- Approval token missing/mismatched — re-run dry-run; do not force a write.
|
|
47
|
+
- Host is a protected snapshotter and the operator asks to edit `/root/wiki-git` — refuse.
|
|
22
48
|
|
|
23
49
|
## Forbidden
|
|
50
|
+
- Direct writes into `projects/{slug}/architecture/` without `skillwiki project-page publish`.
|
|
51
|
+
- Hand-editing root `index.md` for architecture ADRs.
|
|
24
52
|
- Filing the concept page without explicit `provenance:`.
|
|
53
|
+
- Do not author, copy, edit, stage, commit, pull, reset, or push agent changes in `/root/wiki-git`.
|
|
54
|
+
- Running snapshot scripts or `git reset --hard` in the snapshot worktree as a publication shortcut.
|
|
@@ -12,13 +12,43 @@ description: Write an Architectural Decision Record (ADR). If the decision gener
|
|
|
12
12
|
Standard four + project context.
|
|
13
13
|
|
|
14
14
|
## Steps
|
|
15
|
-
1.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
1. Resolve vault with `skillwiki path`. Draft the ADR **outside** the authoritative target path (temp file or work-item draft). Prefer frontmatter compatible with typed-knowledge architecture pages:
|
|
16
|
+
- `type: concept`
|
|
17
|
+
- `tags` include `adr` for newly created architecture pages
|
|
18
|
+
- `provenance: project` or `mixed`
|
|
19
|
+
- `provenance_projects` includes `[[{slug}]]`
|
|
20
|
+
- Target path: `projects/{slug}/architecture/YYYY-MM-DD-{adr-slug}.md`
|
|
21
|
+
- If no project context exists, default to `playground`.
|
|
22
|
+
2. Dry-run the managed Layer-3 publisher (read-only; emits an approval token):
|
|
23
|
+
```bash
|
|
24
|
+
skillwiki project-page publish <draft> "$VAULT" \
|
|
25
|
+
--project <slug> \
|
|
26
|
+
--target projects/<slug>/architecture/YYYY-MM-DD-<adr-slug>.md \
|
|
27
|
+
--log-note "<one-line note>"
|
|
28
|
+
```
|
|
29
|
+
Review target state, draft SHA, prior target hash, and the returned `approval_token` with the human.
|
|
30
|
+
3. On human approval, publish with the exact token from the dry-run (do not re-author between dry-run and write):
|
|
31
|
+
```bash
|
|
32
|
+
skillwiki project-page publish <draft> "$VAULT" \
|
|
33
|
+
--project <slug> \
|
|
34
|
+
--target projects/<slug>/architecture/YYYY-MM-DD-<adr-slug>.md \
|
|
35
|
+
--log-note "<same one-line note>" \
|
|
36
|
+
--write --approve <token>
|
|
37
|
+
```
|
|
38
|
+
4. Verify the touched page and project knowledge index (`projects/{slug}/knowledge.md`). Do **not** hand-edit root `index.md` for architecture pages — the publisher owns project knowledge projection.
|
|
39
|
+
5. **Generalization check.** If the decision applies beyond this project, draft a `concepts/` page with `provenance: project` (or `mixed` if research-informed) and publish it with `skillwiki page publish` (prefer `--approve` for this workstream).
|
|
40
|
+
6. Host-aware promotion:
|
|
41
|
+
- Authorized Git leaf: `skillwiki sync` / `skillwiki sync push` after lint-delta.
|
|
42
|
+
- Protected snapshotter (sg01): leave promotion to `wiki-snapshot.timer`; never author or push via `/root/wiki-git`.
|
|
19
43
|
|
|
20
44
|
## Stop conditions
|
|
21
|
-
- `
|
|
45
|
+
- `project-page publish` dry-run or approved write exits non-zero.
|
|
46
|
+
- Approval token missing/mismatched — re-run dry-run; do not force a write.
|
|
47
|
+
- Host is a protected snapshotter and the operator asks to edit `/root/wiki-git` — refuse.
|
|
22
48
|
|
|
23
49
|
## Forbidden
|
|
50
|
+
- Direct writes into `projects/{slug}/architecture/` without `skillwiki project-page publish`.
|
|
51
|
+
- Hand-editing root `index.md` for architecture ADRs.
|
|
24
52
|
- Filing the concept page without explicit `provenance:`.
|
|
53
|
+
- Do not author, copy, edit, stage, commit, pull, reset, or push agent changes in `/root/wiki-git`.
|
|
54
|
+
- Running snapshot scripts or `git reset --hard` in the snapshot worktree as a publication shortcut.
|
|
@@ -37,14 +37,17 @@ Invoke a skillwiki skill when the user:
|
|
|
37
37
|
|
|
38
38
|
## Vault Structure
|
|
39
39
|
A skillwiki vault has three layers. The canonical architecture lives in `SCHEMA.md` at the vault root — read it before creating any new directories.
|
|
40
|
-
**Layer 1 — Raw (`raw/`):** Immutable
|
|
40
|
+
**Layer 1 — Raw (`raw/`):** Immutable evidence. Existing content/frontmatter is never autonomously rewritten or removed. Attended structural workflows may rename, relocate, archive, or deduplicate only when exact bytes remain somewhere under `raw/`. Permanent disposal requires explicit exact-target user intent. `raw/transcripts/` is the ad-hoc capture point for meeting notes and unprocessed ideas.
|
|
41
41
|
```
|
|
42
42
|
raw/
|
|
43
|
-
├── articles/
|
|
44
|
-
├── papers/
|
|
45
|
-
├── transcripts/
|
|
46
|
-
|
|
43
|
+
├── articles/ # Active Web articles and clippings
|
|
44
|
+
├── papers/ # Active PDFs and papers
|
|
45
|
+
├── transcripts/ # Active meeting notes and ad-hoc captures
|
|
46
|
+
├── assets/ # Stable flexible asset pool; no fixed internal taxonomy
|
|
47
|
+
├── archived/{articles,papers,transcripts}/
|
|
48
|
+
└── duplicates/{articles,papers,transcripts}/
|
|
47
49
|
```
|
|
50
|
+
Use explicit vault-root asset embeds such as `![[raw/assets/example/diagram.png]]`. Agents may choose flat or URL-friendly nested paths. Once an immutable capture references an asset, that path freezes; routine source archive/dedup never moves the asset. Remote images remain external dependencies unless separately captured.
|
|
48
51
|
Raw frontmatter:
|
|
49
52
|
```yaml
|
|
50
53
|
---
|
|
@@ -94,6 +97,9 @@ Also mirror these pointers in vault-presync / vault-sync-status skills when oper
|
|
|
94
97
|
|
|
95
98
|
- typed pages: `skillwiki page publish <draft> <vault> --target <path>` then the same command with `--write`
|
|
96
99
|
- archive: `skillwiki archive <path> <vault>`
|
|
100
|
+
- pending source inventory: `skillwiki sources pending <vault>`
|
|
101
|
+
- editorial disposition: `skillwiki sources disposition <exact-raw-path> <vault> ...`
|
|
102
|
+
- exceptional raw disposal: `skillwiki sources dispose <exact-raw-path> <vault> --reason ...` then attended `--write --approve <token>`
|
|
97
103
|
- ad-hoc structural log: `skillwiki log-append <vault> --content '<entry>'` (Release A dual-write) or event materialization (Release B)
|
|
98
104
|
- project/root index: `skillwiki project-index <slug> <vault> --apply` and `skillwiki index rebuild <vault> --write` only through managed commands
|
|
99
105
|
- log projection: `skillwiki log materialize <vault> [--write]`
|
|
@@ -125,20 +131,20 @@ The vault is shared across hosts, so host-local absolute paths are not durable s
|
|
|
125
131
|
| Entry | When | What happens |
|
|
126
132
|
|-------|------|-------------|
|
|
127
133
|
| `/wiki-add-task <text>` | You're in a Claude session | Creates `raw/transcripts/YYYY-MM-DD-{type}-{slug}.md` with ad-hoc capture frontmatter |
|
|
128
|
-
| Filesystem drop | You're NOT in a Claude session (Obsidian, editor, sync) | Create
|
|
134
|
+
| Filesystem drop | You're NOT in a Claude session (Obsidian, editor, sync) | Create a new `.md` file in `raw/transcripts/` — dev-loop discovers it on next cycle; do not edit it after capture |
|
|
129
135
|
| Dev-loop discovery | Automatic, next cycle | Scans `raw/transcripts/` for new files since last cycle, surfaces as claimable work |
|
|
130
136
|
|
|
131
137
|
## Skill Map
|
|
132
138
|
| Skill | When to Invoke |
|
|
133
139
|
|-------|----------------|
|
|
134
|
-
| `wiki-init` | Bootstrap a
|
|
140
|
+
| `wiki-init` | Bootstrap a vault and install `_Templates/web-clipper/llm-wiki-clippings.json` plus import guidance |
|
|
135
141
|
| `wiki-ingest` | Convert URLs, files, or pasted text into typed-knowledge pages |
|
|
136
|
-
| `wiki-query` | Search
|
|
142
|
+
| `wiki-query` | Search typed knowledge by default; explicitly requested fresh/raw evidence uses the separate pending channel |
|
|
137
143
|
| `wiki-lint` | Vault health and lint checks; use `health` for whole-system reports and `lint --summary` for bounded lint buckets |
|
|
138
144
|
| `wiki-crystallize` | Distill the current working session into a typed-knowledge page |
|
|
139
145
|
| `wiki-audit` | Verify raw provenance references and source frontmatter integrity |
|
|
140
|
-
| `wiki-archive` | Archive
|
|
141
|
-
| `wiki-remove` |
|
|
146
|
+
| `wiki-archive` | Archive typed pages, or attended preserve-move exact raw sources under `raw/archived/` |
|
|
147
|
+
| `wiki-remove` | Remove maintained pages; exact raw disposal uses the separate attended `sources dispose` flow |
|
|
142
148
|
| `wiki-reingest` | Detect drift in raw sources (sha256 comparison) and re-ingest updated content |
|
|
143
149
|
| `wiki-add-task` | Quick-capture ideas, bugs, tasks, notes into `raw/transcripts/` without leaving the current workflow |
|
|
144
150
|
| `wiki-adapter-prd` | Map foreign PRD formats (CodeStable, RFC, AIDE, Hermes) into vault pages |
|
|
@@ -174,8 +180,8 @@ Use `prd_layer` + `prd_pipeline` from `.claude/dev-loop.config.md` as source of
|
|
|
174
180
|
|
|
175
181
|
## CLI Backbone
|
|
176
182
|
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 Claude for the creative parts.
|
|
177
|
-
Key CLI subcommands: `init`, `health`, `lint`, `config`, `doctor`, `path`, `lang`, `install`, `fleet context`, `fleet validate`, `graph build`, `archive`, `remove`, `drift`, `compound`, `tag-sync`, `tag reconcile`, `page publish`, `sync status`, `seed`, `stale`, `observe`, `canvas generate`.
|
|
178
|
-
Run `skillwiki health <vault> --out /tmp/skillwiki-health.json --no-fail` for a bounded whole-system report that includes
|
|
183
|
+
Key CLI subcommands: `init`, `health`, `lint`, `config`, `doctor`, `path`, `lang`, `install`, `fleet context`, `fleet validate`, `graph build`, `query`, `sources pending`, `sources disposition`, `sources dispose`, `archive`, `remove`, `drift`, `dedup`, `compound`, `tag-sync`, `tag reconcile`, `page publish`, `sync status`, `seed`, `stale`, `observe`, `canvas generate`.
|
|
184
|
+
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. Run `skillwiki config list` to see current configuration.
|
|
179
185
|
|
|
180
186
|
## Runtime Host Context and Fleet Freshness
|
|
181
187
|
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.
|
|
@@ -214,7 +220,7 @@ Before asking questions or running scheduled maintenance, resolve the session ki
|
|
|
214
220
|
## Typical Workflow
|
|
215
221
|
1. **Init** (`wiki-init`) — create vault, set domain and taxonomy
|
|
216
222
|
2. **Ingest** (`wiki-ingest`) — add sources, build pages
|
|
217
|
-
3. **Query** (`wiki-query`) — search
|
|
223
|
+
3. **Query** (`wiki-query`) — search typed knowledge; explicitly include pending captures for fresh/raw intent
|
|
218
224
|
4. **Lint** (`wiki-lint`) — periodic health checks
|
|
219
225
|
5. **Crystallize** (`wiki-crystallize`) — save session insights as pages
|
|
220
226
|
6. **Audit** (`wiki-audit`) — verify source integrity
|
|
@@ -8,7 +8,7 @@ Capture ad-hoc ideas, bugs, tasks, and notes into the vault. Three entry points
|
|
|
8
8
|
|-------|------|-------------|
|
|
9
9
|
| `/wiki-add-task <text>` | You're in a Claude Code session (NOT Hermes compact) | Creates `raw/transcripts/YYYY-MM-DD-{type}-{slug}.md` with ad-hoc capture frontmatter |
|
|
10
10
|
| Filesystem drop | Hermes Agent compact mode (no slash commands available) | Same as above — create `.md` in `raw/transcripts/`, dev-loop discovers it |
|
|
11
|
-
| Filesystem drop | You're NOT in a Claude session (Obsidian, editor, sync) | Create
|
|
11
|
+
| Filesystem drop | You're NOT in a Claude session (Obsidian, editor, sync) | Create a new `.md` file in `raw/transcripts/` using the vault template — dev-loop discovers it on next cycle |
|
|
12
12
|
| Dev-loop discovery | Automatic, next cycle | Scans `raw/transcripts/` for new files since last cycle, surfaces as claimable work |
|
|
13
13
|
**Path Rule:** Captures ALWAYS go to `$(skillwiki path)/raw/transcripts/` (Layer 1). Never under `projects/{slug}/raw/` — that violates SCHEMA.md Layer 1 immutability.
|
|
14
14
|
### Exception: Explicit project task requests
|
|
@@ -47,7 +47,7 @@ project: "[[{slug}]]"
|
|
|
47
47
|
- If a `project` slug was provided, set `project: "[[slug]]"`.
|
|
48
48
|
- If no project, omit the `project` field entirely.
|
|
49
49
|
- `source_url` is null (these are locally originated captures).
|
|
50
|
-
-
|
|
50
|
+
- `sha256` may be omitted for locally originated captures, but the completed capture is still immutable evidence. Corrections create a new capture or a maintained work-item note; never rewrite the existing transcript.
|
|
51
51
|
5. **Write body.** Below the frontmatter, write:
|
|
52
52
|
```markdown
|
|
53
53
|
# {type}: {text}
|
|
@@ -79,7 +79,7 @@ Fix the template mismatch between wiki-add-task and the vault template.
|
|
|
79
79
|
```
|
|
80
80
|
The `kind` field uses the capture type and must be one of: `idea`, `bug`, `task`, `note` (plus the existing `postmortem`, `session-log`, `meeting-notes`, `other` for non-capture raw sources).
|
|
81
81
|
The `project` and `kind` fields can be set independently — they do not require `work_item`. The `work_item` field is only used when the raw source is directly tied to a project work item (set by `proj-work`).
|
|
82
|
-
Ad-hoc captures omit `sha256
|
|
82
|
+
Ad-hoc captures may omit `sha256`; omission does not grant mutation authority. Once created, the transcript's content and frontmatter are immutable. The `sha256` field remains required for ingest pipelines that provide integrity verification.
|
|
83
83
|
## Stop conditions
|
|
84
84
|
- `skillwiki path` returns NO_VAULT_CONFIGURED.
|
|
85
85
|
- No `text` provided (prompt user once, then stop).
|
|
@@ -88,6 +88,7 @@ Ad-hoc captures omit `sha256` — they are mutable working notes, not immutable
|
|
|
88
88
|
## Forbidden
|
|
89
89
|
- Creating an `inbox/` directory. All captures go to `raw/transcripts/`.
|
|
90
90
|
- Appending to existing capture files — each capture gets its own file.
|
|
91
|
+
- Editing or correcting an existing raw transcript; create a new capture or maintained work-item note instead.
|
|
91
92
|
- Creating a work item — this is capture-only. Use `proj-work` for full work items.
|
|
92
93
|
- Writing to any Layer 2 or Layer 3 location. Captures are Layer 1 (raw).
|
|
93
94
|
- Writing live credentials, access keys, tokens, passwords, cookies, bearer headers, private keys, or other authenticating secrets to the vault.
|