agim-cli 1.2.148 → 1.2.150

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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,185 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.2.150] - 2026-06-12
8
+
9
+ ### Changed (skills system-prompt injection — cluster-aware compression)
10
+
11
+ v1.2.149 的固定 32 行排序在 builtin 加了 230 ECC 后产生回归:
12
+ **用户业务 skill(workspace 源的 fin-data-* / ash-* / 白猪 / 等)全部跌出 top 32**,
13
+ LLM 看不到 description → 无法 route。
14
+
15
+ #### 新模型:按桶 + cluster 压缩
16
+
17
+ `buildSkillsSummary` 重写为"按桶+ cluster"输出:
18
+
19
+ - **Bucket 0–2**:逐行完整 description(curated 小集合,需要颗粒度)
20
+ - 0 = `agim-*` 框架(4)
21
+ - 1 = 非 ECC builtin(github / image-generation / long-goal / my / skill-creator / summarize / tmux / weather)
22
+ - 2 = ECC pinned 推荐(20)
23
+ - **Bucket 3(workspace)**:≥3 个同前缀 skill 自动 cluster——一行块标注 `prefix-* (N)` + 全名 + 短指引;singleton 仍 full row。运营者业务 skill(如 60 个 `fin-data-*`)只用 ~500 字符就能让 **LLM 看到所有名字 + 触发关键词**,而非吃掉 12000 字符 description 预算
24
+ - **Bucket 4(ECC 余下 210)**:cluster + name-only 输出(无 trigger hint)。LLM 看得到这 210 个名字,但要触发时按 description 关键词或显式 `read_skill('exact-name')` 拉全文
25
+
26
+ #### `clusterSkills(skills, minSize=3)` 算法(pure helper)
27
+
28
+ 按 dash-segment 分层 group:先一段(`fin-*`),≥3 个则尝试细化到二段(`fin-data-*` 单独成 cluster)……最多 3 段深。Cluster prefix 取实际**最长公共段前缀**,所以 35 个 `fin-data-s000..s034` 合成一个 `fin-data` cluster,不是浅 `fin`。
29
+
30
+ #### 重新分桶(rankSkillBucket)
31
+
32
+ - workspace 与 ECC 余下 split 开(之前混在 bucket 3):
33
+ - workspace → bucket 3(按运营者意图—亲装的优先 cluster 露出,trigger hint 详细)
34
+ - ECC 余下 → bucket 4(aggressive cluster,仅名字)
35
+
36
+ #### 实测(agim 默认 builtin)
37
+
38
+ ```
39
+ ## Framework (agim-* — …) (4)
40
+ - agim-memory: …(full row)
41
+ - agim-reminders: …
42
+ - agim-self: …
43
+ - agim-skill-discovery: …
44
+
45
+ ## Agim builtin (8)
46
+ - github: … / image-generation / long-goal / my / skill-creator / summarize / tmux / weather
47
+
48
+ ## ECC harness + methodology picks (recommended) (20)
49
+ - agent-eval / agent-harness-construction / agent-introspection-debugging / agentic-engineering
50
+ / architecture-decision-records / article-writing / autonomous-* / benchmark / blueprint
51
+ / code-tour / coding-standards / content-engine / context-budget / continuous-learning-v2
52
+ / cost-aware-llm-pipeline / prompt-optimizer / security-review / tdd-workflow / verification-loop
53
+
54
+ ## ECC remainder (read full description via mcp__imhub__read_skill) (210)
55
+ - django-* (5): django-celery · django-patterns · django-security · django-tdd · django-verification
56
+ - kotlin-* (5): kotlin-coroutines-flows · kotlin-exposed-patterns · kotlin-ktor-patterns
57
+ · kotlin-patterns · kotlin-testing
58
+ - laravel-* (5): laravel-{patterns, plugin-discovery, security, tdd, verification}
59
+ - springboot-* (4): springboot-{patterns, security, tdd, verification}
60
+ - quarkus-* (4): quarkus-{patterns, security, tdd, verification}
61
+ - orch-* (6): orch-add-feature · orch-build-mvp · orch-change-feature · …
62
+ - … 14 个 cluster 共 56 skill + (other ECC, 154 个) name 列表
63
+ ```
64
+
65
+ #### Token 预算
66
+
67
+ - v1.2.149 old: 32 行 × ~200 chars = ~1700 tokens(32 个 skill 露脸)
68
+ - v1.2.150 new: ~3300 tokens(**241 builtin + workspace skill 全部露脸**)
69
+ - net: token +~1600,但**每个 skill 的"存在感"露出**——对 LLM routing 是巨大改善
70
+ - 用户有 ~80 workspace skill 时,预计 +~500 tokens 加 workspace cluster;总 ~3800 tokens
71
+
72
+ #### `always: true` 行为
73
+
74
+ 原本只走 visible 32;现在改成扫所有 buckets,按 `s.always && s.available` 来内联——
75
+ operator 主动标 `always: true` 的少数 skill 仍可正常 inline。
76
+
77
+ ### Files
78
+
79
+ - `src/core/skills/loader.ts` — 新增 `SkillCluster` interface + `clusterSkills` pure function + cluster-aware `buildSkillsSummary` + bucket 3/4 split in `rankSkillBucket`
80
+ - `src/core/skills/loader.test.ts` — 更新 2 case(bucket order workspace=3 / ECC remainder=4;cap test 改为验证 cluster 块)
81
+
82
+ ### Tests
83
+
84
+ 37/37 全过,typecheck 双绿,build 8.2s。
85
+
86
+ ## [1.2.149] - 2026-06-12
87
+
88
+ ### Fixed (ECC pack — folded-description parser bug)
89
+
90
+ v1.2.148 的 bulk-import 脚本对 YAML 折叠语法(`description: >-\n text...`)
91
+ 处理错误:把 `[ECC]` 前缀注入到 `>-` 那行而不是续行,导致 11 个 SKILL.md
92
+ 的 description 被解析成字面 `[ECC] >-` / `[ECC] >`:
93
+
94
+ - 影响 skill:blueprint / customs-trade-compliance / energy-procurement /
95
+ frontend-a11y / inventory-demand-planning / logistics-exception-management /
96
+ production-scheduling / prompt-optimizer / quality-nonconformance /
97
+ returns-reverse-logistics / token-budget-advisor
98
+ - 修复:从 ECC 源重新拷贝 + 智能注入(识别 YAML 块标量 marker,把 `[ECC] `
99
+ 加到展开后的第一段文本,而非 marker 行)
100
+ - 加固:`src/core/skills/loader.ts` `parseSkill` 加防御性 fallback——
101
+ description 解析后若是字面 `>-` / `|` / `>` / `|-`,自动用 fallback 文案
102
+ + `log.warn` 留审计(防未来同类静默失败)
103
+
104
+ ### Added (priority-bucket sort for system-prompt injection)
105
+
106
+ `agim` 是 IM ↔ Agent 通用桥接框架,不应假设运营者的业务。但 builtin/ 加完
107
+ 229 ECC pack 后,**system prompt 前 32 个 skill 全是字母排序前段的 ECC 通用
108
+ 开发工具**,agim 自带框架 skill(`agim-*`)有 4 个能露脸,而非 ECC builtin
109
+ (`github` / `image-generation` / `tmux` / `weather` 等)和精选 ECC 都被挤
110
+ 到字母序后段。
111
+
112
+ #### 新策略(按设计意图)
113
+
114
+ `src/core/skills/loader.ts` 新增 `rankSkillBucket(s)` 函数 + `ECC_TOP_PICKS`
115
+ 常量。`buildSkillsSummary` 改为"先按桶排序、桶内字母序":
116
+
117
+ | Bucket | 内容 |
118
+ |---|---|
119
+ | 0 | `agim-*` 框架 skill(4 个)|
120
+ | 1 | 非 ECC builtin(8 个:github / image-generation / long-goal / my / skill-creator / summarize / tmux / weather)|
121
+ | 2 | ECC 精选(20 个)— agent harness 工程 11 + 跨语言方法论 + 内容创作 9 |
122
+ | 3 | 工作区运营者 skill(业务域)+ ECC 余下 210 |
123
+
124
+ 4 + 8 + 20 = 32 正好填满;bucket 3 全部靠 description match + 显式
125
+ `mcp__imhub__read_skill('name')` 触发,不强占系统提示门面。
126
+
127
+ #### ECC 精选清单(20 个)
128
+
129
+ - **agent harness 工程(11)**:agentic-engineering / agent-eval /
130
+ agent-introspection-debugging / agent-harness-construction /
131
+ autonomous-agent-harness / autonomous-loops / continuous-learning-v2 /
132
+ verification-loop / prompt-optimizer / cost-aware-llm-pipeline /
133
+ context-budget
134
+ - **跨语言方法论 + 内容(9)**:blueprint / coding-standards /
135
+ architecture-decision-records / code-tour / tdd-workflow /
136
+ security-review / benchmark / article-writing / content-engine
137
+
138
+ #### 实测前 32 名(agim 默认)
139
+
140
+ ```
141
+ 1. agim-memory 2. agim-reminders 3. agim-self
142
+ 4. agim-skill-discovery 5. github 6. image-generation
143
+ 7. long-goal 8. my 9. skill-creator
144
+ 10. summarize 11. tmux 12. weather
145
+ 13. agent-eval 14. agent-harness-construction
146
+ 15. agent-introspection-debugging 16. agentic-engineering
147
+ 17. architecture-decision-records 18. article-writing
148
+ 19. autonomous-agent-harness 20. autonomous-loops
149
+ 21. benchmark 22. blueprint 23. code-tour
150
+ 24. coding-standards 25. content-engine 26. context-budget
151
+ 27. continuous-learning-v2 28. cost-aware-llm-pipeline
152
+ 29. prompt-optimizer 30. security-review 31. tdd-workflow
153
+ 32. verification-loop
154
+ ```
155
+
156
+ #### ECC 识别
157
+
158
+ ECC pack 的 SKILL.md 各家 `origin:` 值不统一(`ECC` / `community` / `ECC
159
+ direct-port adaptation` …),不能靠 frontmatter 严格等于 `ECC` 来判定。本
160
+ 轮以 description 的 `[ECC] ` 前缀作为可靠 marker(packaging 阶段统一打入),
161
+ 辅以 `origin:` 起始 `ECC` 的宽松匹配(前向兼容)。
162
+
163
+ ### Added (operator-decision re-import)
164
+
165
+ - `content-engine` — 此前归入"ECC operator 工作流"剔除清单(v1.2.148),
166
+ 本轮按设计决策复进 builtin/,跟 `article-writing` 一起作为内容创作类
167
+ ECC 精选。`ECC_NOTICE.md` 排除清单从 33 → 32,注明操作员决策。
168
+
169
+ ### Tests
170
+
171
+ `src/core/skills/loader.test.ts` 新增 1 case 覆盖 `rankSkillBucket` 四桶分
172
+ 类 + `buildSkillsSummary` 输出顺序(agim-* < github/* < agent-eval (ECC 精
173
+ 选) < kotlin-* (ECC 余下) / fin-data-* (工作区))。typecheck 双 pass 全绿;
174
+ loader 套件 37/37 通过;build 7.5s。
175
+
176
+ ### 文件
177
+
178
+ - `src/core/skills/loader.ts` — `SkillMeta.origin` 字段、`parseSkill` 抽
179
+ origin 并字面 block-scalar fallback、`ECC_TOP_PICKS` + `rankSkillBucket`
180
+ 导出、`buildSkillsSummary` bucket-aware sort
181
+ - `src/core/skills/loader.test.ts` — `rankSkillBucket` + sort 测试
182
+ - `src/core/skills/builtin/<11 skill>/SKILL.md` — 折叠描述修复
183
+ - `src/core/skills/builtin/content-engine/` — 复进 230 entry
184
+ - `src/core/skills/builtin/ECC_NOTICE.md` — 233/32 + 复进说明
185
+
7
186
  ## [1.2.148] - 2026-06-12
8
187
 
9
188
  ### Added (built-in ECC skill pack — 229 skills)
@@ -1,6 +1,6 @@
1
1
  # ECC skill pack — attribution
2
2
 
3
- Agim v1.2.148+ ships a curated subset of **229 skills** from the
3
+ Agim v1.2.148+ ships a curated subset of **230 skills** from the
4
4
  [ECC](https://github.com/affaan-m/ECC) project (commit cloned 2026-06-12),
5
5
  licensed under MIT. Each ECC-origin skill is identifiable by:
6
6
 
@@ -15,8 +15,14 @@ IMHUB_INCLUDE_ECC_SKILLS=off
15
15
 
16
16
  Original license: `ECC_LICENSE` (MIT, © affaan-m).
17
17
 
18
- Excluded from the import (33 skills): ECC-internal tooling
18
+ Excluded from the import (32 skills): ECC-internal tooling
19
19
  (configure-ecc, ecc-tools-*), ECC operator workflows (brand-voice,
20
20
  customer-billing-ops, google-workspace-ops, project-flow-ops, …),
21
21
  ito-* (4) prediction-market pack, homelab-* (5), video-generation
22
22
  (manim/remotion/blender), social-publisher, investor-materials/outreach.
23
+
24
+ Re-imported after the initial cut (operator decision):
25
+ - `content-engine` — cross-platform content systems (X / LinkedIn /
26
+ TikTok / YouTube / newsletter / repurposing). Originally excluded
27
+ with the operator-workflow group; promoted into the recommended-32
28
+ injection list as a general content-writing tool.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: blueprint
3
- description: [ECC] >-
4
- Turn a one-line objective into a step-by-step construction plan for
3
+ description: >-
4
+ [ECC] Turn a one-line objective into a step-by-step construction plan for
5
5
  multi-session, multi-agent engineering projects. Each step has a
6
6
  self-contained context brief so a fresh agent can execute it cold.
7
7
  Includes adversarial review gate, dependency graph, parallel step
@@ -0,0 +1,131 @@
1
+ ---
2
+ name: content-engine
3
+ description: [ECC] Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Content Engine
8
+
9
+ Build platform-native content without flattening the author's real voice into platform slop.
10
+
11
+ ## When to Activate
12
+
13
+ - writing X posts or threads
14
+ - drafting LinkedIn posts or launch updates
15
+ - scripting short-form video or YouTube explainers
16
+ - repurposing articles, podcasts, demos, docs, or internal notes into public content
17
+ - building a launch sequence or ongoing content system around a product, insight, or narrative
18
+
19
+ ## Non-Negotiables
20
+
21
+ 1. Start from source material, not generic post formulas.
22
+ 2. Adapt the format for the platform, not the persona.
23
+ 3. One post should carry one actual claim.
24
+ 4. Specificity beats adjectives.
25
+ 5. No engagement bait unless the user explicitly asks for it.
26
+
27
+ ## Source-First Workflow
28
+
29
+ Before drafting, identify the source set:
30
+ - published articles
31
+ - notes or internal memos
32
+ - product demos
33
+ - docs or changelogs
34
+ - transcripts
35
+ - screenshots
36
+ - prior posts from the same author
37
+
38
+ If the user wants a specific voice, build a voice profile from real examples before writing.
39
+ Use `brand-voice` as the canonical workflow when voice consistency matters across more than one output.
40
+
41
+ ## Voice Handling
42
+
43
+ `brand-voice` is the canonical voice layer.
44
+
45
+ Run it first when:
46
+
47
+ - there are multiple downstream outputs
48
+ - the user explicitly cares about writing style
49
+ - the content is launch, outreach, or reputation-sensitive
50
+
51
+ Reuse the resulting `VOICE PROFILE` here instead of rebuilding a second voice model.
52
+ If the user wants Affaan / ECC voice specifically, still treat `brand-voice` as the source of truth and feed it the best live or source-derived material available.
53
+
54
+ ## Hard Bans
55
+
56
+ Delete and rewrite any of these:
57
+ - "In today's rapidly evolving landscape"
58
+ - "game-changer", "revolutionary", "cutting-edge"
59
+ - "here's why this matters" unless it is followed immediately by something concrete
60
+ - ending with a LinkedIn-style question just to farm replies
61
+ - forced casualness on LinkedIn
62
+ - fake engagement padding that was not present in the source material
63
+
64
+ ## Platform Adaptation Rules
65
+
66
+ ### X
67
+
68
+ - open with the strongest claim, artifact, or tension
69
+ - keep the compression if the source voice is compressed
70
+ - if writing a thread, each post must advance the argument
71
+ - do not pad with context the audience does not need
72
+
73
+ ### LinkedIn
74
+
75
+ - expand only enough for people outside the immediate niche to follow
76
+ - do not turn it into a fake lesson post unless the source material actually is reflective
77
+ - no corporate inspiration cadence
78
+ - no praise-stacking, no "journey" filler
79
+
80
+ ### Short Video
81
+
82
+ - script around the visual sequence and proof points
83
+ - first seconds should show the result, problem, or punch
84
+ - do not write narration that sounds better on paper than on screen
85
+
86
+ ### YouTube
87
+
88
+ - show the result or tension early
89
+ - organize by argument or progression, not filler sections
90
+ - use chaptering only when it helps clarity
91
+
92
+ ### Newsletter
93
+
94
+ - open with the point, conflict, or artifact
95
+ - do not spend the first paragraph warming up
96
+ - every section needs to add something new
97
+
98
+ ## Repurposing Flow
99
+
100
+ 1. Pick the anchor asset.
101
+ 2. Extract 3 to 7 atomic claims or scenes.
102
+ 3. Rank them by sharpness, novelty, and proof.
103
+ 4. Assign one strong idea per output.
104
+ 5. Adapt structure for each platform.
105
+ 6. Strip platform-shaped filler.
106
+ 7. Run the quality gate.
107
+
108
+ ## Deliverables
109
+
110
+ When asked for a campaign, return:
111
+ - a short voice profile if voice matching matters
112
+ - the core angle
113
+ - platform-native drafts
114
+ - posting order only if it helps execution
115
+ - gaps that must be filled before publishing
116
+
117
+ ## Quality Gate
118
+
119
+ Before delivering:
120
+ - every draft sounds like the intended author, not the platform stereotype
121
+ - every draft contains a real claim, proof point, or concrete observation
122
+ - no generic hype language remains
123
+ - no fake engagement bait remains
124
+ - no duplicated copy across platforms unless requested
125
+ - any CTA is earned and user-approved
126
+
127
+ ## Related Skills
128
+
129
+ - `brand-voice` for source-derived voice profiles
130
+ - `crosspost` for platform-specific distribution
131
+ - `x-api` for sourcing recent posts and publishing approved X output
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: customs-trade-compliance
3
- description: [ECC] >
4
- Codified expertise for customs documentation, tariff classification, duty
3
+ description: >
4
+ [ECC] Codified expertise for customs documentation, tariff classification, duty
5
5
  optimization, restricted party screening, and regulatory compliance across
6
6
  multiple jurisdictions. Informed by trade compliance specialists with 15+
7
7
  years experience. Includes HS classification logic, Incoterms application,
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: energy-procurement
3
- description: [ECC] >
4
- Codified expertise for electricity and gas procurement, tariff optimization,
3
+ description: >
4
+ [ECC] Codified expertise for electricity and gas procurement, tariff optimization,
5
5
  demand charge management, renewable PPA evaluation, and multi-facility energy
6
6
  cost management. Informed by energy procurement managers with 15+ years
7
7
  experience at large commercial and industrial consumers. Includes market
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: frontend-a11y
3
- description: [ECC] >
4
- Accessibility patterns for React and Next.js — semantic HTML, ARIA attributes,
3
+ description: >
4
+ [ECC] Accessibility patterns for React and Next.js — semantic HTML, ARIA attributes,
5
5
  form labeling, keyboard navigation, focus management, and screen reader support.
6
6
  Use when building any interactive UI component or form.
7
7
  origin: community
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: inventory-demand-planning
3
- description: [ECC] >
4
- Codified expertise for demand forecasting, safety stock optimization,
3
+ description: >
4
+ [ECC] Codified expertise for demand forecasting, safety stock optimization,
5
5
  replenishment planning, and promotional lift estimation at multi-location
6
6
  retailers. Informed by demand planners with 15+ years experience managing
7
7
  hundreds of SKUs. Includes forecasting method selection, ABC/XYZ analysis,
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: logistics-exception-management
3
- description: [ECC] >
4
- Codified expertise for handling freight exceptions, shipment delays,
3
+ description: >
4
+ [ECC] Codified expertise for handling freight exceptions, shipment delays,
5
5
  damages, losses, and carrier disputes. Informed by logistics professionals
6
6
  with 15+ years operational experience. Includes escalation protocols,
7
7
  carrier-specific behaviors, claims procedures, and judgment frameworks.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: production-scheduling
3
- description: [ECC] >
4
- Codified expertise for production scheduling, job sequencing, line balancing,
3
+ description: >
4
+ [ECC] Codified expertise for production scheduling, job sequencing, line balancing,
5
5
  changeover optimization, and bottleneck resolution in discrete and batch
6
6
  manufacturing. Informed by production schedulers with 15+ years experience.
7
7
  Includes TOC/drum-buffer-rope, SMED, OEE analysis, disruption response
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: prompt-optimizer
3
- description: [ECC] >-
4
- Analyze raw prompts, identify intent and gaps, match ECC components
3
+ description: >-
4
+ [ECC] Analyze raw prompts, identify intent and gaps, match ECC components
5
5
  (skills/commands/agents/hooks), and output a ready-to-paste optimized
6
6
  prompt. Advisory role only — never executes the task itself.
7
7
  TRIGGER when: user says "optimize prompt", "improve my prompt",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: quality-nonconformance
3
- description: [ECC] >
4
- Codified expertise for quality control, non-conformance investigation, root
3
+ description: >
4
+ [ECC] Codified expertise for quality control, non-conformance investigation, root
5
5
  cause analysis, corrective action, and supplier quality management in
6
6
  regulated manufacturing. Informed by quality engineers with 15+ years
7
7
  experience across FDA, IATF 16949, and AS9100 environments. Includes NCR
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: returns-reverse-logistics
3
- description: [ECC] >
4
- Codified expertise for returns authorization, receipt and inspection,
3
+ description: >
4
+ [ECC] Codified expertise for returns authorization, receipt and inspection,
5
5
  disposition decisions, refund processing, fraud detection, and warranty
6
6
  claims management. Informed by returns operations managers with 15+ years
7
7
  experience. Includes grading frameworks, disposition economics, fraud
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: token-budget-advisor
3
- description: [ECC] >-
4
- Offers the user an informed choice about how much response depth to
3
+ description: >-
4
+ [ECC] Offers the user an informed choice about how much response depth to
5
5
  consume before answering. Use this skill when the user explicitly
6
6
  wants to control response length, depth, or token budget.
7
7
  TRIGGER when: "token budget", "token count", "token usage", "token limit",
@@ -33,6 +33,10 @@ export interface SkillMeta {
33
33
  available: boolean;
34
34
  /** Operator-facing reason when `available=false`. */
35
35
  unavailableReason?: string;
36
+ /** Frontmatter `origin:` value, when present. ECC pack skills declare
37
+ * `origin: ECC`; operators can use this to bucket / filter their own
38
+ * packs. Optional — most operator-authored skills omit it. */
39
+ origin?: string;
36
40
  }
