codymaster 4.8.0 โ†’ 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +55 -7
  2. package/README.md +142 -95
  3. package/dist/advisory-handoff.js +89 -0
  4. package/dist/advisory-report.js +105 -0
  5. package/dist/cli/command-registry.js +8 -0
  6. package/dist/cli/commands/bench.js +69 -0
  7. package/dist/cli/commands/brain.js +108 -0
  8. package/dist/cli/commands/engineering.js +108 -0
  9. package/dist/cli/commands/evolve.js +123 -0
  10. package/dist/cli/commands/mcp-serve.js +104 -0
  11. package/dist/cm-config.js +0 -18
  12. package/dist/codybench/judges/automated.js +31 -0
  13. package/dist/codybench/runners/claude-code.js +32 -0
  14. package/dist/codybench/suites/memory-retention.js +85 -0
  15. package/dist/codybench/suites/tdd-regression.js +35 -0
  16. package/dist/codybench/suites/token-efficiency.js +55 -0
  17. package/dist/codybench/types.js +2 -0
  18. package/dist/context-db.js +157 -0
  19. package/dist/continuity.js +2 -6
  20. package/dist/execution-analyzer.js +138 -0
  21. package/dist/indexer/skills-lib.js +533 -0
  22. package/dist/indexer/skills-map.js +1374 -0
  23. package/dist/indexer/skills.js +16 -0
  24. package/dist/learning-promoter.js +246 -0
  25. package/dist/mcp-context-server.js +230 -1
  26. package/dist/skill-chain.js +63 -1
  27. package/dist/skill-evolver.js +456 -0
  28. package/dist/skill-execution-cache.js +254 -0
  29. package/dist/smart-brain-router.js +184 -0
  30. package/dist/storage-backend.js +10 -8
  31. package/dist/token-budget.js +88 -0
  32. package/package.json +2 -3
  33. package/scripts/postinstall.js +10 -59
  34. package/skills/CLAUDE.md +0 -5
  35. package/skills/_shared/helpers.md +2 -8
  36. package/skills/cm-browse/SKILL.md +6 -0
  37. package/skills/cm-conductor-worktrees/SKILL.md +4 -0
  38. package/skills/cm-content-factory/landing/docs/content/changelog.md +4 -4
  39. package/skills/cm-content-factory/landing/docs/content/deployment.md +3 -3
  40. package/skills/cm-content-factory/landing/docs/content/execution-flow.md +8 -8
  41. package/skills/cm-content-factory/landing/docs/content/memory-system.md +38 -0
  42. package/skills/cm-content-factory/landing/docs/content/openspace.md +1 -1
  43. package/skills/cm-content-factory/landing/docs/content/use-cases.md +2 -2
  44. package/skills/cm-content-factory/landing/docs/content/v5-intro.md +3 -3
  45. package/skills/cm-content-factory/landing/docs/index.html +1 -1
  46. package/skills/cm-content-factory/landing/index.html +3 -3
  47. package/skills/cm-content-factory/landing/translations.js +37 -37
  48. package/skills/cm-continuity/SKILL.md +32 -33
  49. package/skills/cm-design-studio/SKILL.md +4 -0
  50. package/skills/cm-ecosystem-roadmap/SKILL.md +4 -0
  51. package/skills/cm-engineering-meta/SKILL.md +4 -0
  52. package/skills/cm-guardian-runtime/SKILL.md +5 -1
  53. package/skills/cm-mcp-engineering/SKILL.md +4 -0
  54. package/skills/cm-post-deploy-canary/SKILL.md +4 -0
  55. package/skills/cm-project-bootstrap/SKILL.md +11 -0
  56. package/skills/cm-qa-visual-cli/SKILL.md +4 -0
  57. package/skills/cm-retro-cli/SKILL.md +4 -0
  58. package/skills/cm-second-opinion-cli/SKILL.md +4 -0
  59. package/skills/cm-security-gate/SKILL.md +1 -0
  60. package/skills/cm-skill-chain/SKILL.md +25 -4
  61. package/skills/cm-skill-evolution/SKILL.md +83 -0
  62. package/skills/cm-skill-health/SKILL.md +83 -0
  63. package/skills/cm-skill-index/SKILL.md +11 -3
  64. package/skills/cm-skill-search/SKILL.md +49 -0
  65. package/skills/cm-skill-share/SKILL.md +58 -0
  66. package/skills/cm-sprint-bus/SKILL.md +4 -0
  67. package/skills/cm-start/SKILL.md +0 -10
  68. package/skills/cm-tdd/SKILL.md +2 -2
  69. package/skills/profiles/full.txt +4 -0
  70. package/install.sh +0 -1125
  71. package/scripts/viking-demo.ts +0 -105
  72. package/skills/cm-content-factory/landing/docs/content/openviking.md +0 -33
package/CHANGELOG.md CHANGED
@@ -4,6 +4,55 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  Categories: ๐Ÿš€ **Improvements** | ๐Ÿ› **Bug Fixes** | ๐Ÿ”’ **Security**
6
6
 
