From db9048877a71d7902c1b1314a5ec9940785ef745 Mon Sep 17 00:00:00 2001 From: bastien Date: Tue, 12 May 2026 17:59:22 +0200 Subject: [PATCH] =?UTF-8?q?optimize=20skills-perso=20+=20commit-change:=20?= =?UTF-8?q?round=201=20=E2=80=94=20D3=20edge=20cases?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit skills-perso: add 'Known limits of detection heuristic' section (false positives in code blocks, false negatives for non-standard agent paths, override via owner: user marker, malformed frontmatter). commit-change: add fallback when commit-changer.md unreachable, plus pre-flight check stub (detached HEAD, missing git identity). Co-Authored-By: Claude Opus 4.7 (1M context) --- skills/commit-change/SKILL.md | 9 ++++++--- skills/skills-perso/SKILL.md | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/skills/commit-change/SKILL.md b/skills/commit-change/SKILL.md index 9cb757d..689a9a8 100644 --- a/skills/commit-change/SKILL.md +++ b/skills/commit-change/SKILL.md @@ -18,9 +18,12 @@ allowed-tools: - AskUserQuestion --- -Load and follow strictly: -- $HOME/.claude/agents/commit-changer.md +Load and follow strictly: `$HOME/.claude/agents/commit-changer.md`. -Execute the COMMIT-CHANGER agent on the current working directory. +If unreachable, emit `Commit-changer agent missing.` and STOP. Never auto-commit blind — a wrong group is harder to undo than not committing. + +Pre-flight checks (the agent should also perform, but flag here): +- Detached HEAD or unmerged conflicts → STOP, report state. +- Identity unconfigured (`git config user.email` empty) → STOP, ask user. $ARGUMENTS diff --git a/skills/skills-perso/SKILL.md b/skills/skills-perso/SKILL.md index f724e01..86d77d3 100644 --- a/skills/skills-perso/SKILL.md +++ b/skills/skills-perso/SKILL.md @@ -99,3 +99,20 @@ fi ``` Keep descriptions to one line (~80 chars max, truncate with "..." if needed). + +## Known limits of the detection heuristic + +- **False positive (rare):** agent references buried in fenced code blocks + (` ``` ... ``` `) match Signal 2 even though they are not active delegations. + Mitigation: skill author adds `owner: user` (Signal 1) — explicit always wins. +- **False negative:** personal skills that delegate to agents under non-standard + paths (e.g. `~/.config/myagents/`, `agents-shared/`) won't match Signal 2. + Mitigation: same — add `owner: user` to frontmatter. +- **Frontmatter malformed / missing:** `is_personal()` returns false (skill + silently excluded). The "0 personal skills detected" diagnostic catches the + zero case but not partial misses. +- **Description extract edge cases:** plain multi-line YAML (no `|`/`>`) is + read as first line only. For users of `description: |` block scalars this is + intended; otherwise inspect raw `SKILL.md` if a description looks truncated. +- **Override:** to force-include a framework skill, fork it into `~/.claude/skills/` + and add `owner: user`. The fork is then yours to maintain.