From 2de8a7a22921ad93cc68505fb3576dead0753e99 Mon Sep 17 00:00:00 2001 From: teknium1 Date: Fri, 24 Apr 2026 15:09:18 -0700 Subject: [PATCH] fix(skills): drop raw_content to avoid doubling skill payload skill_view response went to the model verbatim; duplicating the SKILL.md body as raw_content on every tool call added token cost with no agent-facing benefit. Remove the field and update tests to assert on content only. The slash/preload caller (agent/skill_commands.py) already falls back to content when raw_content is absent, and it calls skill_view(preprocess=False) anyway, so content is already unrendered on that path. --- tests/tools/test_skills_tool.py | 3 +-- tools/skills_tool.py | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/tools/test_skills_tool.py b/tests/tools/test_skills_tool.py index 172e71209..79470710b 100644 --- a/tests/tools/test_skills_tool.py +++ b/tests/tools/test_skills_tool.py @@ -365,7 +365,7 @@ class TestSkillView: result = json.loads(raw) assert result["success"] is True assert f"Run {skill_dir}/scripts/do.sh in session-123" in result["content"] - assert "${HERMES_SKILL_DIR}" in result["raw_content"] + assert "${HERMES_SKILL_DIR}" not in result["content"] def test_skill_view_applies_inline_shell_when_enabled(self, tmp_path): with ( @@ -390,7 +390,6 @@ class TestSkillView: assert result["success"] is True assert "Current date: 2026-04-24" in result["content"] assert "!`printf 2026-04-24`" not in result["content"] - assert "!`printf 2026-04-24`" in result["raw_content"] def test_skill_view_leaves_inline_shell_literal_when_disabled(self, tmp_path): with ( diff --git a/tools/skills_tool.py b/tools/skills_tool.py index 447e70b33..89fe698a7 100644 --- a/tools/skills_tool.py +++ b/tools/skills_tool.py @@ -835,7 +835,6 @@ def _serve_plugin_skill( "success": True, "name": f"{namespace}:{bare}", "content": f"{banner}{rendered_content}" if banner else rendered_content, - "raw_content": content, "description": description, "linked_files": None, "readiness_status": SkillReadinessStatus.AVAILABLE.value, @@ -1335,7 +1334,6 @@ def skill_view( "tags": tags, "related_skills": related_skills, "content": rendered_content, - "raw_content": content, "path": rel_path, "skill_dir": str(skill_dir) if skill_dir else None, "linked_files": linked_files if linked_files else None,