refactor(agents): remove dead code and update to compact skill format

- Remove formatCustomSkillsBlock function (dead code)
- Remove unused truncateDescription import
- Update buildCategorySkillsDelegationGuide to compact format
- Update tests to match new compact output

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-02-19 17:41:29 +09:00
parent acc28a89c1
commit 0a58debd92
2 changed files with 59 additions and 130 deletions
+32 -62
View File
@@ -4,7 +4,6 @@ import { describe, it, expect } from "bun:test"
import {
buildCategorySkillsDelegationGuide,
buildUltraworkSection,
formatCustomSkillsBlock,
type AvailableSkill,
type AvailableCategory,
type AvailableAgent,
@@ -30,40 +29,39 @@ describe("buildCategorySkillsDelegationGuide", () => {
{ name: "our-design-system", description: "Internal design system components", location: "project" },
]
it("should separate builtin and custom skills into distinct sections", () => {
it("should list builtin and custom skills in compact format", () => {
//#given: mix of builtin and custom skills
const allSkills = [...builtinSkills, ...customUserSkills]
//#when: building the delegation guide
const result = buildCategorySkillsDelegationGuide(categories, allSkills)
//#then: should have separate sections
expect(result).toContain("Built-in Skills")
expect(result).toContain("User-Installed Skills")
expect(result).toContain("HIGH PRIORITY")
//#then: should use compact format with both sections
expect(result).toContain("**Built-in**: playwright, frontend-ui-ux")
expect(result).toContain("YOUR SKILLS (PRIORITY)")
expect(result).toContain("react-19 (user)")
expect(result).toContain("tailwind-4 (user)")
})
it("should list custom skills and keep CRITICAL warning", () => {
//#given: custom skills installed
it("should point to skill tool as source of truth", () => {
//#given: skills present
const allSkills = [...builtinSkills, ...customUserSkills]
//#when: building the delegation guide
const result = buildCategorySkillsDelegationGuide(categories, allSkills)
//#then: should mention custom skills by name and include warning
expect(result).toContain("`react-19`")
expect(result).toContain("`tailwind-4`")
expect(result).toContain("CRITICAL")
//#then: should reference the skill tool for full descriptions
expect(result).toContain("`skill` tool")
})
it("should show source column for custom skills (user vs project)", () => {
it("should show source tags for custom skills (user vs project)", () => {
//#given: both user and project custom skills
const allSkills = [...builtinSkills, ...customUserSkills, ...customProjectSkills]
//#when: building the delegation guide
const result = buildCategorySkillsDelegationGuide(categories, allSkills)
//#then: should show source for each custom skill
//#then: should show source tag for each custom skill
expect(result).toContain("(user)")
expect(result).toContain("(project)")
})
@@ -76,8 +74,8 @@ describe("buildCategorySkillsDelegationGuide", () => {
const result = buildCategorySkillsDelegationGuide(categories, allSkills)
//#then: should not contain custom skill emphasis
expect(result).not.toContain("User-Installed Skills")
expect(result).not.toContain("HIGH PRIORITY")
expect(result).not.toContain("YOUR SKILLS")
expect(result).toContain("**Built-in**:")
expect(result).toContain("Available Skills")
})
@@ -88,10 +86,9 @@ describe("buildCategorySkillsDelegationGuide", () => {
//#when: building the delegation guide
const result = buildCategorySkillsDelegationGuide(categories, allSkills)
//#then: should show custom skills with emphasis, no builtin section
expect(result).toContain("User-Installed Skills")
expect(result).toContain("HIGH PRIORITY")
expect(result).not.toContain("Built-in Skills")
//#then: should show custom skills with emphasis, no builtin line
expect(result).toContain("YOUR SKILLS (PRIORITY)")
expect(result).not.toContain("**Built-in**:")
})
it("should include priority note for custom skills in evaluation step", () => {
@@ -103,7 +100,7 @@ describe("buildCategorySkillsDelegationGuide", () => {
//#then: evaluation section should mention user-installed priority
expect(result).toContain("User-installed skills get PRIORITY")
expect(result).toContain("INCLUDE it rather than omit it")
expect(result).toContain("INCLUDE rather than omit")
})
it("should NOT include priority note when no custom skills", () => {
@@ -125,6 +122,20 @@ describe("buildCategorySkillsDelegationGuide", () => {
//#then: should return empty string
expect(result).toBe("")
})
it("should include category descriptions", () => {
//#given: categories with descriptions
const allSkills = [...builtinSkills]
//#when: building the delegation guide
const result = buildCategorySkillsDelegationGuide(categories, allSkills)
//#then: should list categories with their descriptions
expect(result).toContain("`visual-engineering`")
expect(result).toContain("Frontend, UI/UX")
expect(result).toContain("`quick`")
expect(result).toContain("Trivial tasks")
})
})
describe("buildUltraworkSection", () => {
@@ -161,45 +172,4 @@ describe("buildUltraworkSection", () => {
})
})
describe("formatCustomSkillsBlock", () => {
const customSkills: AvailableSkill[] = [
{ name: "react-19", description: "React 19 patterns", location: "user" },
{ name: "tailwind-4", description: "Tailwind v4", location: "project" },
]
const customRows = customSkills.map((s) => {
const source = s.location === "project" ? "project" : "user"
return `| \`${s.name}\` | ${s.description} | ${source} |`
})
it("should produce consistent output used by both builders", () => {
//#given: custom skills and rows
//#when: formatting with default header level
const result = formatCustomSkillsBlock(customRows, customSkills)
//#then: contains all expected elements
expect(result).toContain("User-Installed Skills (HIGH PRIORITY)")
expect(result).toContain("CRITICAL")
expect(result).toContain("`react-19`")
expect(result).toContain("`tailwind-4`")
expect(result).toContain("| user |")
expect(result).toContain("| project |")
})
it("should use #### header by default", () => {
//#given: default header level
const result = formatCustomSkillsBlock(customRows, customSkills)
//#then: uses markdown h4
expect(result).toContain("#### User-Installed Skills")
})
it("should use bold header when specified", () => {
//#given: bold header level (used by Atlas)
const result = formatCustomSkillsBlock(customRows, customSkills, "**")
//#then: uses bold instead of h4
expect(result).toContain("**User-Installed Skills (HIGH PRIORITY):**")
expect(result).not.toContain("#### User-Installed Skills")
})
})