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/dist/cli.js +407 -206
- package/package.json +1 -1
- package/skills/.claude-plugin/plugin.json +1 -1
- package/skills/package.json +1 -1
- package/skills/wiki-add-task/SKILL.md +24 -11
- package/templates/capture.md +11 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillwiki",
|
|
3
|
-
"version": "0.
|
|
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": {
|
package/skills/package.json
CHANGED
|
@@ -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: `
|
|
33
|
-
- `project` —
|
|
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
|
-
|
|
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
|
-
-
|
|
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
|
-
|
|
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`
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
117
|
-
-
|
|
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.
|