37
41
  export type SkillsMode = 'auto' | 'agim-only' | 'custom';
38
42
  /**
@@ -101,20 +105,65 @@ export declare function getSkillByName(name: string): SkillMeta | null;
101
105
  * oversize files come back truncated with a `[truncated …]` footer. */
102
106
  export declare function readSkillBody(name: string): string | null;
103
107
  /**
104
- * Build the tier-1 system-prompt block. Injected once per turn by the
105
- * router. Returns '' when no skills are configured (router drops empty
106
- * blocks). Bounded to MAX_INJECTED_SKILLS rows; above the cap we keep
107
- * the first N alphabetically and append a one-line "+ N more (call
108
- * /skill list to see)" note.
108
+ * v1.2.149 Rank a skill into one of four buckets for system-prompt
109
+ * injection. Lower rank wins (fills the visible 32 first). Within a
110
+ * bucket, alphabetical order. Buckets:
109
111
  *
110
- * Format (kept close to nanobot's so models trained on its docs feel
111
- * at home):
112
+ * 0 agim framework skills (name starts with `agim-`). Always relevant
113
+ * to anyone running agim; should never miss the cap.
114
+ * 1 — non-ECC builtin skills (the small in-tree agim pack: github,
115
+ * image-generation, long-goal, my, skill-creator, summarize, tmux,
116
+ * weather). Curated by us specifically for the framework.
117
+ * 2 — ECC recommended (the curated list above). Pinned harness / dev
118
+ * methodology essentials from the ECC pack.
119
+ * 3 — Everything else: ECC remainder (210+) and operator workspace
120
+ * skills (the operator's business domain — fin-data, ash, etc.).
121
+ * Reachable via read_skill on description match; not strapped to
122
+ * the front of the prompt.
112
123
  *
113
- * [agim skills available read full body with mcp__imhub__read_skill(name)]
114
- * - skill-a: one-line description
115
- * - skill-b: one-line description (unavailable: missing bin `foo`)
116
- * - skill-c: one-line description
117
- * …
124
+ * Workspace skills land in 3 rather than 1 because operator-authored
125
+ * content varies wildly per install — pinning them all means a finance
126
+ * operator's 60 fin-data skills push out an unrelated operator's 60
127
+ * homelab skills. Both belong in the on-demand pool, not the cap.
118
128
  */
