source dump of claude code
at main 79 lines 3.3 kB view raw
1import { feature } from 'bun:bundle' 2import { shouldAutoEnableClaudeInChrome } from 'src/utils/claudeInChrome/setup.js' 3import { registerBatchSkill } from './batch.js' 4import { registerClaudeInChromeSkill } from './claudeInChrome.js' 5import { registerDebugSkill } from './debug.js' 6import { registerKeybindingsSkill } from './keybindings.js' 7import { registerLoremIpsumSkill } from './loremIpsum.js' 8import { registerRememberSkill } from './remember.js' 9import { registerSimplifySkill } from './simplify.js' 10import { registerSkillifySkill } from './skillify.js' 11import { registerStuckSkill } from './stuck.js' 12import { registerUpdateConfigSkill } from './updateConfig.js' 13import { registerVerifySkill } from './verify.js' 14 15/** 16 * Initialize all bundled skills. 17 * Called at startup to register skills that ship with the CLI. 18 * 19 * To add a new bundled skill: 20 * 1. Create a new file in src/skills/bundled/ (e.g., myskill.ts) 21 * 2. Export a register function that calls registerBundledSkill() 22 * 3. Import and call that function here 23 */ 24export function initBundledSkills(): void { 25 registerUpdateConfigSkill() 26 registerKeybindingsSkill() 27 registerVerifySkill() 28 registerDebugSkill() 29 registerLoremIpsumSkill() 30 registerSkillifySkill() 31 registerRememberSkill() 32 registerSimplifySkill() 33 registerBatchSkill() 34 registerStuckSkill() 35 if (feature('KAIROS') || feature('KAIROS_DREAM')) { 36 /* eslint-disable @typescript-eslint/no-require-imports */ 37 const { registerDreamSkill } = require('./dream.js') 38 /* eslint-enable @typescript-eslint/no-require-imports */ 39 registerDreamSkill() 40 } 41 if (feature('REVIEW_ARTIFACT')) { 42 /* eslint-disable @typescript-eslint/no-require-imports */ 43 const { registerHunterSkill } = require('./hunter.js') 44 /* eslint-enable @typescript-eslint/no-require-imports */ 45 registerHunterSkill() 46 } 47 if (feature('AGENT_TRIGGERS')) { 48 /* eslint-disable @typescript-eslint/no-require-imports */ 49 const { registerLoopSkill } = require('./loop.js') 50 /* eslint-enable @typescript-eslint/no-require-imports */ 51 // /loop's isEnabled delegates to isKairosCronEnabled() — same lazy 52 // per-invocation pattern as the cron tools. Registered unconditionally; 53 // the skill's own isEnabled callback decides visibility. 54 registerLoopSkill() 55 } 56 if (feature('AGENT_TRIGGERS_REMOTE')) { 57 /* eslint-disable @typescript-eslint/no-require-imports */ 58 const { 59 registerScheduleRemoteAgentsSkill, 60 } = require('./scheduleRemoteAgents.js') 61 /* eslint-enable @typescript-eslint/no-require-imports */ 62 registerScheduleRemoteAgentsSkill() 63 } 64 if (feature('BUILDING_CLAUDE_APPS')) { 65 /* eslint-disable @typescript-eslint/no-require-imports */ 66 const { registerClaudeApiSkill } = require('./claudeApi.js') 67 /* eslint-enable @typescript-eslint/no-require-imports */ 68 registerClaudeApiSkill() 69 } 70 if (shouldAutoEnableClaudeInChrome()) { 71 registerClaudeInChromeSkill() 72 } 73 if (feature('RUN_SKILL_GENERATOR')) { 74 /* eslint-disable @typescript-eslint/no-require-imports */ 75 const { registerRunSkillGeneratorSkill } = require('./runSkillGenerator.js') 76 /* eslint-enable @typescript-eslint/no-require-imports */ 77 registerRunSkillGeneratorSkill() 78 } 79}