7
+ ## [Unreleased]
8
+
9
+ ### ๐Ÿš€ Improvements โ€” Zero-Token Skill Discovery
10
+ - Removed LLM token waste on skill search by porting deterministic tech-stack parsing natively into `src/indexer/skills.ts`.
11
+ - Introduced `cm index skills` CLI command to compile `.cm/project-skills.md` locally.
12
+ - Updated Fission framework (`cm-project-bootstrap`, `cm-skill-index`, `AGENTS.md`) to prioritize zero-token local indexes over massive community directory sweeps.
13
+
14
+ ### ๐Ÿš€ Improvements โ€” CodyMaster v6.0 "Self-Evolving Brain"
15
+
16
+ - **Smart Brain Router** โ€” `src/smart-brain-router.ts` adds a zero-cost keyword-based classifier that dynamically selects the optimal memory tiers for incoming tasks, reducing token waste by up to 60-80% for simple tasks.
17
+ - **Skill Execution Cache** โ€” `src/skill-execution-cache.ts` introduces an FTS5-backed warm cache for successful execution chains (effectiveness >= 0.70), skipping BM25 and LLM selection entirely for recurring task patterns.
18
+ - **Per-Tier Adaptive Token Budgeting** โ€” Enhanced `src/token-budget.ts` controls budgets natively per memory tier and visually outputs budget and savings reports.
19
+ - **Evolution Engine (Skill Evolver)** โ€” `src/skill-evolver.ts` brings true autonomy. CodyMaster now auto-repairs and auto-generates `SKILL.md` files locally with three modes: `FIX` (adds warnings to broken skills), `DERIVED` (clones highly successful fallback paths), and `CAPTURED` (creates new skills completely autonomously when a task completes without predefined skills). Ships with anti-loop protection and automatic `.md` backups.
20
+ - **Learning Promoter** โ€” `src/learning-promoter.ts` scans working memory for recurring failures or patterns (reinforced >= 3 times) and automatically promotes them into permanent `cm-learned-*` skills.
21
+ - **New CLI Tools** โ€” `cm smart plan/tiers`, `cm token report/savings`, and a full `cm evolve` lifecycle toolkit (`status`, `run`, `history`, `rollback`, `candidates`, `promote`).
22
+ - **Comprehensive Testing** โ€” Extensively covered the new architectures with 62 new testing scenarios (system currently sits at 302 passed tests natively).
23
+
24
+ ### ๐Ÿš€ Improvements โ€” OpenViking De-scope
25
+
26
+ - Removed OpenViking auto-installation from `install.sh` and `scripts/postinstall.js`; CodyMaster now keeps the normal install path focused on the supported Node-first stack.
27
+ - Updated runtime/config/docs guidance so `storage.backend: viking` is treated as a deprecated experimental path instead of a default-facing feature.
28
+ - Removed the remaining OpenViking runtime backend, demo script, and dedicated tests; legacy `storage.backend: viking` configs now warn and fall back to SQLite.
29
+
30
+ ### ๐Ÿš€ Improvements โ€” Advisory Loop Productization
31
+
32
+ - Added `cm advisory report`, `cm advisory metrics`, and `cm advisory handoff` so operators can inspect execution analyses, review per-skill quality, and generate structured recovery notes for `cm-skill-health` / `cm-skill-evolution`.
33
+ - `selectTopSkills()` now uses recorded `skill_metrics` as a quality-weighted boost for optional step ranking, while mandatory `always` steps remain unchanged.
34
+ - Added `src/advisory-handoff.ts` as the shared contract between analyzer output and self-healing workflows; the handoff can be emitted as Markdown or JSON.
35
+ - Exposed the advisory loop to MCP clients via `cm_advisory_report`, `cm_advisory_metrics`, and `cm_advisory_handoff` in `src/mcp-context-server.ts`.
36
+ - Added workflow and API docs for the advisory loop under `docs/workflows/advisory-loop.md` and `docs/api/api-reference.md`.
37
+
38
+ ## [5.1.0] - 2026-04-11
39
+
40
+ ### ๐Ÿš€ Improvements โ€” SkillsBench Intelligence + Ecosystem Reach
41
+
42
+ - **Intelligent Skill Selection (`selectTopSkills`)** โ€” `src/skill-chain.ts` now applies SkillsBench research findings at runtime. Each chain execution dynamically selects the top-3 most relevant skills for the current task (scored by BM25 token overlap + mandatory-step priority bonus). Result: 2-3 focused skills โ†’ **+18.6pp** improvement vs 4+ loaded statically (+5.9pp). Chains with >3 mandatory steps still execute fully with a performance advisory logged to stderr. New exported functions: `scoreStepRelevance()`, `selectTopSkills()`.
43
+
44
+ - **`cm mcp-serve` command** โ€” New `src/cli/commands/mcp-serve.ts` registers `cm mcp-serve [--project <path>] [--print-config]`. Spawns `dist/mcp-context-server.js` over stdio with SIGINT/SIGTERM forwarding. `--print-config` prints ready-to-paste JSON config for **Goose** and **Claude Desktop**, enabling one-command ecosystem integration. Goose extension config: `{ "type": "stdio", "cmd": "npx", "args": ["codymaster", "mcp-serve"] }`.
45
+
46
+ - **CodyBench v0.1** โ€” New `cm bench` command backed by `src/codybench/` scaffolding. Three eval suites with A/B comparison (with vs without CodyMaster): `tdd-regression` (bug catch rate), `token-efficiency` (savings vs documented 78% claim), `memory-retention` (SQLite recall hit rate). Runner: `claude-code`. Judge: automated (mean/min/max/stddev). Results written to `codybench/reports/`. Methodology mirrors Goose's transparent benchmark publication strategy.
47
+
48
+ - **NLI Memory Interface (`cm_memory_write` + `cm_natural`)** โ€” MCP server now exposes **15 tools** (up from 13). `cm_memory_write` persists a learning to SQLite with auto-detected category (arch_decision / bug_fix / user_pref / code_pattern / context), configurable scope (session/project/global), TTL, and importance. `cm_natural` is a natural language router: "remember thatโ€ฆ" โ†’ write, "forget aboutโ€ฆ" โ†’ decay, "what did we learn aboutโ€ฆ" โ†’ FTS5 query. Zero new npm dependencies; pattern matching via regex.
49
+
50
+ - **Goose integration guide** โ€” `docs/integrations/goose.md` โ€” step-by-step tutorial: install CodyMaster โ†’ `cm mcp-serve --print-config` โ†’ paste YAML config into Goose โ†’ test with `cm_natural`. Tool reference table included.
51
+
52
+ - **GitHub community templates** โ€” `.github/ISSUE_TEMPLATE/` now includes `good-first-skill.md` (with SkillsBench 12-point quality checklist), `benchmark-needed.md` (CodyBench eval request), `skill-improvement.md` (rubric-based improvement proposal).
53
+
54
+ - **Version bump** โ€” `package.json` version: `5.0.0` โ†’ `5.1.0`. CLI command count: 18 โ†’ 20 (`mcp-serve`, `bench`). MCP tool count: 13 โ†’ 15.
55
+
7
56
  ## [4.8.0] - 2026-04-10
8
57
 
9
58
  ### ๐Ÿš€ Improvements โ€” Documentation site & README accuracy
@@ -27,8 +76,8 @@ Categories: ๐Ÿš€ **Improvements** | ๐Ÿ› **Bug Fixes** | ๐Ÿ”’ **Security**
27
76
 
28
77
  ### ๐Ÿš€ Improvements โ€” OpenViking Backend (Real Implementation)
29
78
 
