feat: log bundled skill names and add skills to onMeta commandNotes (FAR-36)

Adds a diagnostic log line after skill resolution so operators can see exactly
which skills were bundled into each run, making it straightforward to diagnose
skill availability issues. Also surfaces the skill list in the onMeta
commandNotes for run metadata visibility.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-24 20:41:01 +00:00
parent 55fd3021fb
commit 818aa0f1d6
2 changed files with 59 additions and 0 deletions
+3
View File
@@ -796,6 +796,8 @@ export async function execute(ctx: AdapterExecutionContext): Promise<AdapterExec
const skillEntries = await readPaperclipRuntimeSkillEntries(config, import.meta.dirname ?? __dirname);
const desiredSkillNames = new Set(resolvePaperclipDesiredSkillNames(config, skillEntries));
const desiredSkills = skillEntries.filter((e) => desiredSkillNames.has(e.key));
const skillSummary = desiredSkills.length > 0 ? desiredSkills.map((s) => s.runtimeName ?? s.key).join(", ") : "none";
await onLog("stdout", `[paperclip] Skills bundled (${desiredSkills.length}): ${skillSummary}\n`);
const instructionsFilePath = asString(config.instructionsFilePath, "").trim();
const instructionsFileDir = instructionsFilePath ? `${path.dirname(instructionsFilePath)}/` : "";
let instructionsContents: string | null = null;
@@ -892,6 +894,7 @@ export async function execute(ctx: AdapterExecutionContext): Promise<AdapterExec
`Image: ${job.spec?.template.spec?.containers[0]?.image ?? "unknown"}`,
`Namespace: ${namespace}`,
`Timeout: ${timeoutSec}s`,
`Skills (${desiredSkills.length}): ${skillSummary}`,
],
prompt,
...(promptMetrics ? { promptMetrics } : {}),