feat: Add search skill with progressive disclosure and refactor existing skills

Enhancements:
- Added search skill with 10 HTTP API endpoints for memory queries
- Refactored version-bump and troubleshoot skills using progressive disclosure pattern
- Added operations/ subdirectories for detailed skill documentation
- Updated CLAUDE.md with skill-based search architecture
- Enhanced worker service with search API endpoints
- Updated CHANGELOG.md with v5.4.0 migration details

Technical changes:
- New plugin/skills/search/ directory with SKILL.md
- New .claude/skills/version-bump/operations/ (workflow.md, scenarios.md)
- New plugin/skills/troubleshoot/operations/ (common-issues.md, worker.md)
- Modified src/services/worker-service.ts (added search endpoints)
- Modified plugin/scripts/worker-service.cjs (rebuilt with search API)
- Reduced main skill files by 89% using progressive disclosure
- Token savings: ~2,250 tokens per session start

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Alex Newman
2025-11-09 18:41:53 -05:00
parent 0475a57fb1
commit ca4f046777
30 changed files with 4378 additions and 587 deletions
+12 -26
View File
@@ -26,13 +26,15 @@ const WORKER_SERVICE = {
source: 'src/services/worker-service.ts'
};
const SEARCH_SERVER = {
name: 'search-server',
source: 'src/servers/search-server.ts'
};
// DEPRECATED: MCP search server replaced by skill-based search
// Keeping source file for reference: src/servers/search-server.ts
// const SEARCH_SERVER = {
// name: 'search-server',
// source: 'src/servers/search-server.ts'
// };
async function buildHooks() {
console.log('🔨 Building claude-mem hooks, worker service, and search server...\n');
console.log('🔨 Building claude-mem hooks and worker service...\n');
try {
// Read version from package.json
@@ -124,31 +126,15 @@ async function buildHooks() {
console.log(`${hook.name} built (${sizeInKB} KB)`);
}
// Build search server
console.log(`\n🔧 Building search server...`);
await build({
entryPoints: [SEARCH_SERVER.source],
bundle: true,
format: 'esm',
platform: 'node',
outfile: `${hooksDir}/${SEARCH_SERVER.name}.mjs`,
minify: true,
packages: 'external',
banner: {
js: '#!/usr/bin/env node'
}
});
// DEPRECATED: MCP search server no longer built (replaced by skill-based search)
// Search functionality now provided via HTTP API + search skill
// Source file kept for reference: src/servers/search-server.ts
// Make search server executable
fs.chmodSync(`${hooksDir}/${SEARCH_SERVER.name}.mjs`, 0o755);
const searchStats = fs.statSync(`${hooksDir}/${SEARCH_SERVER.name}.mjs`);
console.log(`✓ search-server built (${(searchStats.size / 1024).toFixed(2)} KB)`);
console.log('\n✅ All hooks, worker service, and search server built successfully!');
console.log('\n✅ All hooks and worker service built successfully!');
console.log(` Output: ${hooksDir}/`);
console.log(` - Hooks: *-hook.js`);
console.log(` - Worker: worker-service.cjs`);
console.log(` - Search: search-server.mjs`);
console.log(` - Skills: plugin/skills/`);
console.log('\n💡 Note: Dependencies will be auto-installed on first hook execution');
} catch (error) {