skillwiki 0.10.33 → 0.10.35

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.
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  renderRootIndex,
8
8
  writeRootIndexProjection
9
- } from "./chunk-OJVIND5D.js";
9
+ } from "./chunk-SNCFIJ5E.js";
10
10
  import {
11
11
  CONFIG_KEYS,
12
12
  acquireOwnedSyncLock,
@@ -34,15 +34,15 @@ import {
34
34
  snapshotterAliasForLocalHost,
35
35
  toUndirectedWeighted,
36
36
  writeDotenv
37
- } from "./chunk-5XQWYC5K.js";
37
+ } from "./chunk-JJ654NVJ.js";
38
38
  import {
39
39
  atomicWriteText,
40
40
  prepareTypedPage
41
- } from "./chunk-UI4SOWI2.js";
41
+ } from "./chunk-XYGGDGHR.js";
42
42
  import {
43
43
  eventPathFor,
44
44
  writeLogEvent
45
- } from "./chunk-SGZPIGGX.js";
45
+ } from "./chunk-K4OGG5KJ.js";
46
46
  import {
47
47
  CompoundSchema,
48
48
  ExitCode,
@@ -63,7 +63,7 @@ import {
63
63
  scanVault,
64
64
  splitFrontmatter,
65
65
  systemdPropertyFor
66
- } from "./chunk-RQARJ6HB.js";
66
+ } from "./chunk-MIQOBEOW.js";
67
67
 
68
68
  // src/commands/log-append.ts
69
69
  import { readFile, stat } from "fs/promises";
@@ -4849,7 +4849,7 @@ async function runQuery(input) {
4849
4849
  }).filter((r) => r.score > 0).sort((a, b) => b.score - a.score || a.path.localeCompare(b.path)).slice(0, limit);
4850
4850
  let pendingSources;
4851
4851
  if (input.includePending) {
4852
- const { runSourcesPending } = await import("./sources-7UC6PJEV.js");
4852
+ const { runSourcesPending } = await import("./sources-FCZCPOYB.js");
4853
4853
  const pending = await runSourcesPending({
4854
4854
  vault: input.vault,
4855
4855
  match: input.text,
@@ -22,12 +22,12 @@ import {
22
22
  runSyncLintDelta,
23
23
  runVaultSyncPullHelper,
24
24
  supersedeStaleReviewRequiredJournals
25
- } from "./chunk-5XQWYC5K.js";
25
+ } from "./chunk-JJ654NVJ.js";
26
26
  import {
27
27
  ExitCode,
28
28
  err,
29
29
  ok
30
- } from "./chunk-RQARJ6HB.js";
30
+ } from "./chunk-MIQOBEOW.js";
31
31
 
32
32
  // src/utils/managed-write-preflight.ts
33
33
  import { existsSync as existsSync3 } from "fs";
@@ -8,7 +8,7 @@ import {
8
8
  readLogEvents,
9
9
  resolveExistingRegularFileInsideVault,
10
10
  writeLogEvent
11
- } from "./chunk-SGZPIGGX.js";
11
+ } from "./chunk-K4OGG5KJ.js";
12
12
  import {
13
13
  ExitCode,
14
14
  RawSourceSchema,
@@ -19,7 +19,7 @@ import {
19
19
  scanSensitiveContent,
20
20
  scanVault,
21
21
  splitFrontmatter
22
- } from "./chunk-RQARJ6HB.js";
22
+ } from "./chunk-MIQOBEOW.js";
23
23
 
24
24
  // src/utils/source-lifecycle.ts
25
25
  import { basename } from "path";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  atomicWriteText,
4
4
  buildRootIndexUniverse
5
- } from "./chunk-UI4SOWI2.js";
5
+ } from "./chunk-XYGGDGHR.js";
6
6
  import {
7
7
  authorizeRawOperation,
8
8
  buildSourceReferenceIndex,
@@ -22,7 +22,7 @@ import {
22
22
  resolveExistingRegularFileInsideVault,
23
23
  stripFencedBlocks,
24
24
  writeLogEvent
25
- } from "./chunk-SGZPIGGX.js";
25
+ } from "./chunk-K4OGG5KJ.js";
26
26
  import {
27
27
  ExitCode,
28
28
  FleetManifestSchema,
@@ -40,7 +40,7 @@ import {
40
40
  scanVault,
41
41
  splitFrontmatter,
42
42
  vaultIoConcurrency
43
- } from "./chunk-RQARJ6HB.js";
43
+ } from "./chunk-MIQOBEOW.js";
44
44
 
