Files
claude-code-haha/src/skills/bundled/index.ts
T
程序员阿江(Relakkes) 124912c71d feat: fix leaked source to be locally runnable
- Restore full Ink TUI startup chain (cli.tsx entry point)
- Create stub .md files for verify skill (Bun text loader hang fix)
- Create stub types for filePersistence and SDK modules
- Fix Enter key not working (modifiers-napi missing, added try-catch)
- Remove overly conservative LOCAL_RECOVERY early return
- Add README with setup instructions
- Add .env.example template
- Add bin/claude-haha entry script and preload.ts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 01:30:48 +08:00

59 lines
2.2 KiB
TypeScript

import { feature } from 'bun:bundle'
import { shouldAutoEnableClaudeInChrome } from 'src/utils/claudeInChrome/setup.js'
/**
* Initialize all bundled skills.
* Called at startup to register skills that ship with the CLI.
*
* To add a new bundled skill:
* 1. Create a new file in src/skills/bundled/ (e.g., myskill.ts)
* 2. Export a register function that calls registerBundledSkill()
* 3. Import and call that function here
*/
export function initBundledSkills(): void {
/* eslint-disable @typescript-eslint/no-require-imports */
require('./updateConfig.js').registerUpdateConfigSkill()
require('./keybindings.js').registerKeybindingsSkill()
require('./verify.js').registerVerifySkill()
require('./debug.js').registerDebugSkill()
require('./loremIpsum.js').registerLoremIpsumSkill()
require('./skillify.js').registerSkillifySkill()
require('./remember.js').registerRememberSkill()
require('./simplify.js').registerSimplifySkill()
require('./batch.js').registerBatchSkill()
require('./stuck.js').registerStuckSkill()
if (feature('KAIROS') || feature('KAIROS_DREAM')) {
const { registerDreamSkill } = require('./dream.js')
registerDreamSkill()
}
if (feature('REVIEW_ARTIFACT')) {
const { registerHunterSkill } = require('./hunter.js')
registerHunterSkill()
}
if (feature('AGENT_TRIGGERS')) {
const { registerLoopSkill } = require('./loop.js')
// /loop's isEnabled delegates to isKairosCronEnabled() — same lazy
// per-invocation pattern as the cron tools. Registered unconditionally;
// the skill's own isEnabled callback decides visibility.
registerLoopSkill()
}
if (feature('AGENT_TRIGGERS_REMOTE')) {
const {
registerScheduleRemoteAgentsSkill,
} = require('./scheduleRemoteAgents.js')
registerScheduleRemoteAgentsSkill()
}
if (feature('BUILDING_CLAUDE_APPS')) {
const { registerClaudeApiSkill } = require('./claudeApi.js')
registerClaudeApiSkill()
}
if (shouldAutoEnableClaudeInChrome()) {
require('./claudeInChrome.js').registerClaudeInChromeSkill()
}
if (feature('RUN_SKILL_GENERATOR')) {
const { registerRunSkillGeneratorSkill } = require('./runSkillGenerator.js')
registerRunSkillGeneratorSkill()
}
/* eslint-enable @typescript-eslint/no-require-imports */
}