129
+ export declare function rankSkillBucket(s: SkillMeta): number;
130
+ /**
131
+ * v1.2.150 — A prefix-based skill cluster. Many skills sharing a name
132
+ * prefix (`fin-data-aspd-*`, `white-pig-*`, …) get collapsed into one
133
+ * block: title + name list + brief trigger hint. The LLM still sees
134
+ * every skill name, just not every full description; it can call
135
+ * `read_skill('exact-name')` for granular content.
136
+ */
137
+ export interface SkillCluster {
138
+ /** The shared prefix, e.g. "fin-data-aspd" or "white-pig". */
139
+ prefix: string;
140
+ /** Skill names in the cluster, alphabetically sorted. */
141
+ names: string[];
142
+ /** One-line trigger summary derived from member descriptions
143
+ * (best effort). Empty when descriptions are unhelpful. */
144
+ triggerHint: string;
145
+ }
146
+ /**
147
+ * v1.2.150 — Pure helper: group `skills` into prefix-based clusters.
148
+ *
149
+ * Algorithm:
150
+ * 1. Group by first dash-segment (`fin-data-aspd-*` → key `fin`).
151
+ * 2. For groups of size ≥ minSize, try refining to TWO segments
152
+ * (`fin-data-*`). If at least 2 two-segment sub-groups themselves
153
+ * reach minSize, emit each sub-group as a cluster and the leftover
154
+ * single-segment-only members as a fallback `<seg1>-*` cluster.
155
+ * 3. Sub-clustering attempts also at THREE segments before bottoming
156
+ * out, so `fin-data-aspd-*` peels off `fin-data-aspd` instead of
157
+ * drowning in a generic `fin-data`.
158
+ * 4. Skills that don't land in any cluster (≤ minSize − 1 with their
159
+ * prefix peers) are returned as singletons; the caller renders
160
+ * them as individual rows.
161
+ *
162
+ * Pure / deterministic — same input always yields same output.
163
+ */
164
+ export declare function clusterSkills(skills: ReadonlyArray<SkillMeta>, minSize?: number): {
165
+ clusters: SkillCluster[];
166
+ singletons: SkillMeta[];
167
+ };
119
168
  export declare function buildSkillsSummary(): string;