45
45
  // src/utils/sync-lock.ts
46
46
  import { existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "fs";
@@ -6,7 +6,7 @@ import {
6
6
  readPage,
7
7
  scanSensitiveContent,
8
8
  splitFrontmatter
9
- } from "./chunk-RQARJ6HB.js";
9
+ } from "./chunk-MIQOBEOW.js";
10
10
 
11
11
  // src/utils/log-events.ts
12
12
  import { mkdir, open, readFile, readdir } from "fs/promises";
@@ -106,7 +106,7 @@ var RawSourceSchema = z.object({
106
106
  source_url: z.string().nullable(),
107
107
  created: isoDate.optional(),
108
108
  ingested: isoDate,
109
- ingested_by: z.enum(["wiki-ingest", "proj-work", "manual"]).optional(),
109
+ ingested_by: z.enum(["wiki-ingest", "proj-work", "manual", "deep-research", "export-wiki"]).optional(),
110
110
  sha256: sha256Hex.optional(),
111
111
  project: wikilink.optional(),
112
112
  work_item: wikilink.optional(),
@@ -3,11 +3,11 @@ import {
3
3
  ROOT_INDEX_SECTION_ORDER,
4
4
  atomicWriteText,
5
5
  buildRootIndexUniverse
6
- } from "./chunk-UI4SOWI2.js";
6
+ } from "./chunk-XYGGDGHR.js";
7
7
  import {
8
8
  err,
9
9
  ok
10
- } from "./chunk-RQARJ6HB.js";
10
+ } from "./chunk-MIQOBEOW.js";
11
11
 
12
12
  // src/utils/index-projection.ts
13
13
  import { readFile } from "fs/promises";
@@ -8,7 +8,7 @@ import {
8
8
  ok,
9
9
  scanSensitiveContent,
10
10
  scanVault
11
- } from "./chunk-RQARJ6HB.js";
11
+ } from "./chunk-MIQOBEOW.js";
12
12
 
13
13
  // src/utils/atomic-write.ts
14
14
  import { randomBytes } from "crypto";
package/dist/cli.js CHANGED
@@ -38,7 +38,7 @@ import {
38
38
  scanConflictMarkerBlocksInText,
39
39
  snapshotterHealthChecks,
40
40
  upsertIndexEntry
41
- } from "./chunk-6EEI6REK.js";
41
+ } from "./chunk-2X2TCLHR.js";
42
42
  import {
43
43
  normalizeDistTag,
44
44
  readCache,
@@ -51,7 +51,7 @@ import {
51
51
  UNMANAGED_START,
52
52
  renderRootIndex,
53
53
  writeRootIndexProjection
54
- } from "./chunk-OJVIND5D.js";
54
+ } from "./chunk-SNCFIJ5E.js";
55
55
  import {
56
56
  VAULT_COMMIT_PATHSPEC,
57
57
  runManagedWritePreflight,
@@ -63,7 +63,7 @@ import {
63
63
  runSyncStatus,
64
64
  runSyncUnlock,
65
65
  stageVaultContentChanges
66
- } from "./chunk-NOXDRIHM.js";
66
+ } from "./chunk-BY7V7QPU.js";
67
67
  import {
68
68
  FLEET_REL_PATH,
69
69
  acquireOwnedSyncLock,
@@ -126,12 +126,12 @@ import {
126
126
  supersedeStaleReviewRequiredJournals,
127
127
  taxonomyCommentForPage,
128
128
  writeDotenv
129
- } from "./chunk-5XQWYC5K.js";
129
+ } from "./chunk-JJ654NVJ.js";
130
130
  import {
131
131
  assertTargetInsideVault,
132
132
  atomicWriteText,
133
133
  prepareTypedPage
134
- } from "./chunk-UI4SOWI2.js";
134
+ } from "./chunk-XYGGDGHR.js";
135
135
  import {
136
136
  applySourceDisposition,
137
137
  decodeSourceActionApproval,
@@ -139,7 +139,7 @@ import {
139
139
  inventorySources,
140
140
  planSourceDisposition,
141
141
  runSourcesPending
142
- } from "./chunk-23CR4YPL.js";
142
+ } from "./chunk-GXT5WTSE.js";
143
143
  import {
144
144
  authorizeRawOperation,
145
145
  buildSourceReferenceIndex,
@@ -155,7 +155,7 @@ import {
155
155
  resolveExistingRegularFileInsideVault,
156
156
  validateLogEvent,
157
157
  writeLogEvent
158
- } from "./chunk-SGZPIGGX.js";
158
+ } from "./chunk-K4OGG5KJ.js";
159
159
  import {
160
160
  ExitCode,
161
161
  MetaSchema,
@@ -171,7 +171,7 @@ import {
171
171
  scanSensitiveContent,
172
172
  scanVault,
173
173
  splitFrontmatter
174
- } from "./chunk-RQARJ6HB.js";
174
+ } from "./chunk-MIQOBEOW.js";
175
175
 
