Extract skill loading pipeline into single-responsibility modules: - skill-discovery.ts, skill-directory-loader.ts, skill-deduplication.ts - loaded-skill-from-path.ts, loaded-skill-template-extractor.ts - skill-template-resolver.ts, skill-definition-record.ts - git-master-template-injection.ts, allowed-tools-parser.ts - skill-mcp-config.ts, skill-resolution-options.ts - merger/ directory for skill merging logic
14 lines
337 B
TypeScript
14 lines
337 B
TypeScript
import type { LoadedSkill } from "./types"
|
|
|
|
export function deduplicateSkillsByName(skills: LoadedSkill[]): LoadedSkill[] {
|
|
const seen = new Set<string>()
|
|
const result: LoadedSkill[] = []
|
|
for (const skill of skills) {
|
|
if (!seen.has(skill.name)) {
|
|
seen.add(skill.name)
|
|
result.push(skill)
|
|
}
|
|
}
|
|
return result
|
|
}
|