@monoes/monomindcli 1.10.25 → 1.10.26

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.
@@ -143,11 +143,46 @@ function matchSkills(task, topN = 5) {
143
143
  .slice(0, topN);
144
144
  }
145
145
 
146
+ // Categories that are almost never relevant in a software project context.
147
+ // We exclude these from extras suggestions UNLESS the prompt has explicit
148
+ // keywords that opt them back in. Default-conservative: in a code repo,
149
+ // an "Anthropologist" for "community docs" or "Unity Architect" for a
150
+ // "community module" is noise, not signal.
151
+ const _NON_DEV_EXTRA_CATEGORIES = new Set([
152
+ 'academic', // Anthropologist, Geographer, Historian, Narratologist, Psychologist
153
+ 'game-development', // Unity/Unreal/Godot/Blender — irrelevant for non-game codebases
154
+ 'marketing',
155
+ 'sales',
156
+ 'paid-media',
157
+ 'design', // brand/UI/UX specialists — irrelevant for code reviews
158
+ ]);
159
+
160
+ // Per-category opt-in keywords. If the prompt mentions one of these, that
161
+ // category is allowed back into extras.
162
+ const _CATEGORY_OPTIN_KEYWORDS = {
163
+ 'academic': /\b(anthropolog|sociolog|cultural|ritual|kinship|ethnograph|histor(?:y|ical|ian)|geograph|narratolog|psycholog|belief\s*system)\b/i,
164
+ 'game-development': /\b(unity|unreal|godot|blender|game\s*(?:design|dev|engine)|gameplay|shader\s*graph|level\s*design|ugc|roblox)\b/i,
165
+ 'marketing': /\b(marketing|advertis|seo|tiktok|instagram|linkedin\s*content|brand|campaign|growth\s*hack|copywrit|blog\s*post|press\s*release|launch\s*strategy|pitch|investor)\b/i,
166
+ 'sales': /\b(sales|prospect|outbound|pipeline|crm|cold\s*email|deal|account\s*strategy|quota|forecast|qbr)\b/i,
167
+ 'paid-media': /\b(paid\s*media|ads?|google\s*ads|meta\s*ads|programmatic|ppc|cpa|conversion\s*tracking)\b/i,
168
+ 'design': /\b(figma|brand\s*identity|design\s*system|ux\s*research|persona|usability|wireframe|prototype|color\s*palette|typography|moodboard)\b/i,
169
+ };
170
+
171
+ function _allowedExtraCategories(taskLower) {
172
+ const allowed = new Set();
173
+ for (const [cat, re] of Object.entries(_CATEGORY_OPTIN_KEYWORDS)) {
174
+ if (re.test(taskLower)) allowed.add(cat);
175
+ }
176
+ return allowed;
177
+ }
178
+
146
179
  function matchExtras(task, topN = 8) {
147
180
  if (typeof task !== 'string') return [];
148
181
  const registry = loadExtrasRegistry();
149
182
  const taskLower = task.toLowerCase();
183
+ const optedIn = _allowedExtraCategories(taskLower);
150
184
  return registry.extras
185
+ .filter(e => !_NON_DEV_EXTRA_CATEGORIES.has(e.category) || optedIn.has(e.category))
151
186
  .map(e => ({ slug: e.slug, name: e.name, description: e.description, category: e.category, filePath: e.filePath, score: scoreEntry(e.keywords, taskLower) }))
152
187
  .filter(e => e.score > 0)
153
188
  .sort((a, b) => b.score - a.score)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monoes/monomindcli",
3
- "version": "1.10.25",
3
+ "version": "1.10.26",
4
4
  "type": "module",
5
5
  "description": "Monomind CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
6
6
  "main": "dist/src/index.js",