diff --git a/common/pkm/pkm-curation/SKILL.md b/common/pkm/pkm-curation/SKILL.md index 4612d6a..62b6200 100644 --- a/common/pkm/pkm-curation/SKILL.md +++ b/common/pkm/pkm-curation/SKILL.md @@ -61,7 +61,7 @@ fd --type f "Index" "path/to/obsidian-vault" ## Operating Rules -- Prefer reorganization over curation. +- Prefer curation over reorganization. - Do not move, rename, or delete many notes at once unless the user asks. - Do not invent links based only on shared words. - Preserve the user's voice unless the user asks for a rewrite. @@ -71,10 +71,7 @@ fd --type f "Index" "path/to/obsidian-vault" step-by-step instructions verbatim. Do not summarize or condense them. - For reference/source notes: add a brief overview at the top, but keep the original commands and details intact below. Completeness > brevity. -- Read every file completely before editing. Do not rely on head/tail, - heading-only scans, or partial reads to judge a file's content. -- For any file you plan to move, rename, or modify, run `cat` on the full file - first. Only then decide what stays, what moves, and what changes. +- Read every file completely before moving, renaming, or modifying it. Do not rely on head/tail, heading-only scans, or partial reads to judge a file's content. ## Note-Type Heuristics diff --git a/common/pkm/pkm-curation/pkm-curation.test.md b/common/pkm/pkm-curation/pkm-curation.test.md new file mode 100644 index 0000000..9a77b78 --- /dev/null +++ b/common/pkm/pkm-curation/pkm-curation.test.md @@ -0,0 +1,48 @@ +# PKM Curation Skill Tests + +These tests verify the operating rules in `pkm-curation/SKILL.md` are consistent and harness-agnostic. + +## Test: Operating rules prioritize curation over reorganization + +**Given:** `common/pkm/pkm-curation/SKILL.md` + +**When:** The skill's Operating Rules section is read + +**Then:** The first rule states "Prefer curation over reorganization." + +**And:** The skill does NOT contain the phrase "Prefer reorganization over curation." + +**Notes:** +- This ensures the skill purpose ("curate an Obsidian-style vault") aligns with its operating rules. + +--- + +## Test: No harness-specific tool mandates in operating rules + +**Given:** `common/pkm/pkm-curation/SKILL.md` + +**When:** The skill's Operating Rules section is read + +**Then:** The skill does NOT mandate `cat` as a required tool. + +**And:** Any file-read requirement uses tool-neutral language like: +- "Read every file completely before moving, renaming, or modifying it." +- Or harness-specific guidance like "Use the `read` tool." + +**Notes:** +- Avoids conflicts with different harness tool suites (pi, opencode, codex, etc.) + +--- + +## Test: File-read requirement is clear and checkable + +**Given:** `common/pkm/pkm-curation/SKILL.md` + +**When:** The skill's Operating Rules section is read + +**Then:** There exists a rule that explicitly requires reading files completely before modification. + +**And:** The rule is expressed in a way that can be verified programmatically or by inspection. + +**Notes:** +- The `read` tool or equivalent full-file read must be the expected behavior. \ No newline at end of file