120
169
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/core/skills/loader.ts"],"names":[],"mappings":"AAiDA;;sEAEsE;AACtE,eAAO,MAAM,oBAAoB,QAAS,CAAA;AAE1C;;gDAEgD;AAChD,eAAO,MAAM,qBAAqB,MAAM,CAAA;AAExC;;oDAEoD;AACpD,eAAO,MAAM,mBAAmB,KAAK,CAAA;AAErC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,4EAA4E;IAC5E,MAAM,EAAE,WAAW,GAAG,SAAS,CAAA;IAC/B,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAA;IACX;;2DAEuD;IACvD,MAAM,EAAE,OAAO,CAAA;IACf;qCACiC;IACjC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB;0DACsD;IACtD,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB;;0EAEsE;IACtE,SAAS,EAAE,OAAO,CAAA;IAClB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAmCD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;AA4BxD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAiB7C;AAED;sEACsE;AACtE,wBAAgB,oBAAoB,IAAI;IACtC,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB,CAOA;AAuBD,wEAAwE;AACxE,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAmB3E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAajD;AAYD;;oDAEoD;AACpD,wBAAgB,UAAU,IAAI,SAAS,EAAE,CAExC;AAED;;6BAE6B;AAC7B,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE7D;AAED;;wEAEwE;AACxE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYzD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CA4D3C"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/core/skills/loader.ts"],"names":[],"mappings":"AAiDA;;sEAEsE;AACtE,eAAO,MAAM,oBAAoB,QAAS,CAAA;AAE1C;;gDAEgD;AAChD,eAAO,MAAM,qBAAqB,MAAM,CAAA;AAExC;;oDAEoD;AACpD,eAAO,MAAM,mBAAmB,KAAK,CAAA;AAErC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,4EAA4E;IAC5E,MAAM,EAAE,WAAW,GAAG,SAAS,CAAA;IAC/B,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAA;IACX;;2DAEuD;IACvD,MAAM,EAAE,OAAO,CAAA;IACf;qCACiC;IACjC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB;0DACsD;IACtD,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB;;0EAEsE;IACtE,SAAS,EAAE,OAAO,CAAA;IAClB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;mEAE+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAmCD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;AA4BxD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAiB7C;AAED;sEACsE;AACtE,wBAAgB,oBAAoB,IAAI;IACtC,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB,CAOA;AAuBD,wEAAwE;AACxE,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAmB3E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAajD;AAYD;;oDAEoD;AACpD,wBAAgB,UAAU,IAAI,SAAS,EAAE,CAExC;AAED;;6BAE6B;AAC7B,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE7D;AAED;;wEAEwE;AACxE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYzD;AAkDD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAsBpD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,KAAK,EAAE,MAAM,EAAE,CAAA;IACf;gEAC4D;IAC5D,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,EAChC,OAAO,SAAI,GACV;IAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAsFvD;AA4BD,wBAAgB,kBAAkB,IAAI,MAAM,CA8G3C"}
@@ -295,11 +295,245 @@ export function readSkillBody(name) {
295
295
  * - skill-c: one-line description
296
296
  * …
297
297
  */
298
+ /**
299
+ * v1.2.149 — recommended ECC skills for the system-prompt injection
300
+ * cap (priority bucket 2 below).
301
+ *
302
+ * Rationale: agim is a generic IM ↔ Agent bridge; the framework should
303
+ * not assume the operator's business domain. So operator-authored
304
+ * skills (workspace source) and the bundled ECC pack are NOT injected
305
+ * by default — they're reachable via `mcp__imhub__read_skill('name')`
306
+ * when their description matches. But ECC ships 200+ skills covering
307
+ * agent harness engineering and general-purpose dev methodology that
308
+ * benefit every agim install; this list pins ~20 of those into the
309
+ * default-32 injection so the agent has the harness vocabulary front
310
+ * of mind without burying it under alphabet order.
311
+ *
312
+ * Selection: 11 agent-harness skills + 9 cross-language methodology
313
+ * skills. Excludes framework / language / industry specialties (django,
314
+ * kotlin, healthcare, …) and ECC-internal tooling.
315
+ *
316
+ * Add / remove freely — this is a curated list, not a registry.
317
+ */
318
+ const ECC_TOP_PICKS = new Set([
319
+ // Agent harness engineering (11)
320
+ 'agentic-engineering', 'agent-eval', 'agent-introspection-debugging',
321
+ 'agent-harness-construction', 'autonomous-agent-harness', 'autonomous-loops',
322
+ 'continuous-learning-v2', 'verification-loop', 'prompt-optimizer',
323
+ 'cost-aware-llm-pipeline', 'context-budget',
324
+ // Cross-language methodology + content (9)
325
+ 'blueprint', 'coding-standards', 'architecture-decision-records',
326
+ 'code-tour', 'tdd-workflow', 'security-review', 'benchmark',
327
+ 'article-writing', 'content-engine',
328
+ ]);
329
+ /**
330
+ * v1.2.149 — Rank a skill into one of four buckets for system-prompt
331
+ * injection. Lower rank wins (fills the visible 32 first). Within a
332
+ * bucket, alphabetical order. Buckets:
333
+ *
334
+ * 0 — agim framework skills (name starts with `agim-`). Always relevant
335
+ * to anyone running agim; should never miss the cap.
336
+ * 1 — non-ECC builtin skills (the small in-tree agim pack: github,
337
+ * image-generation, long-goal, my, skill-creator, summarize, tmux,
338
+ * weather). Curated by us specifically for the framework.
339
+ * 2 — ECC recommended (the curated list above). Pinned harness / dev
340
+ * methodology essentials from the ECC pack.
341
+ * 3 — Everything else: ECC remainder (210+) and operator workspace
342
+ * skills (the operator's business domain — fin-data, ash, etc.).
343
+ * Reachable via read_skill on description match; not strapped to
344
+ * the front of the prompt.
345
+ *
346
+ * Workspace skills land in 3 rather than 1 because operator-authored
347
+ * content varies wildly per install — pinning them all means a finance
348
+ * operator's 60 fin-data skills push out an unrelated operator's 60
349
+ * homelab skills. Both belong in the on-demand pool, not the cap.
350
+ */
351
+ export function rankSkillBucket(s) {
352
+ // v1.2.150 — refined buckets to support cluster-aware injection.
353
+ // 0 agim-* framework skills (always visible, individual rows)
354
+ // 1 non-ECC builtin (agim's own small pack)
355
+ // 2 ECC top picks (recommended, individual rows)
356
+ // 3 workspace skills (operator-installed business — clustered when many)
357
+ // 4 ECC remainder (210 of them — always heavily clustered)
358
+ if (s.name.startsWith('agim-'))
359
+ return 0;
360
+ // Detect bundled ECC pack. ECC's own SKILL.md files use multiple
361
+ // `origin:` values (`ECC`, `community`, `ECC direct-port adaptation`,
362
+ // …) so frontmatter alone isn't reliable. The packaging script stamps
363
+ // a `[ECC]` prefix on every imported description; that's the load-
364
+ // bearing marker. We also honour any non-empty `origin` that begins
365
+ // with `ECC` for forward compat (e.g. operator-authored skills tagged
366
+ // `origin: ECC fork`). Order matters: prefix check comes first because
367
+ // it's the actually-reliable signal.
368
+ const isEcc = s.source === 'builtin'
369
+ && (s.description.startsWith('[ECC] ') || /^ECC\b/i.test(s.origin ?? ''));
370
+ if (isEcc)
371
+ return ECC_TOP_PICKS.has(s.name) ? 2 : 4;
372
+ if (s.source === 'workspace')
373
+ return 3;
374
+ // non-ECC builtin (agim's own small in-tree pack)
375
+ return 1;
376
+ }
377
+ /**
378
+ * v1.2.150 — Pure helper: group `skills` into prefix-based clusters.
379
+ *
380
+ * Algorithm:
381
+ * 1. Group by first dash-segment (`fin-data-aspd-*` → key `fin`).
382
+ * 2. For groups of size ≥ minSize, try refining to TWO segments
383
+ * (`fin-data-*`). If at least 2 two-segment sub-groups themselves
384
+ * reach minSize, emit each sub-group as a cluster and the leftover
385
+ * single-segment-only members as a fallback `<seg1>-*` cluster.
386
+ * 3. Sub-clustering attempts also at THREE segments before bottoming
387
+ * out, so `fin-data-aspd-*` peels off `fin-data-aspd` instead of
388
+ * drowning in a generic `fin-data`.
389
+ * 4. Skills that don't land in any cluster (≤ minSize − 1 with their
390
+ * prefix peers) are returned as singletons; the caller renders
391
+ * them as individual rows.
392
+ *
393
+ * Pure / deterministic — same input always yields same output.
394
+ */
395
+ export function clusterSkills(skills, minSize = 3) {
396
+ const clusters = [];
397
+ const used = new Set();
398
+ // Recursive refiner: attempt to peel deeper prefixes when the group is
399
+ // large enough and has internal structure. Up to 3 segments deep.
400
+ function refine(group, segDepth) {
401
+ if (group.length < minSize)
402
+ return;
403
+ if (segDepth >= 4) {
404
+ // Can't refine further — emit as one cluster.
405
+ emitCluster(group, segDepth - 1);
406
+ return;
407
+ }
408
+ // Try splitting at segDepth.
409
+ const sub = new Map();
410
+ for (const s of group) {
411
+ const parts = s.name.split('-');
412
+ const key = parts.length >= segDepth ? parts.slice(0, segDepth).join('-') : s.name;
413
+ const arr = sub.get(key) ?? [];
414
+ arr.push(s);
415
+ sub.set(key, arr);
416
+ }
417
+ // Count how many sub-keys reach minSize.
418
+ const qualified = [];
419
+ for (const [k, v] of sub)
420
+ if (v.length >= minSize)
421
+ qualified.push(k);
422
+ if (qualified.length >= 2) {
423
+ for (const k of qualified)
424
+ refine(sub.get(k), segDepth + 1);
425
+ // Leftover (sub-keys with < minSize) become singletons unless they
426
+ // collectively form a fallback cluster.
427
+ const leftover = [];
428
+ for (const [k, v] of sub)
429
+ if (v.length < minSize)
430
+ leftover.push(...v);
431
+ if (leftover.length >= minSize) {
432
+ // Emit as `<segDepth-1>-*` fallback.
433
+ const fallbackPrefix = group[0].name.split('-').slice(0, segDepth - 1).join('-') + '-*';
434
+ leftover.sort((a, b) => a.name.localeCompare(b.name));
435
+ clusters.push({
436
+ prefix: fallbackPrefix,
437
+ names: leftover.map((s) => s.name),
438
+ triggerHint: extractTriggerHint(leftover),
439
+ });
440
+ for (const s of leftover)
441
+ used.add(s.name);
442
+ }
443
+ }
444
+ else {
445
+ emitCluster(group, segDepth - 1);
446
+ }
447
+ }
448
+ function emitCluster(group, _depth) {
449
+ group.sort((a, b) => a.name.localeCompare(b.name));
450
+ // Use the actual longest common whole-segment prefix of the group's
451
+ // names — gives `fin-data` for `fin-data-s000` siblings instead of
452
+ // falling back to the depth-1 single segment `fin`. Splits each
453
+ // name on `-`, walks segments left-to-right, stops at first mismatch.
454
+ const parts = group.map((s) => s.name.split('-'));
455
+ const lcp = [];
456
+ const minLen = Math.min(...parts.map((p) => p.length));
457
+ for (let i = 0; i < minLen; i++) {
458
+ const seg = parts[0][i];
459
+ if (parts.every((p) => p[i] === seg))
460
+ lcp.push(seg);
461
+ else
462
+ break;
463
+ }
464
+ // If LCP is empty (no common segment — shouldn't happen for grouped
465
+ // members), fall back to the first segment of the first name.
466
+ const prefix = lcp.length > 0 ? lcp.join('-') : parts[0][0];
467
+ clusters.push({
468
+ prefix,
469
+ names: group.map((s) => s.name),
470
+ triggerHint: extractTriggerHint(group),
471
+ });
472
+ for (const s of group)
473
+ used.add(s.name);
474
+ }
475
+ // Group by first segment.
476
+ const byHead = new Map();
477
+ for (const s of skills) {
478
+ const head = s.name.split('-')[0];
479
+ const arr = byHead.get(head) ?? [];
480
+ arr.push(s);
481
+ byHead.set(head, arr);
482
+ }
483
+ // Iterate in deterministic order.
484
+ const heads = Array.from(byHead.keys()).sort();
485
+ for (const head of heads)
486
+ refine(byHead.get(head), 2);
487
+ const singletons = skills.filter((s) => !used.has(s.name));
488
+ return { clusters, singletons };
489
+ }
490
+ /** Pull a short trigger phrase from the FIRST few skills' descriptions.
491
+ * Strips `[ECC] ` prefix and truncates aggressively (each contribution
492
+ * ≤ 40 chars). Returned string is ≤ 240 chars total. */
493
+ function extractTriggerHint(skills) {
494
+ const parts = [];
495
+ for (const s of skills.slice(0, 5)) {
496
+ const raw = (s.description || '').replace(/^\[ECC\]\s*/, '').trim();
497
+ if (!raw)
498
+ continue;
499
+ // Pull a short snippet: first sentence-ish or first 40 chars.
500
+ const stop = raw.search(/[。.!?!?]/);
501
+ let snippet = stop > 0 && stop < 60 ? raw.slice(0, stop) : raw.slice(0, 40);
502
+ snippet = snippet.replace(/\s+/g, ' ').trim();
503
+ if (snippet)
504
+ parts.push(snippet);
505
+ }
506
+ return parts.join(' · ').slice(0, 240);
507
+ }
508
+ /** v1.2.150 — heading text for each cluster bucket. */
509
+ const BUCKET_HEADINGS = {
510
+ 0: 'Framework (agim-* — 长期事实 / 提醒 / 自检 / skill 发现)',
511
+ 1: 'Agim builtin',
512
+ 2: 'ECC harness + methodology picks (recommended)',
513
+ 3: 'Workspace skills (operator-installed business)',
514
+ 4: 'ECC remainder (read full description via mcp__imhub__read_skill)',
515
+ };
298
516
  export function buildSkillsSummary() {
299
517
  const all = listSkills();
300
518
  if (all.length === 0)
301
519
  return '';
302
- const sorted = all.slice().sort((a, b) => a.name.localeCompare(b.name));
520
+ // v1.2.150 bucket + cluster-aware emission.
521
+ // Buckets 0, 1, 2: render each skill as an individual row with full
522
+ // description. Small + curated; the LLM needs the granularity.
523
+ // Bucket 3 (workspace): cluster when ≥ MIN_CLUSTER_SIZE share a
524
+ // prefix; otherwise individual rows. Lets operators with one big
525
+ // namespace (`fin-data-*`) get all names visible without burning
526
+ // dozens of full-description tokens.
527
+ // Bucket 4 (ECC remainder): always cluster aggressively + only
528
+ // emit name list (no per-cluster trigger hint) since this is the
529
+ // "you can read these on demand" pool. We still show every name
530
+ // so the LLM knows the surface.
531
+ const byBucket = { 0: [], 1: [], 2: [], 3: [], 4: [] };
532
+ for (const s of all)
533
+ byBucket[rankSkillBucket(s)].push(s);
534
+ for (const b of [0, 1, 2, 3, 4]) {
535
+ byBucket[b].sort((a, b2) => a.name.localeCompare(b2.name));
536
+ }
303
537
  const lines = [
304
538
  // v1.2.137 — routing rule, prepended to the skill list. Applies to
305
539
  // ALL agents (native / claude-code / codex / cursor / opencode) because
@@ -326,28 +560,63 @@ export function buildSkillsSummary() {
326
560
  '',
327
561
  '[agim skills available — read full body with mcp__imhub__read_skill(name)]',
328
562
  ];
329
- const visible = sorted.slice(0, MAX_INJECTED_SKILLS);
330
- for (const s of visible) {
563
+ // Helper: render one skill as an individual row with full description.
564
+ // Same shape as v1.2.149; defensive fallback for malformed descriptions.
565
+ const renderRow = (s) => {
331
566
  const reason = s.available ? '' : ` (unavailable: ${s.unavailableReason ?? 'requires not met'})`;
332
567
  const flag = s.always ? ' [always]' : '';
333
- // v1.2.65 — defensive fallback for SKILL.md files whose description
334
- // didn't parse (empty, just a YAML literal-block marker like ">-",
335
- // or whitespace-only). Without this the agent sees lines like
336
- // `- foo: >-` which look like an instruction tag and confuse the
337
- // model. Operator should fix the SKILL.md upstream, but a graceful
338
- // hint here keeps the catalog usable in the meantime.
339
568
  const descClean = (s.description || '').trim();
340
569
  const description = descClean && descClean !== '>-' && descClean !== '|'
341
570
  ? descClean
342
571
  : '(no description in SKILL.md — read body via mcp__imhub__read_skill)';
343
- lines.push(`- ${s.name}: ${description}${reason}${flag}`);
572
+ return `- ${s.name}: ${description}${reason}${flag}`;
573
+ };
574
+ // Buckets 0, 1, 2: individual rows (curated, small).
575
+ for (const b of [0, 1, 2]) {
576
+ const items = byBucket[b];
577
+ if (items.length === 0)
578
+ continue;
579
+ lines.push('');
580
+ lines.push(`## ${BUCKET_HEADINGS[b]} (${items.length})`);
581
+ for (const s of items)
582
+ lines.push(renderRow(s));
344
583
  }
345
- if (sorted.length > visible.length) {
346
- lines.push(`… and ${sorted.length - visible.length} more (use /skill list to see them all)`);
584
+ // Bucket 3 (workspace): cluster when MIN_CLUSTER_SIZE shared prefix,
585
+ // else individual rows. Per-cluster trigger hint included (the LLM is
586
+ // most likely to route into this bucket on operator-domain queries).
587
+ const ws = byBucket[3];
588
+ if (ws.length > 0) {
589
+ lines.push('');
590
+ lines.push(`## ${BUCKET_HEADINGS[3]} (${ws.length})`);
591
+ const { clusters, singletons } = clusterSkills(ws, 3);
592
+ for (const c of clusters) {
593
+ lines.push(`- ${c.prefix}-* (${c.names.length}): ${c.names.join(' · ')}`);
594
+ if (c.triggerHint)
595
+ lines.push(` → ${c.triggerHint}`);
596
+ }
597
+ for (const s of singletons)
598
+ lines.push(renderRow(s));
347
599
  }
348
- // Inline `always: true` skills' full bodies. Cheap when few; we bound
349
- // by injected count above so the agent's prompt budget can't explode.
350
- const alwaysOn = visible.filter((s) => s.always && s.available);
600
+ // Bucket 4 (ECC remainder): cluster aggressively, name-only (no per-
601
+ // cluster trigger hint these are the "on-demand" pool, the LLM gets
602
+ // a per-skill description if it actually calls read_skill).
603
+ const eccRem = byBucket[4];
604
+ if (eccRem.length > 0) {
605
+ lines.push('');
606
+ lines.push(`## ${BUCKET_HEADINGS[4]} (${eccRem.length})`);
607
+ const { clusters, singletons } = clusterSkills(eccRem, 3);
608
+ for (const c of clusters) {
609
+ lines.push(`- ${c.prefix}-* (${c.names.length}): ${c.names.join(' · ')}`);
610
+ }
611
+ if (singletons.length > 0) {
612
+ const names = singletons.map((s) => s.name).join(' · ');
613
+ lines.push(`- (other ECC, ${singletons.length}): ${names}`);
614
+ }
615
+ }
616
+ // Inline `always: true` skills' full bodies regardless of bucket.
617
+ // Cheap when few; operators opt-in by marking `always: true` in their
618
+ // SKILL.md, which is rare.
619
+ const alwaysOn = all.filter((s) => s.always && s.available);
351
620
  for (const s of alwaysOn) {
352
621
  const body = readSkillBody(s.name);
353
622
  if (!body)
@@ -475,7 +744,17 @@ function parseSkill(d) {
475
744
  const name = (front.name || d.name).trim();
476
745
  if (!name)
477
746
  return null;
478
- const description = (front.description || '').trim().slice(0, MAX_DESCRIPTION_CHARS);
747
+ let description = (front.description || '').trim().slice(0, MAX_DESCRIPTION_CHARS);
748
+ // v1.2.148 — defensive: when the YAML block-scalar marker leaks
749
+ // through (`>-` / `>` / `|` / `|-` left as the literal value because
750
+ // the continuation was malformed, the marker was prefixed by something
751
+ // else, or the operator left the body empty), we'd otherwise ship a
752
+ // garbage description into the system prompt. Substitute a fallback +
753
+ // warn so the operator notices.
754
+ if (/^(?:>-?|\|-?)$/.test(description)) {
755
+ log.warn({ event: 'skills.parse.literal_block_scalar', name, dir: d.dir, raw: description });
756
+ description = '(SKILL.md description used an unsupported YAML form — read body via mcp__imhub__read_skill)';
757
+ }
479
758
  if (!description) {
480
759
  log.warn({ event: 'skills.parse.no_description', name, dir: d.dir });
481
760
  return null;
@@ -507,6 +786,7 @@ function parseSkill(d) {
507
786
  requiresEnv,
508
787
  available,
509
788
  unavailableReason,
789
+ origin: front.origin ? String(front.origin).trim() : undefined,
510
790
  };
511
791
  }
512
792
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/skills/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/skills/loader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agim-cli",
3
- "version": "1.2.148",
3
+ "version": "1.2.150",
4
4
  "description": "Agim (阿吉姆) — universal messenger-to-agent bridge. Connect WeChat / Feishu / DingTalk / Email to Claude Code / Codex / OpenCode, or any custom agent via ACP. Installs the `agim` command.",
5
5
  "type": "module",
6
6
  "bin": {