176
176
  // src/cli.ts
177
177
  import { join as join38 } from "path";
@@ -3348,7 +3348,7 @@ ${fmRewritten}
3348
3348
  }
3349
3349
  let indexUpdated = false;
3350
3350
  if (!isRaw) {
3351
- const { renderRootIndex: renderRootIndex2, writeRootIndexProjection: writeRootIndexProjection2 } = await import("./index-projection-64WW36N3.js");
3351
+ const { renderRootIndex: renderRootIndex2, writeRootIndexProjection: writeRootIndexProjection2 } = await import("./index-projection-WUAKRTAE.js");
3352
3352
  const before = await readFile7(join18(input.vault, "index.md"), "utf8").catch(() => "");
3353
3353
  const fullTarget = relPath.replace(/\.md$/, "");
3354
3354
  const bare = fullTarget.split("/").pop() ?? fullTarget;
@@ -3468,7 +3468,7 @@ async function runRemove(input) {
3468
3468
  if (relPath.endsWith(".md") && !relPath.startsWith("raw/")) {
3469
3469
  const { readFile: readFile20 } = await import("fs/promises");
3470
3470
  const { join: pathJoin } = await import("path");
3471
- const { renderRootIndex: renderRootIndex2, writeRootIndexProjection: writeRootIndexProjection2 } = await import("./index-projection-64WW36N3.js");
3471
+ const { renderRootIndex: renderRootIndex2, writeRootIndexProjection: writeRootIndexProjection2 } = await import("./index-projection-WUAKRTAE.js");
3472
3472
  const before = await readFile20(pathJoin(input.vault, "index.md"), "utf8").catch(() => "");
3473
3473
  const fullTarget = relPath.replace(/\.md$/, "");
3474
3474
  const bare = fullTarget.split("/").pop() ?? fullTarget;
@@ -9386,7 +9386,7 @@ async function emitManagedVaultWrite(vault, command, mutate, opts) {
9386
9386
  if (dirty) {
9387
9387
  return emit(dirty, void 0, { postCommit: false });
9388
9388
  }
9389
- const { runManagedWriteTransaction: runManagedWriteTransaction2 } = await import("./managed-write-preflight-2FU5F56H.js");
9389
+ const { runManagedWriteTransaction: runManagedWriteTransaction2 } = await import("./managed-write-preflight-4YCJVF64.js");
9390
9390
  const run = await runManagedWriteTransaction2({
9391
9391
  vault,
9392
9392
  command,
@@ -4,9 +4,9 @@ import {
4
4
  UNMANAGED_START,
5
5
  renderRootIndex,
6
6
  writeRootIndexProjection
7
- } from "./chunk-OJVIND5D.js";
8
- import "./chunk-UI4SOWI2.js";
9
- import "./chunk-RQARJ6HB.js";
7
+ } from "./chunk-SNCFIJ5E.js";
8
+ import "./chunk-XYGGDGHR.js";
9
+ import "./chunk-MIQOBEOW.js";
10
10
  export {
11
11
  UNMANAGED_END,
12
12
  UNMANAGED_START,
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  runManagedWritePreflight,
4
4
  runManagedWriteTransaction
5
- } from "./chunk-NOXDRIHM.js";
6
- import "./chunk-5XQWYC5K.js";
7
- import "./chunk-UI4SOWI2.js";
8
- import "./chunk-SGZPIGGX.js";
9
- import "./chunk-RQARJ6HB.js";
5
+ } from "./chunk-BY7V7QPU.js";
6
+ import "./chunk-JJ654NVJ.js";
7
+ import "./chunk-XYGGDGHR.js";
8
+ import "./chunk-K4OGG5KJ.js";
9
+ import "./chunk-MIQOBEOW.js";
10
10
  export {
11
11
  runManagedWritePreflight,
12
12
  runManagedWriteTransaction
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runSkillwikiMcpStdio
4
- } from "./chunk-6EEI6REK.js";
4
+ } from "./chunk-2X2TCLHR.js";
5
5
  import "./chunk-7I2TPIV5.js";
6
- import "./chunk-OJVIND5D.js";
7
- import "./chunk-5XQWYC5K.js";
8
- import "./chunk-UI4SOWI2.js";
9
- import "./chunk-SGZPIGGX.js";
10
- import "./chunk-RQARJ6HB.js";
6
+ import "./chunk-SNCFIJ5E.js";
7
+ import "./chunk-JJ654NVJ.js";
8
+ import "./chunk-XYGGDGHR.js";
9
+ import "./chunk-K4OGG5KJ.js";
10
+ import "./chunk-MIQOBEOW.js";
11
11
 
12
12
  // src/mcp-entry.ts
13
13
  runSkillwikiMcpStdio().catch((error) => {
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ runSourcesPending
4
+ } from "./chunk-GXT5WTSE.js";
5
+ import "./chunk-K4OGG5KJ.js";
6
+ import "./chunk-MIQOBEOW.js";
7
+ export {
8
+ runSourcesPending
9
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.10.33",
3
+ "version": "0.10.35",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "skillwiki": "dist/cli.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.10.33",
3
+ "version": "0.10.35",
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": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.10.33",
3
+ "version": "0.10.35",
4
4
  "description": "Project-aware Karpathy-style knowledge base for Codex with 19 prompt-only skills backed by the deterministic skillwiki CLI.",
5
5
  "author": {
6
6
  "name": "karlorz",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillwiki/skills",
3
- "version": "0.10.33",
3
+ "version": "0.10.35",
4
4
  "private": true,
5
5
  "files": [
6
6
  "wiki-*",
@@ -19,14 +19,21 @@ Use this section as procedural planning guidelines:
19
19
 
20
20
  ## Activation File (Cross-Harness Alternative to SessionStart)
21
21
 
22
- On harnesses where the SessionStart hook does not fire (Grok, Codex), SkillWiki activation context is delivered via a compact file installed at session start. Run `npm run install:activation` from the repo to install:
22
+ **Claude Code** and **Codex** activate SkillWiki via the plugin SessionStart hook (`hooks/session-start` / `hooks/session-start-codex`). Do **not** install activation markers into `~/.claude/CLAUDE.md` or `~/.codex/AGENTS.md` when the plugin is present that double-injects context and pollutes user-scope instruction files.
23
23
 
24
- - `~/.grok/skillwiki.md` and `~/.claude/skillwiki.md` - compact derivative (~31 lines) covering identity, CLI probe, skill map, PRD bridge, fail-closed boundary, and drift warning.
25
- - `~/.grok/AGENTS.md` and `~/.claude/CLAUDE.md` - prepended with a marker-wrapped reference: `Read @skillwiki.md for SkillWiki activation context.`
24
+ On harnesses where SessionStart `additionalContext` does **not** fire (**Grok**), SkillWiki activation context is delivered via a compact file. Run `npm run install:activation` from the repo to install:
26
25
 
27
- The activation file is self-contained literal text (ADR-3). On harnesses with `@file` import support (Claude Code, Cursor, Gemini), the reference is inlined automatically. On harnesses without it (Grok, Codex), the agent reads the file manually.
26
+ - `~/.grok/skillwiki.md` compact derivative covering identity, CLI probe, skill map, PRD bridge, fail-closed boundary, and drift warning.
27
+ - `~/.grok/AGENTS.md` — prepended with a marker-wrapped reference: `Read @skillwiki.md for SkillWiki activation context.`
28
28
 
29
- The template lives at `packages/skills/using-skillwiki/activation.md`. Run `npm run install:activation:check` to verify the installed copy matches the template.
29
+ Default install is **Grok only**. Re-running `install:activation` also **removes** any prior Claude/Codex activation marker and matching `skillwiki.md` (cleanup for the earlier dual-target installer). Opt-in fallbacks only when the plugin SessionStart path is unavailable:
30
+
31
+ - `npm run install:activation -- --with-claude` — `~/.claude/skillwiki.md` + `CLAUDE.md` marker
32
+ - `npm run install:activation -- --with-codex` — `~/.codex/skillwiki.md` + `AGENTS.md` marker
33
+
34
+ The activation file is self-contained literal text (ADR-3). On harnesses with `@file` import support, the reference is inlined automatically. On Grok (no `@file` support), the agent reads the file manually when it sees the instructional reference.
35
+
36
+ The template lives at `packages/skills/using-skillwiki/activation.md`. Run `npm run install:activation:check` to verify the Grok install matches the template and that Claude/Codex are not still carrying the activation block.
30
37
 
31
38
  ## When to Use These Skills
32
39
  Invoke a skillwiki skill when the user:
@@ -19,14 +19,21 @@ Use this section as procedural planning guidelines:
19
19
 
20
20
  ## Activation File (Cross-Harness Alternative to SessionStart)
21
21
 
22
- On harnesses where the SessionStart hook does not fire (Grok, Codex), SkillWiki activation context is delivered via a compact file installed at session start. Run `npm run install:activation` from the repo to install:
22
+ **Claude Code** and **Codex** activate SkillWiki via the plugin SessionStart hook (`hooks/session-start` / `hooks/session-start-codex`). Do **not** install activation markers into `~/.claude/CLAUDE.md` or `~/.codex/AGENTS.md` when the plugin is present that double-injects context and pollutes user-scope instruction files.
23
23
 
24
- - `~/.grok/skillwiki.md` and `~/.claude/skillwiki.md` - compact derivative (~31 lines) covering identity, CLI probe, skill map, PRD bridge, fail-closed boundary, and drift warning.
25
- - `~/.grok/AGENTS.md` and `~/.claude/CLAUDE.md` - prepended with a marker-wrapped reference: `Read @skillwiki.md for SkillWiki activation context.`
24
+ On harnesses where SessionStart `additionalContext` does **not** fire (**Grok**), SkillWiki activation context is delivered via a compact file. Run `npm run install:activation` from the repo to install:
26
25
 
27
- The activation file is self-contained literal text (ADR-3). On harnesses with `@file` import support (Claude Code, Cursor, Gemini), the reference is inlined automatically. On harnesses without it (Grok, Codex), the agent reads the file manually.
26
+ - `~/.grok/skillwiki.md` compact derivative covering identity, CLI probe, skill map, PRD bridge, fail-closed boundary, and drift warning.
27
+ - `~/.grok/AGENTS.md` — prepended with a marker-wrapped reference: `Read @skillwiki.md for SkillWiki activation context.`
28
28
 
29
- The template lives at `packages/skills/using-skillwiki/activation.md`. Run `npm run install:activation:check` to verify the installed copy matches the template.
29
+ Default install is **Grok only**. Re-running `install:activation` also **removes** any prior Claude/Codex activation marker and matching `skillwiki.md` (cleanup for the earlier dual-target installer). Opt-in fallbacks only when the plugin SessionStart path is unavailable:
30
+
31
+ - `npm run install:activation -- --with-claude` — `~/.claude/skillwiki.md` + `CLAUDE.md` marker
32
+ - `npm run install:activation -- --with-codex` — `~/.codex/skillwiki.md` + `AGENTS.md` marker
33
+
34
+ The activation file is self-contained literal text (ADR-3). On harnesses with `@file` import support, the reference is inlined automatically. On Grok (no `@file` support), the agent reads the file manually when it sees the instructional reference.
35
+
36
+ The template lives at `packages/skills/using-skillwiki/activation.md`. Run `npm run install:activation:check` to verify the Grok install matches the template and that Claude/Codex are not still carrying the activation block.
30
37
 
31
38
  ## When to Use These Skills
32
39
  Invoke a skillwiki skill when the user:
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- runSourcesPending
4
- } from "./chunk-23CR4YPL.js";
5
- import "./chunk-SGZPIGGX.js";
6
- import "./chunk-RQARJ6HB.js";
7
- export {
8
- runSourcesPending
9
- };