From 5e654f3daade713a7f4c8852e19950940d86d25b Mon Sep 17 00:00:00 2001 From: cpacker Date: Sat, 7 Feb 2026 19:20:20 -0800 Subject: [PATCH] feat: wrap skill content in XML tags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Skill content is now wrapped in XML tags matching the skill name (e.g., ...) so the agent can detect already-loaded skills in the conversation turn. 👾 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta --- src/tools/impl/Skill.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/tools/impl/Skill.ts b/src/tools/impl/Skill.ts index 3b1e8e5..96911fe 100644 --- a/src/tools/impl/Skill.ts +++ b/src/tools/impl/Skill.ts @@ -155,8 +155,12 @@ export async function skill(args: SkillArgs): Promise { const fullContent = `${dirHeader}${processedContent}`; // Queue the skill content for harness-level injection as a user message part + // Wrap in XML tags so the agent can detect already-loaded skills if (toolCallId) { - queueSkillContent(toolCallId, fullContent); + queueSkillContent( + toolCallId, + `<${skillName}>\n${fullContent}\n`, + ); } return { message: `Launching skill: ${skillName}` };