skillwiki 0.4.0 → 0.4.2

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/cli.js CHANGED
@@ -2567,9 +2567,20 @@ async function runLint(input) {
2567
2567
  workItemDirs.set(dir, pages);
2568
2568
  }
2569
2569
  for (const [dir, pages] of workItemDirs) {
2570
- const hasSpec = pages.some((p) => p.relPath.endsWith("/spec.md"));
2570
+ const specPage = pages.find((p) => p.relPath.endsWith("/spec.md"));
2571
2571
  const hasPlan = pages.some((p) => p.relPath.endsWith("/plan.md"));
2572
- if (hasSpec && !hasPlan) {
2572
+ let specStatus;
2573
+ let specStarted;
2574
+ if (specPage) {
2575
+ const text = await readPage(specPage);
2576
+ const fm = extractFrontmatter(text);
2577
+ if (fm.ok) {
2578
+ specStatus = fm.data.status;
2579
+ specStarted = fm.data.started;
2580
+ }
2581
+ }
2582
+ const isClosed = specStatus === "completed" || specStatus === "abandoned";
2583
+ if (specPage && !hasPlan && !isClosed) {
2573
2584
  const lastSegment = dir.split("/").pop();
2574
2585
  const dateMatch = lastSegment.match(/^(\d{4}-\d{2}-\d{2})/);
2575
2586
  if (dateMatch) {
@@ -2579,13 +2590,8 @@ async function runLint(input) {
2579
2590
  }
2580
2591
  }
2581
2592
  }
2582
- for (const page of pages) {
2583
- if (!page.relPath.endsWith("/spec.md")) continue;
2584
- const text = await readPage(page);
2585
- const fm = extractFrontmatter(text);
2586
- if (fm.ok && fm.data.status === "in-progress" && !fm.data.started) {
2587
- workItemHealth.push(`${page.relPath}: in-progress without started date`);
2588
- }
2593
+ if (specPage && specStatus === "in-progress" && !specStarted) {
2594
+ workItemHealth.push(`${specPage.relPath}: in-progress without started date`);
2589
2595
  }
2590
2596
  }
2591
2597
  if (workItemHealth.length > 0) buckets.work_item_health = workItemHealth;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
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.4.0",
3
+ "version": "0.4.2",
4
4
  "skills": "./",
5
5
  "description": "Project-aware Karpathy-style knowledge base for Claude Code: 18 prompt-only skills (wiki-*, proj-*, using-skillwiki) backed by the deterministic `skillwiki` CLI.",
6
6
  "author": {
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "skillwiki",
3
+ "version": "0.4.2",
4
+ "description": "Project-aware Karpathy-style knowledge base for Codex with 18 prompt-only skills backed by the deterministic skillwiki CLI.",
5
+ "author": {
6
+ "name": "karlorz",
7
+ "url": "https://github.com/karlorz"
8
+ },
9
+ "homepage": "https://github.com/karlorz/llm-wiki",
10
+ "repository": "https://github.com/karlorz/llm-wiki",
11
+ "license": "MIT",
12
+ "keywords": [
13
+ "knowledge-base",
14
+ "wiki",
15
+ "codex",
16
+ "skills",
17
+ "obsidian",
18
+ "karpathy"
19
+ ],
20
+ "skills": "./",
21
+ "interface": {
22
+ "displayName": "SkillWiki",
23
+ "shortDescription": "Project-aware wiki skills for Codex agents",
24
+ "longDescription": "18 prompt-only skills (wiki-*, proj-*, using-skillwiki) for deterministic, project-aware knowledge workflows.",
25
+ "developerName": "karlorz",
26
+ "category": "Productivity",
27
+ "capabilities": [
28
+ "Read",
29
+ "Write"
30
+ ],
31
+ "websiteURL": "https://github.com/karlorz/llm-wiki",
32
+ "defaultPrompt": [
33
+ "Initialize a project wiki and schema for this repository.",
34
+ "Ingest this PRD and produce typed knowledge pages with provenance.",
35
+ "Run a vault lint pass and summarize the highest priority fixes."
36
+ ],
37
+ "brandColor": "#1f6feb"
38
+ }
39
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillwiki/skills",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "private": true,
5
5
  "files": [
6
6
  "wiki-*",
@@ -8,6 +8,7 @@
8
8
  "dev-loop-research",
9
9
  "using-skillwiki",
10
10
  ".claude-plugin",
11
+ ".codex-plugin",
11
12
  "hooks",
12
13
  "README.md"
13
14
  ]
@@ -64,6 +64,40 @@ Obsidian-compatible Mermaid rules:
64
64
  - Avoid `\n` in labels; use `<br/>` or single-line labels.
65
65
  - Keep node IDs ASCII and simple (`CMUX_DB`, `OC_GW`).
66
66
 
67
+ ## Ad-Hoc Capture Format
68
+
69
+ Ad-hoc captures are mutable working notes created during development
70
+ (via `/wiki-add-task` or filesystem drop). They live in `raw/transcripts/`.
71
+
72
+ ### Frontmatter
73
+
74
+ ```yaml
75
+ ---
76
+ source_url: # null for ad-hoc (locally originated)
77
+ created: YYYY-MM-DD # when capture was written
78
+ ingested: # filled by ingest pipeline (empty at creation)
79
+ kind: # idea | bug | task | note | other
80
+ project: # optional: "[[slug]]" for cross-reference
81
+ ---
82
+ ```
83
+
84
+ ### Fields
85
+
86
+ - `created`: Date the ad-hoc capture was created. Set by `/wiki-add-task` or filesystem.
87
+ - `ingested`: Date processed into typed knowledge. **Empty at creation.** Filled by `wiki-ingest`, `wiki-crystallize`.
88
+ - `kind`: Capture type. Affects dev-loop routing (`bug`/`task` → work items; `idea` → knowledge development).
89
+ - `project`: Optional project cross-reference. Enables `provenance_projects:` auto-linking.
90
+
91
+ ### vs Ingested Sources
92
+
93
+ | Aspect | Ad-Hoc Capture | Ingested Source |
94
+ |--------|----------------|-----------------|
95
+ | Location | `raw/transcripts/` | `raw/articles/`, `raw/papers/`, etc. |
96
+ | Mutability | Mutable (working notes) | Immutable after ingest |
97
+ | `sha256` | **Omitted** | Required |
98
+ | `created` | Required | Use `ingested` |
99
+ | Entry | `/wiki-add-task`, filesystem drop | `wiki-ingest`, `skillwiki fetch` |
100
+
67
101
  ## Obsidian Integration
68
102
 
69
103
  - **Attachment folder:** `raw/assets/` — binary assets (images, diagrams) live here.
@@ -0,0 +1,8 @@
1
+ ---
2
+ source_url:
3
+ created: {{date:YYYY-MM-DD}}
4
+ ingested: # filled by ingest pipeline
5
+ kind: # idea | bug | task | note | other
6
+ project: # optional: "[[slug]]"
7
+ ---
8
+