30
- - **`VikingBackend` โ€” real implementation** โ€” `src/backends/viking-backend.ts` implements all 11 `StorageBackend` methods by calling the [OpenViking REST API](https://github.com/volcengine/OpenViking) (default: `http://localhost:1933`). Replaces the placeholder stub from v4.5.5.
31
- - **`VikingHttpClient`** โ€” New `src/backends/viking-http-client.ts`: thin fetch-based HTTP client wrapping OpenViking's `/write`, `/read`, `/ls`, `/search`, `/abstract`, `/overview`, `/health`, `/mkdir` endpoints. Zero new npm dependencies (uses Node.js built-in `fetch`).
79
+ - `**VikingBackend` โ€” real implementation** โ€” `src/backends/viking-backend.ts` implements all 11 `StorageBackend` methods by calling the [OpenViking REST API](https://github.com/volcengine/OpenViking) (default: `http://localhost:1933`). Replaces the placeholder stub from v4.5.5.
80
+ - `**VikingHttpClient`** โ€” New `src/backends/viking-http-client.ts`: thin fetch-based HTTP client wrapping OpenViking's `/write`, `/read`, `/ls`, `/search`, `/abstract`, `/overview`, `/health`, `/mkdir` endpoints. Zero new npm dependencies (uses Node.js built-in `fetch`).
32
81
  - **URI layout in OpenViking workspace:** `learnings/<id>.json`, `decisions/<id>.json`, `indexes/<resource>/<level>.md`, `skill-outputs/<sessionId>/<id>.json`.
33
82
  - **Semantic vector search** โ€” `queryLearnings()` and `queryDecisions()` now call OpenViking's `/search` endpoint, which uses embedding-based vector similarity. Finds related memories even when query terms don't match exactly (e.g. "async timeout" matches "network latency spike").
34
83
  - **Auto L0/L1 via engine** โ€” `getL0Abstract()` and `getL1Overview()` call OpenViking's `/abstract` and `/overview` endpoints. No manual `cm continuity index` needed with Viking backend.
@@ -42,10 +91,10 @@ Categories: ๐Ÿš€ **Improvements** | ๐Ÿ› **Bug Fixes** | ๐Ÿ”’ **Security**
42
91
 
43
92
  ### ๐Ÿš€ Improvements โ€” StorageBackend Interface (OpenViking Swap Path)
44
93
 
45
- - **`StorageBackend` interface** โ€” New `src/storage-backend.ts` defines an 11-method abstraction over CodyMaster's persistent memory store. Swapping storage engines is now a config change, not a code rewrite.
46
- - **`SqliteBackend`** โ€” Thin wrapper around `context-db.ts`. Zero logic duplication; all existing callers untouched. New callers use `getBackend(projectPath)` for polymorphism.
47
- - **`VikingBackend` stub** โ€” All methods throw a descriptive `NotImplementedError` with step-by-step install instructions for `@openviking/client`. Explicit swap path documented.
48
- - **`getBackend(projectPath)` factory** โ€” Reads `.cm/config.yaml โ†’ storage.backend` (`sqlite` | `viking`). Defaults to `sqlite` when config is absent or malformed.
94
+ - `**StorageBackend` interface** โ€” New `src/storage-backend.ts` defines an 11-method abstraction over CodyMaster's persistent memory store. Swapping storage engines is now a config change, not a code rewrite.
95
+ - `**SqliteBackend`** โ€” Thin wrapper around `context-db.ts`. Zero logic duplication; all existing callers untouched. New callers use `getBackend(projectPath)` for polymorphism.
96
+ - `**VikingBackend` stub** โ€” All methods throw a descriptive `NotImplementedError` with step-by-step install instructions for `@openviking/client`. Explicit swap path documented.
97
+ - `**getBackend(projectPath)` factory** โ€” Reads `.cm/config.yaml โ†’ storage.backend` (`sqlite` | `viking`). Defaults to `sqlite` when config is absent or malformed.
49
98
  - **Config template updated** โ€” `cm continuity init` now writes a `storage:` section to `.cm/config.yaml` with the backend switch commented out.
50
99
  - **Zero breaking changes** โ€” `context-db.ts` and all existing callers unchanged. StorageBackend is additive.
51
100
  - **Test suite expanded** โ€” `test/storage-backend.test.ts` (23 tests): factory defaults, config-driven dispatch, SqliteBackend full roundtrip, VikingBackend error messages. Total: **178 passed ยท 16 skipped ยท 0 failed**.
@@ -107,7 +156,6 @@ Categories: ๐Ÿš€ **Improvements** | ๐Ÿ› **Bug Fixes** | ๐Ÿ”’ **Security**
107
156
  - **OpenSpec Protocol Upgrade** โ€” Enhanced integration with Fission-AI OpenSpec format (`openspec/changes/[initiative]/proposal.md`) for seamless context handoffs to downstream skills (`cm-planning` & `cm-execution`).
108
157
  - **Skill Evolution Engine** โ€” Successfully executed automated self-healing mechanisms (Mode: FIX) for `cm-tdd` and `cm-debugging` after health monitor alerts.
109
158
 
110
-
111
159
  ## [4.3.0] - 2026-03-27
112
160
 
113
161
  ### ๐Ÿš€ Improvements
package/README.md CHANGED
@@ -1,22 +1,10 @@
1
- <div align="center">
2
-
3
1
  [English](README.md) | [Tiแบฟng Viแป‡t](README-vi.md) | [ไธญๆ–‡](README-zh.md) | [ะ ัƒััะบะธะน](README-ru.md) | [ํ•œ๊ตญ์–ด](README-ko.md) | [เคนเคฟเคจเฅเคฆเฅ€](README-hi.md)
4
2
 
5
3
  # ๐Ÿง  CodyMaster
6
4
 
7
5
  ### Your AI Agent is smart. CodyMaster makes it *wise*.
8
6
 
9
- **68+ Skills ยท 18 Commands ยท 1 Plugin ยท 7+ Platforms ยท 6 Languages**
10
-
11
- <p align="center">
12
- <img alt="Version" src="https://img.shields.io/badge/version-4.8.0-blue.svg?cacheSeconds=2592000" />
13
- <img alt="Skills" src="https://img.shields.io/badge/skills-68+-success.svg" />
14
- <img alt="Platforms" src="https://img.shields.io/badge/platforms-7+-orange.svg" />
15
- <img alt="Open Source" src="https://img.shields.io/badge/license-ISC-purple.svg" />
16
- <a href="https://github.com/tody-agent/codymaster#readme" target="_blank">
17
- <img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" />
18
- </a>
19
- </p>
7
+ **60+ Skills ยท 20+ Commands ยท 1 Plugin ยท 8+ Platforms ยท 6 Languages ยท v6.0.0**
20
8
 
21
9
  ```
22
10
  ( . \ --- / . )
@@ -28,11 +16,11 @@
28
16
  Your smart coding companion.
29
17
  ```
30
18
 
31
- ![CodyMaster Kanban Dashboard](assets/images/dashboard.png)
19
+ CodyMaster Kanban Dashboard
32
20
 
33
- ### ๐ŸŒŸ If CodyMaster saves you time, give it a [Star](https://github.com/tody-agent/codymaster)! ๐ŸŒŸ
21
+ [![Discord](https://img.shields.io/badge/Discord-Join-7289da?logo=discord&logoColor=white)](https://discord.gg/codymaster)
34
22
 
35
- </div>
23
+ ### ๐ŸŒŸ If CodyMaster saves you time, give it a [Star](https://github.com/tody-agent/codymaster)! ๐ŸŒŸ
36
24
 
37
25
  ---
38
26
 
@@ -42,14 +30,16 @@ You installed an AI coding agent. It's *brilliant*. It writes code faster than a
42
30
 
43
31
  But then reality hits:
44
32
 
45
- | ๐Ÿ˜ค What Actually Happens | ๐Ÿ’€ The Real Cost |
46
- | ----------------------------------------------------------------------------------- | ---------------------------------------------- |
33
+
34
+ | ๐Ÿ˜ค What Actually Happens | ๐Ÿ’€ The Real Cost |
35
+ | ---------------------------------------------------------------------------- | ---------------------------------------------- |
47
36
  | AI designs**differently every single time** โ€” same brand, 3 different styles | Clients think you're 3 different companies |
48
- | AI fixes one bug,**silently breaks 5 other things** | You redo the same work 3-4 times |
49
- | AI**forgets everything** between sessions | You re-explain the same codebase every morning |
50
- | AI writes zero tests, zero docs | Your codebase becomes a house of cards |
37
+ | AI fixes one bug,**silently breaks 5 other things** | You redo the same work 3-4 times |
38
+ | AI**forgets everything** between sessions | You re-explain the same codebase every morning |
39
+ | AI writes zero tests, zero docs | Your codebase becomes a house of cards |
51
40
  | You install 15 different skills โ€”**none of them talk to each other** | Frankenstein toolkit with zero synergy |
52
- | Deploy to production =**deploy and pray** ๐Ÿ™ | Broken deploys at 2 AM, no rollback |
41
+ | Deploy to production =**deploy and pray** ๐Ÿ™ | Broken deploys at 2 AM, no rollback |
42
+
53
43
 
54
44
  > *"AI gave me 100 hands. But without discipline, those hands created chaos."*
55
45
  > โ€” **Tody Le**, Head of Product ยท 10+ years ยท Creator of CodyMaster
@@ -77,6 +67,8 @@ graph TD
77
67
  class B,C,D,E,F,G,H team;
78
68
  ```
79
69
 
70
+
71
+
80
72
  ---
81
73
 
82
74
  ## โšก What Makes CodyMaster Different
@@ -105,6 +97,8 @@ graph LR
105
97
  class A,B,C,D,E,F,G,H,I,J,K,L phase;
106
98
  ```
107
99
 
100
+
101
+
108
102
  ### ๐Ÿง  The Unified Brain: 5-Tier Memory + Smart Spine
109
103
 
110
104
  Your AI doesn't just execute โ€” it **understands and remembers** using a multi-scale, 5-Tier + Smart Spine architecture that persists across sessions and machines:
@@ -116,13 +110,16 @@ Your AI doesn't just execute โ€” it **understands and remembers** using a multi-
116
110
  5. **Structural Memory (`cm-codeintell`)** โ€” AST-based CodeGraph. Up to 95% token compression for full codebase context.
117
111
 
118
112
  ๐Ÿฆด **Smart Spine (v4.6+)** โ€” The nervous system connecting all 5 tiers:
113
+
119
114
  - **SQLite + FTS5** โ€” BM25-ranked keyword search replaces flat JSON scans.
120
- - **Progressive Loading (L0/L1/L2)** โ€” Context loaded at cheapest sufficient depth. 78% token savings.
115
+ - **Progressive Loading (L0/L1/L2)** & **Smart Brain Router** โ€” Context loaded at cheapest sufficient depth via a robust task classifier. Up to **80% token savings** on standard workflows.
116
+ - **Skill Execution Cache** โ€” Warm FTS5 cache tracks successful agent skill chains. Matches bypass token-heavy LLM decision loops for instant task resolution.
121
117
  - **cm:// URI Scheme** โ€” Skills request context by URI, not file paths.
122
118
  - **Token Budget** โ€” 200k window pre-allocated by category. No more silent overflow.
123
119
  - **Context Bus** โ€” Skills share outputs in real-time within a chain.
124
- - **MCP Server** โ€” 13 tools exposed to Claude Desktop and any MCP client (`src/mcp-context-server.ts`).
125
- - **OpenViking Backend natively integrated** โ€” Inspired by OpenViking's architecture, CodyMaster defaults to `openviking` auto-installation. It delivers true semantic vector graph memory, automatic session compression, and temporal context layering. (One config line change: `storage.backend: viking`).
120
+ - **MCP Server** โ€” 18 tools exposed to Claude Desktop, Goose, and any MCP client (`src/mcp-context-server.ts`). Includes memory tools (`cm_memory_write`, `cm_natural`) plus advisory JSON surfaces (`cm_advisory_report`, `cm_advisory_metrics`, `cm_advisory_handoff`).
121
+ - **Intelligent Skill Selection** โ€” `selectTopSkills()` dynamically picks the 2-3 most task-relevant skills per chain execution. Backed by SkillsBench research: 2-3 focused skills = **+18.6pp** vs 4+ loaded statically.
122
+ - **SQLite-first memory stack** โ€” CodyMaster ships a supported default path built on SQLite + FTS5, token-budgeted context loading, and optional `qmd` / code intelligence layers. The older OpenViking path has been removed from the runtime.
126
123
 
127
124
  โ˜๏ธ **The Cloud Brain (`cm-notebooklm`)**
128
125
  High-value knowledge and design patterns are synced to NotebookLM, providing a universal, cross-machine "Soul" for your project. Auto-generate podcasts and flashcards to onboard human developers alongside the AI.
@@ -153,6 +150,8 @@ flowchart LR
153
150
  style G fill:#4cd137,stroke:#44bd32,color:#fff
154
151
  ```
155
152
 
153
+
154
+
156
155
  > **Result:** Zero leaked secrets. Zero wrong-account deploys. Zero "worked on my machine" failures.
157
156
 
158
157
  ### ๐ŸŽจ Design System Builder โ€” Even From Old Products
@@ -161,7 +160,7 @@ Got a legacy product with no design system? **cm-design-system** scans your webs
161
160
 
162
161
  ### ๐Ÿ“ Zero Documentation? No Problem.
163
162
 
164
- Don't know what the old code does? **`cm-dockit`** reads your entire codebase and generates:
163
+ Don't know what the old code does? `**cm-dockit`** reads your entire codebase and generates:
165
164
 
166
165
  - ๐Ÿ“š Technical architecture docs
167
166
  - ๐Ÿ“– User guides & SOPs
@@ -173,47 +172,51 @@ Don't know what the old code does? **`cm-dockit`** reads your entire codebase an
173
172
 
174
173
  ### ๐Ÿ’ก Strategic Brainstorming (Design Thinking + 9 Windows)
175
174
 
176
- Before diving into code for complex requests, **`cm-brainstorm-idea`** evaluates your product using multi-dimensional analysis (Tech, Product, Design, Business). It generates 2-3 qualified options using the 9 Windows (TRIZ) framework and provides a visual UI Preview via **Pencil.dev** or **Google Stitch** to validate the direction before detailed planning.
175
+ Before diving into code for complex requests, `**cm-brainstorm-idea`** evaluates your product using multi-dimensional analysis (Tech, Product, Design, Business). It generates 2-3 qualified options using the 9 Windows (TRIZ) framework and provides a visual UI Preview via **Pencil.dev** or **Google Stitch** to validate the direction before detailed planning.
177
176
 
178
177
  ๐Ÿ“– [TRIZ-parallel workflow & UI preview handoff โ†’](docs/architecture/triz-parallel-engine.md)
179
178
 
180
-
181
179
  ### ๐Ÿญ AI Content Factory v2.0 & Visual Dashboard
182
180
 
183
- Need to scale content? **`cm-content-factory`** is a self-learning, multi-agent content engine. It automatically researches, writes, audits (SEO & Persuasion), and deploys high-converting articles with the Content Mastery framework (StoryBrand + Cialdini) to guarantee conversion.
181
+ Need to scale content? `**cm-content-factory`** is a self-learning, multi-agent content engine. It automatically researches, writes, audits (SEO & Persuasion), and deploys high-converting articles with the Content Mastery framework (StoryBrand + Cialdini) to guarantee conversion.
184
182
 
185
183
  Track it all on the **Visual Dashboard** (`cm-dashboard`): No more guessing. Track every task, every agent, every deployment on a real-time Kanban board. Pipeline progress, token tracker, event log โ€” all on one screen.
186
184
 
187
- ### ๐Ÿงฌ Self-Healing AI (Skills That Fix Themselves)
185
+ ### ๐Ÿงฌ Self-Healing Skills (Recovery, Search, and Evolution)
188
186
 
189
- CodyMaster doesn't just run skills โ€” it **watches them, scores them, and heals them automatically.**
187
+ CodyMaster ships a dedicated self-healing skill family for keeping the skill library usable as the repo evolves.
190
188
 
191
- - **`cm-skill-health`** monitors every invocation: success rate, token usage, error patterns.
192
- - **`cm-skill-evolution`** auto-patches degraded skills (Mode: FIX) when health scores drop below threshold.
193
- - **`cm-skill-chain` Auto-Dispatch** โ€” Inspired by OpenSpace automation orchestrators, sequence dispatching is now 100% automated with intelligent task detection, zero-touch handoffs, and multi-agent coordination.
194
- - **`cm-skill-search`** uses BM25 ranking to find the right skill for any task.
195
- - **`cm-skill-share`** exports & imports skills across teams and machines.
189
+ - `**cm-skill-health`** audits a skill's real health from shipped signals: docs drift, broken references, retro notes, validation, and gates.
190
+ - `**cm-skill-evolution`** (Skill Evolver) completes the autonomy loop with three modes: `FIX`, `DERIVED`, and `CAPTURED`. It modifies, clones, and generates new skills automatically based on analyzer recommendations, paired with anti-loop protection and `.md` backups.
191
+ - `**cm-learning-promoter`** searches your database for recurring task struggles and automatically graduates them into permanently coded skills (`cm-learned-*`) when appropriately reinforced.
192
+ - `**cm advisory report` / `metrics` / `handoff`** turn execution telemetry into a reviewable operator loop before any skill repair begins.
193
+ - Integrated Evolution commands (`cm evolve run/status/promote`) give immediate insight into all mutations.
194
+ - `**cm-skill-chain` Auto-Dispatch** โ€” sequence dispatching remains automated with task detection and multi-step handoffs.
195
+ - `**cm-skill-search`** finds the best skill through `cm suggest`, skill indexes, and repo search.
196
+ - `**cm-skill-share`** packages a skill safely across repos and machines without dropping companion files.
196
197
 
197
- > **Think of it like an immune system for your AI toolkit.** Skills that break get healed. Skills that work well get reinforced. Dead skills get archived.
198
+ > **Think of it like an immune system for your AI toolkit.** First inspect the telemetry, then diagnose the skill, then repair it deliberately, then capture the learning.
198
199
 
199
200
  ### ๐Ÿš€ Growth Hacking Engine
200
201
 
201
- Need popups, booking flows, or lead capture? **`cm-growth-hacking`** generates complete conversion systems: Bottom Sheet + Calendar CTA + Tracking. Auto-detects industry, selects the right pattern, wires up **`cm-booking-calendar`** for appointments and **`cm-ads-tracker`** for pixel tracking. Zero dependencies.
202
+ Need popups, booking flows, or lead capture? `**cm-growth-hacking`** generates complete conversion systems: Bottom Sheet + Calendar CTA + Tracking. Auto-detects industry, selects the right pattern, wires up `**cm-booking-calendar`** for appointments and `**cm-ads-tracker**` for pixel tracking. Zero dependencies.
202
203
 
203
204
  ---
204
205
 
205
206
  ## ๐Ÿ†š Scattered Skills vs CodyMaster
206
207
 
207
- | | ๐Ÿ˜ต 15 Random Skills | ๐Ÿง  CodyMaster |
208
- | -------------------------- | ------------------------------------------- | --------------------------------------------------------------------- |
209
- | **Integration** | Each skill is standalone, no shared context | 68+ skills that chain, share memory, and communicate |
210
- | **Lifecycle** | Covers coding only | Covers Idea โ†’ Design โ†’ Code โ†’ Test โ†’ Deploy โ†’ Docs โ†’ Learn |
211
- | **Memory** | Forgets everything between sessions | 5-tier Unified Brain: Sensory โ†’ Working โ†’ Long-term โ†’ Semantic โ†’ Structural + Cloud Brain. Optional **OpenViking** backend for vector search + auto memory compression. |
212
- | **Safety** | YOLO deploys | 4-layer protection: TDD โ†’ Security โ†’ Isolation โ†’ Multi-gate deploy |
213
- | **Design** | Random UI every time | Extracts & enforces design system + visual preview |
214
- | **Documentation** | "Maybe write a README later" | Auto-generates complete docs, SOPs, API refs from code |
215
- | **Self-improvement** | Static โ€” what you install is what you get | Self-healing: monitors health โ†’ auto-patches โ†’ reinforces winners |
216
- | **Maintenance** | Update 15 repos separately | One `npm i -g codymaster` updates everything |
208
+
209
+ | | ๐Ÿ˜ต 15 Random Skills | ๐Ÿง  CodyMaster |
210
+ | -------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
211
+ | **Integration** | Each skill is standalone, no shared context | 68+ skills that chain, share memory, and communicate |
212
+ | **Lifecycle** | Covers coding only | Covers Idea โ†’ Design โ†’ Code โ†’ Test โ†’ Deploy โ†’ Docs โ†’ Learn |
213
+ | **Memory** | Forgets everything between sessions | 5-tier Unified Brain: Sensory โ†’ Working โ†’ Long-term โ†’ Semantic โ†’ Structural + Cloud Brain, powered by SQLite + FTS5 by default with optional local semantic layers like `qmd`. |
214
+ | **Safety** | YOLO deploys | 4-layer protection: TDD โ†’ Security โ†’ Isolation โ†’ Multi-gate deploy |
215
+ | **Design** | Random UI every time | Extracts & enforces design system + visual preview |
216
+ | **Documentation** | "Maybe write a README later" | Auto-generates complete docs, SOPs, API refs from code |
217
+ | **Self-improvement** | Static โ€” what you install is what you get | Advisory-driven self-healing: inspect telemetry โ†’ diagnose โ†’ repair with FIX / DERIVED / CAPTURED |
218
+ | **Maintenance** | Update 15 repos separately | One `npm i -g codymaster` updates everything |
219
+
217
220
 
218
221
  ---
219
222
 
@@ -242,47 +245,56 @@ If you prefer:
242
245
 
243
246
  ## ๐Ÿš€ 1-Minute Install
244
247
 
245
- ### 1. Install AI Skills (All Platforms)
248
+ ### โœจ NEW: Claude Desktop Plugin (Zero Terminal Required)
249
+
250
+ The easiest way to install CodyMaster โ€” no npm, no terminal, no setup.
246
251
 
247
- One command installs all 68+ skills to your environment. Supports Claude Code, Gemini CLI, Cursor, Aider, Windsurf, Cline, OpenCode, and more:
252
+ **Claude Desktop / Claude Cowork:**
253
+
254
+ Run the auto-installer to inject the MCP Servers into your Claude Desktop config automatically:
248
255
 
249
256
  ```bash
250
- bash <(curl -fsSL https://raw.githubusercontent.com/tody-agent/codymaster/main/install.sh) --all
257
+ npx codymaster mcp-serve --install-claude
251
258
  ```
252
259
 
253
- #### After `install.sh --all` (verify)
254
-
255
- - **Restart** Claude Code, Cursor, or Gemini / Antigravity so they reload config and rules from disk.
256
- - **Cursor:** rules go to **`~/.cursor/rules`** (always under your home folder, not wherever you ran the script). In Agent chat, run **`/add-plugin cody-master`**. To install rules **only inside one git repo**, run from that repo: `bash install.sh --cursor --cursor-project`.
257
- - **Gemini / Antigravity:** skills live in `~/.gemini/antigravity/skills`. The installer **creates or appends** `~/.gemini/GEMINI.md` with `@~/.gemini/antigravity/skills/cm-skill-index/SKILL.md` when that hint is missing.
258
- - **Claude Code:** if commands like `/cm:demo` do not appear, run `claude plugin marketplace add tody-agent/codymaster` then `claude plugin install cm@codymaster --scope user` (or `--scope project`).
259
- - **Non-interactive:** `--all` skips the onboarding menu. For a single platform, add **`--yes`** (e.g. `bash install.sh --gemini --yes`).
260
+ All 68+ skills will be wired up instantly via MCP stdio. Remember to restart Claude Desktop to load the new config.
260
261
 
261
- #### Google Antigravity / Gemini CLI / Windsurf (token budget)
262
+ ---
262
263
 
263
- Antigravity and some Windsurf builds count **skills + MCP** against a customization token budget. Installing every skill globally can trigger truncation or unstable agent runs (especially if an MCP server errors and retries).
264
+ ### 2. Install AI Skills (All Other Platforms)
264
265
 
265
- - **Recommended:** install a **small global profile**, add the rest per project.
266
+ CodyMaster uses **Native Plugin Extensions** for zero-friction installation. No bash scripts, no manual folder copying. Select your platform below:
266
267
 
268
+ **Claude Code CLI:**
267
269
  ```bash
268
- # Core only โ†’ ~/.gemini/antigravity/skills (merge more profiles later with the same command)
269
- bash <(curl -fsSL https://raw.githubusercontent.com/tody-agent/codymaster/main/install.sh) --gemini --profile core
270
+ claude plugin marketplace add tody-agent/codymaster
271
+ claude plugin install cm@codymaster --scope user
272
+ ```
270
273
 
271
- # Optional packs (re-run to add folders alongside core)
272
- bash install.sh --gemini --profile growth
273
- bash install.sh --gemini --profile design
274
- bash install.sh --gemini --profile knowledge
274
+ **Cursor (in Agent Chat):**
275
+ ```text
276
+ /add-plugin cody-master
275
277
  ```
276
278
 
277
- - **Paths:** Antigravity / Gemini CLI skills โ†’ `~/.gemini/antigravity/skills`. This repoโ€™s installer for **Windsurf** writes to **project** `.windsurf/rules` when you run `install.sh --windsurf` from a repo root. Some Windsurf/Codeium setups also use a **global** skills directory (e.g. under Codeium); if you copy skills there manually, use the same `--profile` flags to avoid duplicating hundreds of rules.
278
- - **MCP:** Disable MCP servers you are not using in the IDE settings. Flaky or rate-limited MCPs can cause โ€œMCP Errorโ€ loops until the agent terminates.
279
- - **Progressive disclosure:** Add `@~/.gemini/antigravity/skills/cm-skill-index/SKILL.md` to `GEMINI.md` so the model loads the index before pulling full skills.
279
+ **Gemini CLI / Google Antigravity:**
280
+ ```bash
281
+ gemini extensions install https://github.com/tody-agent/codymaster
282
+ ```
283
+ *(Progressive disclosure: Add `@~/.gemini/antigravity/skills/cm-skill-index/SKILL.md` to your `GEMINI.md` to save tokens)*
280
284
 
281
- Profiles are defined under [`skills/profiles/`](skills/profiles/README.md).
285
+ **OpenCode / OpenClaw:**
286
+ Tell your agent:
287
+ ```text
288
+ Fetch and follow instructions from https://raw.githubusercontent.com/tody-agent/codymaster/main/.opencode/INSTALL.md
289
+ ```
282
290
 
283
- *For Cursor IDE users, you can also just type `/add-plugin cody-master` in your agent chat.*
291
+ **Codex:**
292
+ Tell your agent:
293
+ ```text
294
+ Fetch and follow instructions from https://raw.githubusercontent.com/tody-agent/codymaster/main/.codex/INSTALL.md
295
+ ```
284
296
 
285
- ### 2. Install Mission Control Dashboard (Optional but Recommended)
297
+ ### 3. Install Mission Control Dashboard (Optional but Recommended)
286
298
 
287
299
  Visualize your progress, manage tasks, and track your 10x coding streak with Cody the Hamster ๐Ÿน.
288
300
 
@@ -319,22 +331,63 @@ The CLI will greet you and keep you organized on your long coding sessions!
319
331
  โ”‚ โ—‹ ๐Ÿงฉ Browse Skills
320
332
  ```
321
333
 
322
- </details>
334
+ ---
335
+
336
+ ## Use with Goose
337
+
338
+ CodyMaster works as a [Goose](https://block.github.io/goose/) MCP extension, giving Goose persistent memory, skill orchestration, and token management.
339
+
340
+ **3-step setup:**
341
+
342
+ ```bash
343
+ # 1. Install CodyMaster
344
+ npm install -g codymaster
345
+
346
+ # 2. Get your Goose config snippet
347
+ cm mcp-serve --print-config
348
+
349
+ # 3. Paste the output into your Goose config (~/.config/goose/config.yaml)
350
+ ```
351
+
352
+ See [full Goose integration guide](docs/integrations/goose.md) for details.
323
353
 
324
354
  ---
325
355
 
326
- ## ๐Ÿงฐ The 68+ Skill Arsenal
356
+ ## ๐ŸŽฏ Real-World Use Cases
327
357
 
328
- | Domain | Skills |
329
- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
330
- | ๐Ÿ”ง **Engineering** | `cm-tdd` `cm-debugging` `cm-quality-gate` `cm-test-gate` `cm-code-review` `cm-clean-code` |
331
- | โš™๏ธ **Operations** | `cm-safe-deploy` `cm-identity-guard` `cm-secret-shield` `cm-security-gate` `cm-git-worktrees` `cm-terminal` `cm-safe-i18n` |
358
+ > **Tip:** Start any session with `/cm:start <your goal>` and CodyMaster will pick the right skills automatically.
359
+
360
+
361
+ | Scenario | Skills Used | What You Say |
362
+ | ------------------------------------------ | -------------------------------------------------------------------------------- | ------------------------------------ |
363
+ | ๐Ÿ› **Fix a bug without breaking anything** | `cm-debugging` โ†’ `cm-tdd` โ†’ `cm-quality-gate` | *"Debug this crash"* |
364
+ | ๐Ÿš€ **Ship a feature safely** | `cm-planning` โ†’ `cm-tdd` โ†’ `cm-code-review` โ†’ `cm-safe-deploy` | *"Build the login flow"* |
365
+ | ๐ŸŽจ **Build a new UI from scratch** | `cm-ux-master` โ†’ `cm-design-system` โ†’ `cm-ui-preview` | *"Design the dashboard page"* |
366
+ | ๐Ÿ”’ **Deploy to production** | `cm-secret-shield` โ†’ `cm-security-gate` โ†’ `cm-identity-guard` โ†’ `cm-safe-deploy` | *"Deploy to prod"* |
367
+ | ๐Ÿ“ **Understand a legacy codebase** | `cm-codeintell` โ†’ `cm-dockit` | *"What does this code do?"* |
368
+ | ๐Ÿ“ˆ **Launch a landing page** | `cm-brainstorm-idea` โ†’ `cm-cro-methodology` โ†’ `cm-content-factory` | *"Build a landing page for my SaaS"* |
369
+ | ๐ŸŒ **Add multi-language support** | `cm-safe-i18n` | *"Add Vietnamese and Japanese"* |
370
+ | ๐Ÿ”„ **Start a new project** | `cm-project-bootstrap` โ†’ `cm-planning` | *"Bootstrap a Next.js SaaS"* |
371
+ | ๐Ÿง  **Resume after a break** | `cm-continuity` โ†’ `cm-status` | *"What was I working on?"* |
372
+ | ๐Ÿญ **Scale SEO content** | `cm-content-factory` โ†’ `cm-auto-publisher` โ†’ `cm-ads-tracker` | *"Create 20 articles for my blog"* |
373
+
374
+
375
+ ---
376
+
377
+ ## ๐Ÿงฐ The 60+ Skill Arsenal
378
+
379
+
380
+ | Domain | Skills |
381
+ | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
382
+ | ๐Ÿ”ง **Engineering** | `cm-tdd` `cm-debugging` `cm-quality-gate` `cm-test-gate` `cm-code-review` `cm-clean-code` |
383
+ | โš™๏ธ **Operations** | `cm-safe-deploy` `cm-identity-guard` `cm-secret-shield` `cm-security-gate` `cm-git-worktrees` `cm-terminal` `cm-safe-i18n` |
332
384
  | ๐ŸŽจ **Product & UX** | `cm-planning` `cm-design-system` `cm-ux-master` `cm-ui-preview` `cm-project-bootstrap` `cm-jtbd` `cm-brainstorm-idea` `cm-dockit` `cm-readit` |
333
- | ๐Ÿ“ˆ **Growth & CRO** | `cm-content-factory` `cm-auto-publisher` `cm-ads-tracker` `cm-cro-methodology` `cm-growth-hacking` `cm-booking-calendar` `cm-google-form` |
334
- | ๐Ÿข **Enterprise** | `cm-reactor` `cm-notebooklm` |
335
- | ๐Ÿงฌ **Self-Healing** | `cm-skill-health` `cm-skill-evolution` `cm-skill-search` `cm-skill-share` `cm-skill-chain` `cm-skill-mastery` `cm-skill-index` |
336
- | ๐ŸŽฏ **Orchestration** | `cm-execution` `cm-continuity` `cm-deep-search` `cm-codeintell` `cm-how-it-work` |
337
- | ๐Ÿ–ฅ๏ธ **Workflow** | `cm-start` `cm-dashboard` `cm-status` |
385
+ | ๐Ÿ“ˆ **Growth & CRO** | `cm-content-factory` `cm-auto-publisher` `cm-ads-tracker` `cm-cro-methodology` `cm-growth-hacking` `cm-booking-calendar` `cm-google-form` |
386
+ | ๐Ÿข **Enterprise** | `cm-reactor` `cm-notebooklm` |
387
+ | ๐Ÿงฌ **Self-Healing** | `cm-skill-health` `cm-skill-evolution` `cm-skill-search` `cm-skill-share` `cm-skill-chain` `cm-skill-mastery` `cm-skill-index` |
388
+ | ๐ŸŽฏ **Orchestration** | `cm-execution` `cm-continuity` `cm-deep-search` `cm-codeintell` `cm-how-it-work` |
389
+ | ๐Ÿ–ฅ๏ธ **Workflow** | `cm-start` `cm-dashboard` `cm-status` |
390
+
338
391
 
339
392
  ---
340
393
 
@@ -356,6 +409,7 @@ cm config [key] [value] โ†’ Config helper
356
409
  cm open โ†’ Open dashboard in browser
357
410
  cm browse โ€ฆ โ†’ Local Playwright browse daemon (QA)
358
411
  cm guardian โ€ฆ โ†’ Destructive-command / path checks
412
+ cm index skills โ†’ Zero-Token tech stack and skill local indexer
359
413
  cm sprint โ€ฆ โ†’ Sprint pipeline + .cm/sprint
360
414
  cm design-studio [init|status]
361
415
  cm distro validate โ€ฆ โ†’ Validate skill pack layout
@@ -363,13 +417,9 @@ cm distro validate โ€ฆ โ†’ Validate skill pack layout
363
417
 
364
418
  **Memory, bus, budgets, `cm://` resolution:** use the **MCP context server** โ€” see [docs/api/api-reference.md](docs/api/api-reference.md).
365
419
 
366
- **Engineering (browse, guardian, sprint):** [docs/workflows/engineering-pipeline.md](docs/workflows/engineering-pipeline.md) ยท [docs/architecture/servers-and-mcp.md](docs/architecture/servers-and-mcp.md)
420
+ **Engineering (browse, guardian, sprint):** [docs/workflows/engineering-pipeline.md](docs/workflows/engineering-pipeline.md) ยท [docs/browse-daemon.md](docs/browse-daemon.md) ยท [docs/workflows/guardian-hooks.md](docs/workflows/guardian-hooks.md) ยท [docs/architecture/servers-and-mcp.md](docs/architecture/servers-and-mcp.md)
367
421
 
368
- ```bash
369
- # OpenViking backend (optional โ€” semantic vector search)
370
- pip install openviking && openviking start
371
- # Then set storage.backend: viking in .cm/config.yaml
372
- ```
422
+ Legacy configs that still say `storage.backend: viking` are automatically routed back to SQLite.
373
423
 
374
424
  **Slash Commands (inside AI agents):**
375
425
 
@@ -398,7 +448,7 @@ pip install openviking && openviking start
398
448
  - ๐ŸŒ [Website](https://cody.todyle.com) โ€” Overview & demos
399
449
  - ๐Ÿ“– [Documentation (site)](https://cody.todyle.com/docs) โ€” Hosted deep-dive
400
450
  - ๐Ÿ“˜ [Documentation (repo)](docs/index.md) โ€” Markdown source; run `npm run docs:dev` for VitePress
401
- - ๐Ÿ› ๏ธ [Skills Reference](skills/) โ€” Browse **56** bundled `cm-*` SKILL.md packs (profiles/installer can add more)
451
+ - ๐Ÿ› ๏ธ [Skills Reference](skills/) โ€” Browse **56** bundled `cm-`* SKILL.md packs (profiles/installer can add more)
402
452
  - ๐Ÿ“– [Our Story](https://cody.todyle.com/story) โ€” Why this exists
403
453
 
404
454
  ---
@@ -413,11 +463,8 @@ CI runs `npm ci` and `npm run test:gate:kit` on pushes and pull requests (see `.
413
463
 
414
464
  ---
415
465
 
416
- <div align="center">
466
+ *ISC License โ€” Free to use, modify, and distribute.*
417
467
 
418
- *ISC License โ€” Free to use, modify, and distribute.* <br/>
419
468
  **Built with โค๏ธ for the vibe coding community.**
420
469
 
421
470
  *"CodyMaster" = "Code ฤi" (Vietnamese: "Go code!") โ€” just start building.*
422
-
423
- </div>
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildAdvisoryHandoff = buildAdvisoryHandoff;
4
+ exports.formatAdvisoryHandoffMarkdown = formatAdvisoryHandoffMarkdown;
5
+ const execution_analyzer_1 = require("./execution-analyzer");
6
+ function resolveAnalysis(backend, options) {
7
+ var _a;
8
+ const analyses = backend.getExecutionAnalyses((_a = options.searchLimit) !== null && _a !== void 0 ? _a : 50);
9
+ if (analyses.length === 0) {
10
+ throw new Error('No execution analyses recorded yet.');
11
+ }
12
+ if (!options.analysisId)
13
+ return analyses[0];
14
+ const match = analyses.find((analysis) => analysis.id.startsWith(options.analysisId));
15
+ if (!match) {
16
+ throw new Error(`No advisory analysis found for id prefix: ${options.analysisId}`);
17
+ }
18
+ return match;
19
+ }
20
+ function resolveSkillName(analysis, explicitSkill) {
21
+ var _a;
22
+ if (explicitSkill)
23
+ return explicitSkill;
24
+ return (_a = analysis.skill_judgments.find((judgment) => judgment.selected || judgment.applied)) === null || _a === void 0 ? void 0 : _a.skill;
25
+ }
26
+ function buildNextStep(consumer, action, skill) {
27
+ const subject = skill !== null && skill !== void 0 ? skill : 'the affected skill';
28
+ if (consumer === 'cm-skill-health') {
29
+ return `Run cm-skill-health on ${subject} and confirm whether ${action} is still the truthful recovery path.`;
30
+ }
31
+ return `Run cm-skill-evolution in ${action} mode for ${subject} using this advisory evidence as the starting note.`;
32
+ }
33
+ function buildAdvisoryHandoff(backend, options) {
34
+ var _a, _b;
35
+ const analysis = resolveAnalysis(backend, options);
36
+ const skillName = resolveSkillName(analysis, options.skill);
37
+ const judgment = skillName
38
+ ? analysis.skill_judgments.find((item) => item.skill === skillName)
39
+ : undefined;
40
+ const metric = skillName ? backend.getSkillMetric(skillName) : null;
41
+ const action = (_a = analysis.recommended_action) !== null && _a !== void 0 ? _a : 'NONE';
42
+ return {
43
+ version: 1,
44
+ generated_at: new Date().toISOString(),
45
+ consumer: options.consumer,
46
+ recommendation: {
47
+ action,
48
+ confidence: analysis.confidence,
49
+ },
50
+ source: {
51
+ analysis_id: analysis.id,
52
+ task_title: analysis.task_title,
53
+ task_status: analysis.status,
54
+ source_task_type: analysis.source_task_type,
55
+ created_at: analysis.created_at,
56
+ },
57
+ skill: {
58
+ name: skillName,
59
+ judgment,
60
+ metric: metric ? Object.assign(Object.assign({}, metric), { quality_weight: (0, execution_analyzer_1.qualityWeight)(metric) }) : null,
61
+ },
62
+ evidence: {
63
+ summary: analysis.summary,
64
+ selected_skills: (_b = analysis.selected_skills) !== null && _b !== void 0 ? _b : [],
65
+ target_skills: analysis.skill_judgments
66
+ .filter((item) => item.selected || item.applied)
67
+ .map((item) => item.skill),
68
+ },
69
+ next_step: buildNextStep(options.consumer, action, skillName),
70
+ };
71
+ }
72
+ function formatAdvisoryHandoffMarkdown(handoff) {
73
+ var _a, _b, _c;
74
+ return [
75
+ '## Advisory Handoff',
76
+ `- Consumer: ${handoff.consumer}`,
77
+ `- Skill: ${(_a = handoff.skill.name) !== null && _a !== void 0 ? _a : '-'}`,
78
+ `- Recovery path: ${handoff.recommendation.action}`,
79
+ `- Confidence: ${(_c = (_b = handoff.recommendation.confidence) === null || _b === void 0 ? void 0 : _b.toFixed(2)) !== null && _c !== void 0 ? _c : '-'}`,
80
+ `- Source analysis: ${handoff.source.analysis_id}`,
81
+ `- Task: ${handoff.source.task_title}`,
82
+ `- Status: ${handoff.source.task_status}`,
83
+ `- Evidence: ${handoff.evidence.summary}`,
84
+ `- Selected skills: ${handoff.evidence.selected_skills.join(', ') || '-'}`,
85
+ `- Target skills: ${handoff.evidence.target_skills.join(', ') || '-'}`,
86
+ `- Quality weight: ${handoff.skill.metric ? handoff.skill.metric.quality_weight.toFixed(2) : '-'}`,
87
+ `- Next step: ${handoff.next_step}`,
88
+ ].join('\n');
89
+ }