fix(coding-agent): identify user-invoked skills and expose skill directory
User-invoked skills (typed /skill:, steered, follow-up, interrupted/ resumed via compaction, ACP, RPC) only appended a bare "Skill: <path>" line, so the model neither learned the user had invoked that specific skill nor where the skill directory was. Relative paths in skill bodies (scripts/, templates/) could not be resolved. Route all user-invoked paths through a self-identifying, baseDir-aware prompt template; keep hidden autoload skills on the minimal non-user format. Interactive skillCommands now carries the loaded Skill object instead of a bare path so baseDir flows through without reconstruction. The invocation kind defaults to "user" to keep buildSkillPromptMessage source-compatible. Op: correct Restores: spec:user-invoked-skill-prompt-self-identifies-and-exposes-skill-directory
This commit is contained in:
@@ -94,7 +94,7 @@ export async function tryRunRpcSkillCommand(
|
||||
const skillName = commandName.slice("skill:".length);
|
||||
const skill = session.skills.find(candidate => candidate.name === skillName);
|
||||
if (!skill) return false;
|
||||
const built = await buildSkillPromptMessage(skill, args);
|
||||
const built = await buildSkillPromptMessage(skill, args, "user");
|
||||
await session.promptCustomMessage({
|
||||
customType: SKILL_PROMPT_MESSAGE_TYPE,
|
||||
content: built.message,
|
||||
|
||||
Reference in New Issue
Block a user