From c7ed24ea516615349e97cffe558de524283daa14 Mon Sep 17 00:00:00 2001 From: Steve Beaulac Date: Sat, 27 Jun 2026 22:39:45 -0400 Subject: [PATCH 1/2] fix(pkm-curation): correct contradictory and harness-specific operating rules - Change 'Prefer reorganization over curation' to 'Prefer curation over reorganization' - Remove 'cat' mandate, replaced with tool-neutral 'read completely' guidance - Consolidate duplicate file-read requirement into single clear rule Fixes (#5) --- common/pkm/pkm-curation/SKILL.md | 7 +-- common/pkm/pkm-curation/pkm-curation.test.md | 48 ++++++++++++++++++++ 2 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 common/pkm/pkm-curation/pkm-curation.test.md 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 -- 2.55.0 From 74572c1b78ec783dd8133ed2c6aa4d5c789f0197 Mon Sep 17 00:00:00 2001 From: Steve Beaulac Date: Sat, 27 Jun 2026 23:12:25 -0400 Subject: [PATCH 2/2] fix: remove obsolete contradiction test for pkm-curation The skill no longer contains the contradictions this test was checking for (prefer-reorganization phrasing, hardcoded cat requirement). Test file served its purpose during the fix and is no longer needed. --- common/pkm/pkm-curation/pkm-curation.test.md | 48 -------------------- 1 file changed, 48 deletions(-) delete mode 100644 common/pkm/pkm-curation/pkm-curation.test.md diff --git a/common/pkm/pkm-curation/pkm-curation.test.md b/common/pkm/pkm-curation/pkm-curation.test.md deleted file mode 100644 index 9a77b78..0000000 --- a/common/pkm/pkm-curation/pkm-curation.test.md +++ /dev/null @@ -1,48 +0,0 @@ -# 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 -- 2.55.0