feat: add skill filter + group system prompt plumbing

This commit is contained in:
Peter Steinberger
2026-01-07 11:22:55 +01:00
parent 9bf6684366
commit 61f720b945
6 changed files with 81 additions and 6 deletions

View File

@@ -165,6 +165,33 @@ describe("buildWorkspaceSkillsPrompt", () => {
}
});
it("applies skill filters, including empty lists", async () => {
const workspaceDir = await fs.mkdtemp(path.join(os.tmpdir(), "clawdbot-"));
await writeSkill({
dir: path.join(workspaceDir, "skills", "alpha"),
name: "alpha",
description: "Alpha skill",
});
await writeSkill({
dir: path.join(workspaceDir, "skills", "beta"),
name: "beta",
description: "Beta skill",
});
const filteredPrompt = buildWorkspaceSkillsPrompt(workspaceDir, {
managedSkillsDir: path.join(workspaceDir, ".managed"),
skillFilter: ["alpha"],
});
expect(filteredPrompt).toContain("alpha");
expect(filteredPrompt).not.toContain("beta");
const emptyPrompt = buildWorkspaceSkillsPrompt(workspaceDir, {
managedSkillsDir: path.join(workspaceDir, ".managed"),
skillFilter: [],
});
expect(emptyPrompt).toBe("");
});
it("prefers workspace skills over managed skills", async () => {
const workspaceDir = await fs.mkdtemp(path.join(os.tmpdir(), "clawdbot-"));
const managedDir = path.join(workspaceDir, ".managed");