From 2442a0c281ef42ceea5ad3977dbeb87f7e9e32a9 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Sat, 23 May 2026 22:36:28 -0700 Subject: [PATCH] fix(background-review): allow pinned skills to be improved MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The post-turn background reviewer prompt listed pinned skills under 'Protected skills (DO NOT edit these)' alongside bundled and hub-installed skills, with the instruction to say 'Nothing to save.' if only protected skills needed updating. This meant the reviewer would refuse to patch a pinned skill even when the user explicitly wanted that skill improved. The underlying tool layer already gets this right: skill_manage's _pinned_guard only fires on delete; patch/edit/write_file go through on pinned skills. Curator archive/consolidation still skips pinned at the data layer (agent/curator.py), which is the correct place for that protection — pin's job is anti-deletion, not anti-improvement. Both _SKILL_REVIEW_PROMPT and _COMBINED_REVIEW_PROMPT now explicitly tell the reviewer that pinned skills can be patched, with rationale, so it doesn't bail out of an improvement just because the target is pinned. --- agent/background_review.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/agent/background_review.py b/agent/background_review.py index ba65b2b1bc8..35d3d5191a0 100644 --- a/agent/background_review.py +++ b/agent/background_review.py @@ -115,7 +115,10 @@ _SKILL_REVIEW_PROMPT = ( "Protected skills (DO NOT edit these):\n" " • Bundled skills (shipped with Hermes, e.g. 'hermes-agent').\n" " • Hub-installed skills (installed via 'hermes skills install').\n" - " • Pinned skills (marked via 'hermes curator pin').\n" + "Pinned skills (marked via 'hermes curator pin') CAN be improved — " + "pin only blocks deletion/archive/consolidation by the curator, not " + "content updates. Patch them when a pitfall or missing step turns up, " + "same as any other agent-created skill.\n" "If the only skills that need updating are protected, say\n" "'Nothing to save.' and stop.\n\n" "Do NOT capture (these become persistent self-imposed constraints " @@ -198,7 +201,10 @@ _COMBINED_REVIEW_PROMPT = ( "Protected skills (DO NOT edit these):\n" " • Bundled skills (shipped with Hermes, e.g. 'hermes-agent').\n" " • Hub-installed skills (installed via 'hermes skills install').\n" - " • Pinned skills (marked via 'hermes curator pin').\n" + "Pinned skills (marked via 'hermes curator pin') CAN be improved — " + "pin only blocks deletion/archive/consolidation by the curator, not " + "content updates. Patch them when a pitfall or missing step turns up, " + "same as any other agent-created skill.\n" "If the only skills that need updating are protected, say\n" "'Nothing to save.' and stop.\n\n" "Do NOT capture as skills (these become persistent self-imposed "