From 0876fbde193c8b0cfc954fdf5bdde0e2b4b51c7f Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 21 Feb 2026 18:55:54 +0000 Subject: [PATCH] refactor(test): reuse shared skill writer in skills e2e --- src/agents/skills.e2e-test-helpers.ts | 16 ++++++++++----- src/agents/skills.e2e.test.ts | 28 +-------------------------- 2 files changed, 12 insertions(+), 32 deletions(-) diff --git a/src/agents/skills.e2e-test-helpers.ts b/src/agents/skills.e2e-test-helpers.ts index 43f6fb703..033b4bda5 100644 --- a/src/agents/skills.e2e-test-helpers.ts +++ b/src/agents/skills.e2e-test-helpers.ts @@ -7,15 +7,21 @@ export async function writeSkill(params: { description: string; metadata?: string; body?: string; + frontmatterExtra?: string; }) { - const { dir, name, description, metadata, body } = params; + const { dir, name, description, metadata, body, frontmatterExtra } = params; await fs.mkdir(dir, { recursive: true }); + const frontmatter = [ + `name: ${name}`, + `description: ${description}`, + metadata ? `metadata: ${metadata}` : "", + frontmatterExtra ?? "", + ] + .filter((line) => line.trim().length > 0) + .join("\n"); await fs.writeFile( path.join(dir, "SKILL.md"), - `--- -name: ${name} -description: ${description}${metadata ? `\nmetadata: ${metadata}` : ""} ---- + `---\n${frontmatter}\n--- ${body ?? `# ${name}\n`} `, diff --git a/src/agents/skills.e2e.test.ts b/src/agents/skills.e2e.test.ts index b8491ef63..f8dfdd083 100644 --- a/src/agents/skills.e2e.test.ts +++ b/src/agents/skills.e2e.test.ts @@ -2,6 +2,7 @@ import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; import { afterEach, describe, expect, it } from "vitest"; +import { writeSkill } from "./skills.e2e-test-helpers.js"; import { applySkillEnvOverrides, applySkillEnvOverridesFromSnapshot, @@ -11,15 +12,6 @@ import { loadWorkspaceSkillEntries, } from "./skills.js"; -type SkillFixture = { - dir: string; - name: string; - description: string; - metadata?: string; - body?: string; - frontmatterExtra?: string; -}; - const tempDirs: string[] = []; const makeWorkspace = async () => { @@ -28,24 +20,6 @@ const makeWorkspace = async () => { return workspaceDir; }; -const writeSkill = async (params: SkillFixture) => { - const { dir, name, description, metadata, body, frontmatterExtra } = params; - await fs.mkdir(dir, { recursive: true }); - const frontmatter = [ - `name: ${name}`, - `description: ${description}`, - metadata ? `metadata: ${metadata}` : "", - frontmatterExtra ?? "", - ] - .filter((line) => line.trim().length > 0) - .join("\n"); - await fs.writeFile( - path.join(dir, "SKILL.md"), - `---\n${frontmatter}\n---\n\n${body ?? `# ${name}\n`}`, - "utf-8", - ); -}; - const withClearedEnv = ( keys: string[], run: (original: Record) => T,