skillwiki 0.2.6 → 0.4.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.2.6",
3
+ "version": "0.4.0",
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.2.6",
3
+ "version": "0.4.0",
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": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillwiki/skills",
3
- "version": "0.2.6",
3
+ "version": "0.4.0",
4
4
  "private": true,
5
5
  "files": [
6
6
  "wiki-*",
@@ -29,22 +29,23 @@ Run `skillwiki lang` at the start. Entry prose and `--human` summaries use the r
29
29
  0. **Resolve vault and language.** Run `skillwiki path` (fail if NO_VAULT_CONFIGURED) and `skillwiki lang`.
30
30
  1. **Parse arguments.** Extract from the user's message:
31
31
  - `text` — the idea/bug/task/note content (required)
32
- - `type` — one of: `idea`, `bug`, `task`, `note` (default: `idea`)
33
- - `project` — optional project slug to cross-reference (e.g., `llm-wiki`)
32
+ - `type` — one of: `idea`, `bug`, `task`, `note` (default: `task`)
33
+ - `project` — project slug for claim detection (e.g., `llm-wiki`). Required for `task` and `bug` types to appear in `skillwiki stale` unclaimed list.
34
34
  2. **Build filename.** Derive a slug from the first ~6 words of the text (lowercased, hyphens for spaces, non-alphanumeric stripped). The capture file is `raw/transcripts/YYYY-MM-DD-{type}-{slug}.md`. Each capture gets its own file — never append to an existing file.
35
35
  3. **Write frontmatter.** Create the file with ad-hoc capture frontmatter:
36
36
  ```yaml
37
37
  ---
38
38
  source_url:
39
- ingested: YYYY-MM-DD
39
+ created: YYYY-MM-DD
40
+ ingested: # filled by ingest pipeline
40
41
  kind: {type}
41
42
  project: "[[{slug}]]"
42
43
  ---
43
44
  ```
44
45
  - Set `kind` to the parsed type (`idea`, `bug`, `task`, `note`).
45
- - If a `project` slug was provided, set `project: "[[slug]]"`.
46
- - If no project, omit the `project` field entirely.
46
+ - Set `project: "[[slug]]"` **required for claim detection**. Without this field, the transcript is invisible to `skillwiki stale`. If no project context exists, ask the user which project this capture belongs to.
47
47
  - `source_url` is null (these are locally originated captures).
48
+ - `created` — today's date. `ingested` is left empty for the ingest pipeline.
48
49
  - No `sha256` — ad-hoc captures are mutable working notes, not immutable sources.
49
50
  4. **Write body.** Below the frontmatter, write:
50
51
  ```markdown
@@ -72,7 +73,8 @@ Each capture is a standalone file with ad-hoc capture frontmatter:
72
73
  ```yaml
73
74
  ---
74
75
  source_url:
75
- ingested: 2026-05-08
76
+ created: 2026-05-08
77
+ ingested:
76
78
  kind: idea
77
79
  project: "[[llm-wiki]]"
78
80
  ---
@@ -84,7 +86,7 @@ Fix the template mismatch between wiki-add-task and the vault template.
84
86
 
85
87
  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).
86
88
 
87
- 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`).
89
+ The `project` field is **required for claim detection**. Without it, `skillwiki stale` cannot surface the transcript as unclaimed work. The `kind` and `project` 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`).
88
90
 
89
91
  Ad-hoc captures omit `sha256` — they are mutable working notes, not immutable sources. The `sha256` field is reserved for ingested raw sources that require integrity verification.
90
92
 
@@ -106,14 +108,25 @@ Ad-hoc captures omit `sha256` — they are mutable working notes, not immutable
106
108
  When you're not in a Claude session, drop files directly into `raw/transcripts/`:
107
109
 
108
110
  1. Create a `.md` file in `raw/transcripts/` — name it descriptively (e.g., `2026-05-08-idea-fix-template.md`)
109
- 2. Use ad-hoc capture frontmatter: `source_url:`, `ingested:`, `kind:`, and optionally `project:`
111
+ 2. Use ad-hoc capture frontmatter: `source_url:`, `ingested:`, `kind:`, and `project:` (required for `task`/`bug`)
110
112
  3. Write your idea/bug/task/note below the frontmatter
111
113
 
112
- No special format required the dev-loop QUERY step will discover new files on the next cycle and surface them as claimable work. Mark the type with a heading like `## idea`, `## bug`, `## task`, or just write freeform.
114
+ **For claim detection**, `kind` must be `task` or `bug` AND `project: "[[slug]]"` must be set. Without both fields, the transcript won't appear in `skillwiki stale` unclaimed list.
115
+
116
+ No special format required — `skillwiki stale --days 0` will detect unclaimed task/bug transcripts on the next run. Mark the type with a heading like `## idea`, `## bug`, `## task`, or just write freeform.
113
117
 
114
118
  ## Dev-loop discovery
115
119
 
116
- When the dev-loop QUERY step runs, it should scan `raw/transcripts/` for files with `ingested:` date newer than the last cycle. New files are surfaced as claimable work items. The agent then decides whether to:
117
- - Create a work item via `proj-work` (for tasks and bugs)
120
+ `skillwiki stale` detects unclaimed transcripts automatically. A transcript is **unclaimed** when:
121
+ - `kind` is `task` or `bug`
122
+ - `project` field is set (e.g., `project: "[[llm-wiki]]"`)
123
+ - No work item matches it (via date-prefix or `source:` frontmatter reference in spec.md)
124
+
125
+ Run `skillwiki stale --days 0 --human` to see all unclaimed transcripts. The output includes an `unclaimed_transcripts` section listing each capture that needs a work item.
126
+
127
+ The agent then decides whether to:
128
+ - Create a work item via `proj-work` (for tasks and bugs) — set `source:` in spec.md to the transcript path for cross-date linking
118
129
  - Ingest as a knowledge page via `wiki-ingest` (for ideas with sources)
119
130
  - Leave in place (for notes that don't need action yet)
131
+
132
+ Transcripts without `kind` or `project` fields (e.g., `loop-cycle-*` session logs) are excluded from claim detection.
@@ -0,0 +1,11 @@
1
+ ---
2
+ source_url:
3
+ created: {{date:YYYY-MM-DD}}
4
+ ingested: # filled by ingest pipeline
5
+ kind: {{kind}}
6
+ project: "[[{{project}}]]"
7
+ ---
8
+
9
+ # {{kind}}: {{title}}
10
+
11
+ {{description}}