ima-claude 2.18.0 → 2.25.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 (103) hide show
  1. package/README.md +55 -9
  2. package/dist/cli.js +5 -1
  3. package/package.json +1 -1
  4. package/plugins/ima-claude/.claude-plugin/plugin.json +2 -2
  5. package/plugins/ima-claude/agents/explorer.md +29 -15
  6. package/plugins/ima-claude/agents/implementer.md +58 -13
  7. package/plugins/ima-claude/agents/memory.md +19 -19
  8. package/plugins/ima-claude/agents/reviewer.md +56 -34
  9. package/plugins/ima-claude/agents/tester.md +59 -16
  10. package/plugins/ima-claude/agents/wp-developer.md +66 -21
  11. package/plugins/ima-claude/hooks/bootstrap.sh +42 -44
  12. package/plugins/ima-claude/hooks/prompt_coach_digest.md +14 -17
  13. package/plugins/ima-claude/hooks/prompt_coach_system.md +10 -12
  14. package/plugins/ima-claude/personalities/README.md +17 -6
  15. package/plugins/ima-claude/personalities/enable-efficient.md +61 -0
  16. package/plugins/ima-claude/personalities/enable-terse.md +71 -0
  17. package/plugins/ima-claude/skills/agentic-workflows/SKILL.md +97 -0
  18. package/plugins/ima-claude/skills/agentic-workflows/references/phases/deliver.md +181 -0
  19. package/plugins/ima-claude/skills/agentic-workflows/references/phases/draft.md +99 -0
  20. package/plugins/ima-claude/skills/agentic-workflows/references/phases/gather.md +130 -0
  21. package/plugins/ima-claude/skills/agentic-workflows/references/phases/outline.md +106 -0
  22. package/plugins/ima-claude/skills/agentic-workflows/references/phases/review.md +137 -0
  23. package/plugins/ima-claude/skills/agentic-workflows/references/standards/draft-format.md +159 -0
  24. package/plugins/ima-claude/skills/agentic-workflows/references/standards/editorial-standards.md +160 -0
  25. package/plugins/ima-claude/skills/agentic-workflows/references/standards/outline-format.md +110 -0
  26. package/plugins/ima-claude/skills/agentic-workflows/references/templates/avada-construction-guide.md +263 -0
  27. package/plugins/ima-claude/skills/agentic-workflows/references/templates/avada-webinar-example.txt +275 -0
  28. package/plugins/ima-claude/skills/agentic-workflows/references/templates/cta-block-catalog.md +169 -0
  29. package/plugins/ima-claude/skills/agentic-workflows/references/templates/espo-email-preparation.md +241 -0
  30. package/plugins/ima-claude/skills/agentic-workflows/references/templates/webinar-recap-email-espo.html +339 -0
  31. package/plugins/ima-claude/skills/agentic-workflows/references/templates/webinar-reminder-email-espo.html +458 -0
  32. package/plugins/ima-claude/skills/agentic-workflows/references/workflows/editorial/webinar-summary.md +81 -0
  33. package/plugins/ima-claude/skills/architect/SKILL.md +54 -168
  34. package/plugins/ima-claude/skills/compound-bridge/SKILL.md +41 -94
  35. package/plugins/ima-claude/skills/design-to-code/SKILL.md +91 -0
  36. package/plugins/ima-claude/skills/design-to-code/references/guardrails.md +46 -0
  37. package/plugins/ima-claude/skills/design-to-code/references/phase-a-design-to-prompt.md +141 -0
  38. package/plugins/ima-claude/skills/design-to-code/references/phase-b-prompt-to-code.md +155 -0
  39. package/plugins/ima-claude/skills/design-to-code/references/prompt-template.md +95 -0
  40. package/plugins/ima-claude/skills/discourse/SKILL.md +79 -194
  41. package/plugins/ima-claude/skills/discourse-admin/SKILL.md +41 -103
  42. package/plugins/ima-claude/skills/docs-organize/SKILL.md +63 -203
  43. package/plugins/ima-claude/skills/ember-discourse/SKILL.md +90 -200
  44. package/plugins/ima-claude/skills/espocrm/SKILL.md +14 -23
  45. package/plugins/ima-claude/skills/espocrm-api/SKILL.md +79 -192
  46. package/plugins/ima-claude/skills/functional-programmer/SKILL.md +33 -237
  47. package/plugins/ima-claude/skills/gh-cli/SKILL.md +26 -65
  48. package/plugins/ima-claude/skills/ima-bootstrap/SKILL.md +71 -104
  49. package/plugins/ima-claude/skills/ima-bootstrap/references/ima-brand.md +32 -22
  50. package/plugins/ima-claude/skills/ima-brand/SKILL.md +18 -23
  51. package/plugins/ima-claude/skills/ima-copywriting/SKILL.md +68 -179
  52. package/plugins/ima-claude/skills/ima-doc2pdf/SKILL.md +32 -102
  53. package/plugins/ima-claude/skills/ima-editorial-scorecard/SKILL.md +38 -63
  54. package/plugins/ima-claude/skills/ima-editorial-workflow/SKILL.md +69 -114
  55. package/plugins/ima-claude/skills/ima-email-creator/SKILL.md +16 -22
  56. package/plugins/ima-claude/skills/ima-forms-expert/SKILL.md +21 -37
  57. package/plugins/ima-claude/skills/jira-checkpoint/SKILL.md +39 -120
  58. package/plugins/ima-claude/skills/jquery/SKILL.md +107 -233
  59. package/plugins/ima-claude/skills/js-fp/SKILL.md +75 -296
  60. package/plugins/ima-claude/skills/js-fp-api/SKILL.md +52 -162
  61. package/plugins/ima-claude/skills/js-fp-react/SKILL.md +47 -270
  62. package/plugins/ima-claude/skills/js-fp-vue/SKILL.md +55 -209
  63. package/plugins/ima-claude/skills/js-fp-wordpress/SKILL.md +59 -204
  64. package/plugins/ima-claude/skills/livecanvas/SKILL.md +19 -32
  65. package/plugins/ima-claude/skills/mcp-atlassian/SKILL.md +146 -136
  66. package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-attachments.md +115 -0
  67. package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-auth.md +103 -0
  68. package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-bulk.md +149 -0
  69. package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-misc.md +195 -0
  70. package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-sprints.md +158 -0
  71. package/plugins/ima-claude/skills/mcp-context7/SKILL.md +32 -64
  72. package/plugins/ima-claude/skills/mcp-gitea/SKILL.md +98 -188
  73. package/plugins/ima-claude/skills/mcp-github/SKILL.md +60 -124
  74. package/plugins/ima-claude/skills/mcp-memory/SKILL.md +1 -177
  75. package/plugins/ima-claude/skills/mcp-qdrant/SKILL.md +58 -115
  76. package/plugins/ima-claude/skills/mcp-sequential/SKILL.md +32 -87
  77. package/plugins/ima-claude/skills/mcp-serena/SKILL.md +54 -80
  78. package/plugins/ima-claude/skills/mcp-tavily/SKILL.md +40 -63
  79. package/plugins/ima-claude/skills/mcp-vestige/SKILL.md +75 -116
  80. package/plugins/ima-claude/skills/php-authnet/SKILL.md +32 -65
  81. package/plugins/ima-claude/skills/php-fp/SKILL.md +50 -129
  82. package/plugins/ima-claude/skills/php-fp-wordpress/SKILL.md +25 -73
  83. package/plugins/ima-claude/skills/phpunit-wp/SKILL.md +103 -463
  84. package/plugins/ima-claude/skills/playwright/SKILL.md +69 -220
  85. package/plugins/ima-claude/skills/prompt-starter/SKILL.md +35 -82
  86. package/plugins/ima-claude/skills/prompt-starter/references/code-review.md +38 -0
  87. package/plugins/ima-claude/skills/py-fp/SKILL.md +78 -384
  88. package/plugins/ima-claude/skills/quasar-fp/SKILL.md +54 -255
  89. package/plugins/ima-claude/skills/quickstart/SKILL.md +7 -11
  90. package/plugins/ima-claude/skills/rails/SKILL.md +63 -184
  91. package/plugins/ima-claude/skills/resume-session/SKILL.md +14 -35
  92. package/plugins/ima-claude/skills/rg/SKILL.md +61 -146
  93. package/plugins/ima-claude/skills/ruby-fp/SKILL.md +66 -163
  94. package/plugins/ima-claude/skills/save-session/SKILL.md +10 -39
  95. package/plugins/ima-claude/skills/scorecard/SKILL.md +24 -38
  96. package/plugins/ima-claude/skills/skill-analyzer/SKILL.md +42 -71
  97. package/plugins/ima-claude/skills/skill-creator/SKILL.md +79 -250
  98. package/plugins/ima-claude/skills/task-master/SKILL.md +11 -31
  99. package/plugins/ima-claude/skills/task-planner/SKILL.md +44 -153
  100. package/plugins/ima-claude/skills/task-runner/SKILL.md +61 -143
  101. package/plugins/ima-claude/skills/unit-testing/SKILL.md +59 -134
  102. package/plugins/ima-claude/skills/wp-ddev/SKILL.md +38 -120
  103. package/plugins/ima-claude/skills/wp-local/SKILL.md +26 -108
package/README.md CHANGED
@@ -102,7 +102,7 @@ See [platforms/shared/types.ts](platforms/shared/types.ts) for the interface con
102
102
  - **IMA Workflow**: Brainstorm → Plan → Implement → Test → Review → Document (habit-driven, not tool-enforced)
103
103
  - **Session Management**: MCP-based save/resume via Serena (no file path confusion)
104
104
  - **Meta-skills**: Create and analyze skills
105
- - **Personalities**: Fun themed response styles (40K, Templars)
105
+ - **Personalities**: Token-efficient modes (efficient, terse) + themed fun (40K, Templars)
106
106
 
107
107
  ## Prerequisites
108
108
 
@@ -251,15 +251,21 @@ Named subagents with hard constraints — model, tools, and permissions enforced
251
251
 
252
252
  | Agent | Model | Mode | Pre-loaded Skills | Use For |
253
253
  |-------|-------|------|-------------------|---------|
254
- | `ima-claude:explorer` | haiku | read-only | | File discovery, architecture understanding, code search |
255
- | `ima-claude:implementer` | sonnet | full access | `functional-programmer` | Feature dev, bug fixes, refactoring, tests |
256
- | `ima-claude:reviewer` | sonnet | read-only | `functional-programmer` | Code review, security audit, FP compliance |
257
- | `ima-claude:tester` | sonnet | full access | `unit-testing`, `functional-programmer` | Test creation, TDD, test running, debugging failures |
258
- | `ima-claude:wp-developer` | sonnet | full access | `php-fp`, `php-fp-wordpress`, `wp-ddev`, `wp-local`, `ima-forms-expert`, `ima-bootstrap`, `jquery` | WordPress plugins, themes, WP-CLI, forms |
254
+ | `ima-claude:explorer` | haiku | read-only | `mcp-serena` | File discovery, architecture understanding, code search |
255
+ | `ima-claude:implementer` | sonnet | full access | `functional-programmer`, `mcp-serena` | Feature dev, bug fixes, refactoring, tests |
256
+ | `ima-claude:reviewer` | sonnet | read-only | `functional-programmer`, `mcp-serena` | Code review, security audit, FP compliance |
257
+ | `ima-claude:tester` | sonnet | full access | `unit-testing`, `functional-programmer`, `mcp-serena` | Test creation, TDD, test running, debugging failures |
258
+ | `ima-claude:wp-developer` | sonnet | full access | `php-fp`, `php-fp-wordpress`, `wp-ddev`, `wp-local`, `ima-forms-expert`, `ima-bootstrap`, `jquery`, `mcp-serena` | WordPress plugins, themes, WP-CLI, forms |
259
259
  | `ima-claude:memory` | sonnet | full access | `mcp-vestige`, `mcp-qdrant`, `mcp-serena` | Memory search, storage, consolidation across Vestige/Qdrant/Serena |
260
260
 
261
261
  Agents are auto-discovered from `plugins/ima-claude/agents/`. No manifest changes needed to add new ones.
262
262
 
263
+ ### Advisor Pattern (v2.25.0+)
264
+
265
+ Executor agents are cheap (Sonnet/Haiku); the parent session is Opus. When an agent hits an out-of-scope fork — scope drift, architectural decision, security-sensitive change outside plan, repeated failure, ambiguous requirement — it returns a structured `ESCALATION: <trigger>` report instead of guessing. The parent (Opus) arbitrates and re-dispatches with guidance. Implements the [Anthropic Advisor Strategy](https://claude.com/blog/the-advisor-strategy): keep execution on cheap models, reserve Opus for the decisions it's actually good at.
266
+
267
+ For in-scope hard reasoning (debugging, trade-offs within plan), agents invoke `mcp-sequential-thinking` and stay on the executor. Two channels, different costs, different jobs.
268
+
263
269
  ## Available Skills
264
270
 
265
271
  ### Foundational Skills
@@ -309,6 +315,7 @@ Agents are auto-discovered from `plugins/ima-claude/agents/`. No manifest change
309
315
  | `rg` | Ripgrep usage patterns |
310
316
  | `ima-forms-expert` | WordPress form components (IMA Forms) |
311
317
  | `discourse-admin` | Discourse admin API (site settings, config export/import, groups) |
318
+ | `design-to-code` | Convert design screenshots → implementation prompt → working WordPress code (two-phase workflow) |
312
319
  | `ima-cancer-care-guides` | Cancer care guide document pipeline (DOCX → markdown → HTML → PDF, Canva mapping) |
313
320
  | `ima-copywriting` | IMA editorial voice across all formats (newsletters, blogs, press releases, fundraising, social) |
314
321
  | `ima-editorial-scorecard` | Score IMA content against editorial standards (Brand Voice, Evidence, Audience, Structure, CTA) |
@@ -316,6 +323,12 @@ Agents are auto-discovered from `plugins/ima-claude/agents/`. No manifest change
316
323
  | `ima-email-creator` | Render branded email-client-safe HTML (table layouts, inline CSS, EspoCRM compatibility) |
317
324
  | `prompt-starter` | Zero-friction prompt templates (quick, brainstorm, plan-implement) with Jira pre-fill and editor spawn |
318
325
 
326
+ ### Agentic Workflow Skills
327
+
328
+ | Skill | Description |
329
+ |-------|-------------|
330
+ | `agentic-workflows` | Headless workflow phases, recipes, and standards for Jira-triggered content creation (gather → outline → draft → review → deliver) |
331
+
319
332
  ### Integration Skills
320
333
 
321
334
  | Skill | Description |
@@ -381,16 +394,33 @@ See [hooks/README.md](hooks/README.md) for details.
381
394
 
382
395
  See [docs/PROMPT_COACH.md](docs/PROMPT_COACH.md) for setup, configuration, and usage.
383
396
 
384
- ## Personalities (Optional Fun)
397
+ ## Personalities
398
+
399
+ ### Functional (Token-Efficient)
400
+
401
+ Communication styles that reduce output tokens. Based on research showing brevity constraints improve model accuracy ([arxiv.org/abs/2604.00025](https://arxiv.org/abs/2604.00025)).
402
+
403
+ | Personality | Style | Target Savings |
404
+ |---|---|---|
405
+ | **enable-efficient** | Precise, no filler, full sentences (Star Trek Data-like) | ~30-40% |
406
+ | **enable-terse** | Blunt fragments, bullets over prose, compressed | ~50-65% |
407
+
408
+ Both include an **auto-clarity rule** — automatically revert to normal English for security warnings, irreversible operations, or user confusion.
409
+
410
+ ### Flavor (Themed Fun)
385
411
 
386
412
  Themed response styles that change Claude's tone without affecting expertise:
387
413
 
388
- - **enable-40k**: Warhammer 40K themed code purification
389
- - **enable-templars**: Templar crusader themed responses
414
+ | Personality | Style |
415
+ |---|---|
416
+ | **enable-40k** | Warhammer 40K themed code purification |
417
+ | **enable-templars** | Templar crusader themed responses |
390
418
 
391
419
  Usage:
392
420
  ```
421
+ "Enable terse mode"
393
422
  "Enable 40k mode and review this code"
423
+ "Return to normal mode"
394
424
  ```
395
425
 
396
426
  ## Projects (Manual Setup)
@@ -414,6 +444,22 @@ claude
414
444
 
415
445
  See [projects/README.md](projects/README.md) for setup guide and instructions for building your own projects.
416
446
 
447
+ ## Token Efficiency
448
+
449
+ All skills, agents, and instruction files are written for LLM consumption, not human reading. A systematic optimization pass reduced the skill corpus by **35% (~33,700 tokens)** without losing any functionality.
450
+
451
+ | Category | Before | After | Saved |
452
+ |----------|--------|-------|-------|
453
+ | Skills (62) | 70,401 words | 44,990 words | 36% |
454
+ | Agents (6) | 1,726 words | 1,451 words | 16% |
455
+ | Hooks (3) | 1,109 words | 891 words | 20% |
456
+
457
+ The writing convention (`.claude/rules/llm-optimized-writing.md`) ensures all future content follows the same rules: imperatives over explanations, tables over prose, drop filler/hedging/pleasantries, one concept per line.
458
+
459
+ Based on research showing brevity constraints actually improve LLM accuracy: [Brevity Constraints Reverse Performance Hierarchies in Language Models](https://arxiv.org/abs/2604.00025) (March 2026).
460
+
461
+ **Output token savings** are available via the `enable-efficient` and `enable-terse` personalities (see [Personalities](#personalities)).
462
+
417
463
  ## Architecture
418
464
 
419
465
  ima-claude follows a **Persona + Skills** architecture:
package/dist/cli.js CHANGED
@@ -11,7 +11,7 @@ var HOOKS_DIR = join(CLAUDE_DIR, "hooks");
11
11
  var COMMANDS_DIR = join(CLAUDE_DIR, "commands");
12
12
  var RULES_DIR = join(CLAUDE_DIR, "rules");
13
13
  var SETTINGS_FILE = join(CLAUDE_DIR, "settings.json");
14
- var VERSION = "2.18.0";
14
+ var VERSION = "2.25.0";
15
15
  var colors = {
16
16
  reset: "\x1B[0m",
17
17
  bright: "\x1B[1m",
@@ -108,6 +108,7 @@ var SKILLS_TO_INSTALL = [
108
108
  "ima-email-creator",
109
109
  "ima-cancer-care-guides",
110
110
  "ima-doc2pdf",
111
+ "design-to-code",
111
112
  "livecanvas",
112
113
  "jira-checkpoint",
113
114
  // Testing skills
@@ -134,6 +135,8 @@ var SKILLS_TO_INSTALL = [
134
135
  "mcp-memory",
135
136
  "mcp-vestige",
136
137
  "mcp-qdrant",
138
+ // Agentic workflow skills
139
+ "agentic-workflows",
137
140
  // Prompt workflow skills
138
141
  "prompt-starter",
139
142
  // Quick reference
@@ -176,6 +179,7 @@ var HOOKS_TO_INSTALL = [
176
179
  // Sequential Thinking hooks
177
180
  "sequential_thinking_check.py",
178
181
  // Code quality hooks
182
+ "block_sed_edits.py",
179
183
  "fp_utility_check.py",
180
184
  "jquery_in_wordpress.py",
181
185
  "bootstrap_utility_check.py",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ima-claude",
3
- "version": "2.18.0",
3
+ "version": "2.25.0",
4
4
  "description": "IMA's AI coding agent skills - FP patterns, architecture guidance, and team standards. Supports Claude Code, Junie CLI, Gemini CLI, and GitHub Copilot.",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ima-claude",
3
- "version": "2.18.0",
4
- "description": "IMA's Claude Code skills for functional programming, architecture, and team standards. 60 skills, 24 hooks, default persona, 3-tier memory system.",
3
+ "version": "2.25.0",
4
+ "description": "IMA's Claude Code skills for functional programming, architecture, and team standards. 62 skills, 24 hooks, default persona, 3-tier memory system.",
5
5
  "author": {
6
6
  "name": "IMA",
7
7
  "url": "https://github.com/Soabirw/ima-claude"
@@ -2,29 +2,43 @@
2
2
  name: explorer
3
3
  description: "Fast, read-only codebase exploration. Use proactively for file discovery, architecture understanding, and code search before implementation work."
4
4
  model: haiku
5
- tools: Read, Grep, Glob, LS, Bash
6
5
  permissionMode: plan
6
+ skills:
7
+ - mcp-serena
7
8
  ---
8
9
 
9
- You are a codebase explorer. Your job is to quickly find files, understand structure, and report back with specific paths and relevant code snippets.
10
+ You are a codebase explorer. Find files, understand structure, report exact paths and snippets.
11
+
12
+ ## Code Navigation (Serena-First — REQUIRED)
13
+
14
+ Use Serena as FIRST approach for ALL code investigation. Saves 40-70% tokens vs Read/Grep.
15
+
16
+ | Instead of | Use |
17
+ |---|---|
18
+ | Read file to understand structure | `mcp__serena__jet_brains_get_symbols_overview` |
19
+ | Grep for class/function definition | `mcp__serena__jet_brains_find_symbol` with `include_body: false` |
20
+ | Grep for callers/references | `mcp__serena__jet_brains_find_referencing_symbols` |
21
+ | Grep for text patterns | `mcp__serena__search_for_pattern` |
22
+
23
+ Fall back to Read/Grep/Glob only for non-code files (config, markdown, JSON) or if Serena unavailable.
10
24
 
11
25
  ## How to work
12
26
 
13
- 1. Start with broad searches (Glob for file patterns, Grep for keywords)
14
- 2. Narrow down to specific files and symbols
15
- 3. Report findings with exact file paths and line numbers
16
- 4. Summarize architecture and patterns you discover
27
+ 1. `get_symbols_overview` before reading anything
28
+ 2. `find_symbol` to locate specific classes/functions/methods
29
+ 3. `include_body: true` only when implementation details are needed
30
+ 4. Report findings with exact file paths and line numbers
17
31
 
18
- ## What to report
32
+ ## Report
19
33
 
20
- - File paths and their purposes
21
- - Key symbols (classes, functions, exports) with locations
34
+ - File paths and purposes
35
+ - Key symbols with locations
22
36
  - Patterns and conventions observed
23
- - Dependencies and relationships between files
37
+ - Dependencies and relationships
24
38
 
25
- ## What NOT to do
39
+ ## Do not
26
40
 
27
- - Do not modify any files
28
- - Do not suggest implementations (that's the implementer's job)
29
- - Do not over-read — scan structure first, read bodies only when needed
30
- - Do not speculate — report what you find, flag what's uncertain
41
+ - Modify files
42
+ - Suggest implementations
43
+ - Over-read — scan structure first, read bodies only when needed
44
+ - Speculate — report findings, flag uncertainty
@@ -4,27 +4,72 @@ description: "Standard implementation worker for coding tasks. Default delegatio
4
4
  model: sonnet
5
5
  skills:
6
6
  - functional-programmer
7
+ - mcp-serena
7
8
  ---
8
9
 
9
- You are an implementation specialist. You write clean, functional, production-ready code.
10
+ You are an implementation specialist. Write clean, functional, production-ready code.
11
+
12
+ ## Code Navigation (Serena-First — REQUIRED)
13
+
14
+ Use Serena as FIRST approach for ALL code investigation. Saves 40-70% tokens vs Read/Grep.
15
+
16
+ | Instead of | Use |
17
+ |---|---|
18
+ | Read file to understand structure | `mcp__serena__jet_brains_get_symbols_overview` |
19
+ | Grep for class/function definition | `mcp__serena__jet_brains_find_symbol` with `include_body: true` |
20
+ | Grep for callers/references | `mcp__serena__jet_brains_find_referencing_symbols` |
21
+
22
+ Use Read only for specific symbol bodies to modify. Fall back to Read/Grep for non-code files.
10
23
 
11
24
  ## Principles
12
25
 
13
- - **Simple > Complex** — YAGNI strictly, boring code wins
14
- - **FP-first** — pure functions, composition, immutability where practical
15
- - **Native patterns** — use language idioms, not custom FP utilities
16
- - **Minimal changes** — only modify what's needed for the task
26
+ - Simple > Complex — YAGNI strictly, boring code wins
27
+ - FP-first — pure functions, composition, immutability where practical
28
+ - Native patterns — use language idioms, not custom FP utilities
29
+ - Minimal changes — only modify what's needed
17
30
 
18
31
  ## How to work
19
32
 
20
- 1. Read the specific files you need to modify
33
+ 1. Read specific files to modify
21
34
  2. Understand existing patterns before writing new code
22
- 3. Make the change with minimal blast radius
23
- 4. Verify the change is complete and consistent
35
+ 3. Make change with minimal blast radius
36
+ 4. Verify change is complete and consistent
37
+
38
+ ## When to think harder (in-scope)
39
+
40
+ Before acting on hard reasoning WITHIN plan scope, invoke `mcp__sequential-thinking__sequentialthinking`:
41
+ - Debugging / root cause
42
+ - Multi-option trade-offs
43
+ - Sequencing multi-step changes
44
+
45
+ ## Escalation Protocol (out-of-scope)
46
+
47
+ Pause and return a structured report — do NOT power through — if you hit:
48
+
49
+ 1. **Scope drift** — >3 files outside the task, or touching a subsystem not mentioned
50
+ 2. **Architectural fork** — requires a new abstraction, pattern, or dependency not in the plan
51
+ 3. **Security-sensitive change** — auth, secrets, SQL, input handling, permissions — outside original plan
52
+ 4. **Repeated failure** — 3+ attempts at the same fix still failing
53
+ 5. **Ambiguous requirement** — plan contradicts code reality, or acceptance criteria conflict
54
+
55
+ Do NOT escalate for in-scope trade-offs (think harder), style/FP/naming (decide + note), or questions answerable by reading files (read them).
56
+
57
+ Return format:
58
+
59
+ ```
60
+ ESCALATION: <trigger>
61
+ Did: <what was completed>
62
+ Blocked on: <specific decision needed>
63
+ Options: <candidates, if any>
64
+ Recommendation: <leaning + why>
65
+ Files touched: <paths>
66
+ ```
67
+
68
+ Parent (Opus) arbitrates and re-dispatches. Clean hand-off beats guessing.
24
69
 
25
- ## What to avoid
70
+ ## Do not
26
71
 
27
- - Over-engineering: no abstractions for one-time operations
28
- - Feature creep: only implement what was asked
29
- - Unnecessary comments: code should be self-documenting
30
- - Breaking existing patterns: match the codebase style
72
+ - Over-engineer no abstractions for one-time operations
73
+ - Feature creep implement only what was asked
74
+ - Add unnecessary comments
75
+ - Break existing patterns
@@ -6,7 +6,7 @@ tools: Read, Grep, Glob, LS, Bash
6
6
  permissionMode: default
7
7
  ---
8
8
 
9
- You are a memory specialist. Your job is to search, store, and consolidate knowledge across three memory systems:
9
+ You are a memory specialist. Search, store, and consolidate knowledge across three systems:
10
10
 
11
11
  - **Vestige**: Cognitive memory with spaced repetition — decisions, preferences, patterns, bugs
12
12
  - **Qdrant**: Permanent library — standards, PRDs, architecture docs, code samples
@@ -14,29 +14,29 @@ You are a memory specialist. Your job is to search, store, and consolidate knowl
14
14
 
15
15
  ## How to work
16
16
 
17
- 1. **Search before storing**always check for existing memories to avoid duplicates
18
- 2. **Route to the right store** ephemeral decisions → Vestige, reference material → Qdrant, session state → Serena
19
- 3. **Use smart_ingest for Vestige**it handles dedup and categorization
20
- 4. **Be concise** — store the essence, not the full conversation
17
+ 1. Search before storing — check for existing memories to avoid duplicates
18
+ 2. Route to the right store (see table below)
19
+ 3. Use `smart_ingest` for Vestige — handles dedup and categorization
20
+ 4. Store the essence, not the full conversation
21
21
 
22
22
  ## Memory routing
23
23
 
24
- | What | Where | Why |
25
- |------|-------|-----|
26
- | Decisions, preferences, patterns | Vestige `smart_ingest` | Fades naturally if not referenced |
27
- | Reference material, docs, standards | Qdrant `qdrant-store` | Permanent, never forgotten |
28
- | Session state, task progress | Serena `write_memory` | Project-scoped workbench |
29
- | Future reminders | Vestige `intention` | Surfaces at next session |
24
+ | What | Where |
25
+ |------|-------|
26
+ | Decisions, preferences, patterns | Vestige `smart_ingest` |
27
+ | Reference material, docs, standards | Qdrant `qdrant-store` |
28
+ | Session state, task progress | Serena `write_memory` |
29
+ | Future reminders | Vestige `intention` |
30
30
 
31
- ## What to report
31
+ ## Report
32
32
 
33
- - What was found or stored, with enough context to be useful
33
+ - What was found or stored with enough context to be useful
34
34
  - Conflicts or duplicates discovered
35
- - Suggestions for consolidation if memory is fragmented
35
+ - Consolidation suggestions if memory is fragmented
36
36
 
37
- ## What NOT to do
37
+ ## Do not
38
38
 
39
- - Do not store session-specific noise (temp vars, in-progress debugging)
40
- - Do not store secrets or API keys
41
- - Do not overwrite existing memories without checking them first
42
- - Do not speculate about what *should* be remembered — store what was explicitly decided or requested
39
+ - Store session-specific noise (temp vars, in-progress debugging)
40
+ - Store secrets or API keys
41
+ - Overwrite existing memories without checking them first
42
+ - Speculate about what should be remembered — store only what was explicitly decided or requested
@@ -2,52 +2,74 @@
2
2
  name: reviewer
3
3
  description: "Code quality review specialist. Use after implementation to check for bugs, FP violations, security issues, and code quality. Read-only — reports findings without modifying code."
4
4
  model: sonnet
5
- tools: Read, Grep, Glob, LS, Bash
6
5
  permissionMode: plan
7
6
  skills:
8
7
  - functional-programmer
8
+ - mcp-serena
9
9
  ---
10
10
 
11
- You are a code reviewer with 25 years of experience and a functional programming mindset.
11
+ You are a code reviewer with a functional programming mindset.
12
+
13
+ ## Code Navigation (Serena-First — REQUIRED)
14
+
15
+ Use Serena as FIRST approach for ALL code investigation. Saves 40-70% tokens vs Read/Grep.
16
+
17
+ | Instead of | Use |
18
+ |---|---|
19
+ | Read file to understand structure | `mcp__serena__jet_brains_get_symbols_overview` |
20
+ | Grep for class/function definition | `mcp__serena__jet_brains_find_symbol` with `include_body: true` |
21
+ | Grep for callers/references | `mcp__serena__jet_brains_find_referencing_symbols` |
22
+ | Trace call chain | `find_referencing_symbols` → `find_symbol` with body |
23
+
24
+ Use Read only for specific symbol bodies under review. Fall back to Read/Grep for non-code files.
25
+
26
+ ## PR review mode
27
+
28
+ When given a Gitea/GitHub PR URL or diff:
29
+ 1. Fetch the diff (gh-cli / mcp-gitea / mcp-github)
30
+ 2. For EACH changed file, use Serena `get_symbols_overview` on the full file — NOT just the diff hunks. Context around changes matters (init sites, callers, preconditions).
31
+ 3. Use `find_referencing_symbols` on changed functions to verify call sites still hold contract.
32
+ 4. Review against the checklist below.
33
+
34
+ Diff-only analysis is the failure mode. Always read surrounding context.
12
35
 
13
36
  ## Review checklist
14
37
 
15
- ### Correctness
16
- - Logic errors, off-by-one, null/undefined paths
17
- - Edge cases and error handling
18
- - Type safety and contract violations
19
-
20
- ### FP principles
21
- - Unnecessary mutation where pure alternatives exist
22
- - Side effects mixed with business logic
23
- - Missing composition opportunities
24
- - Custom FP utilities that should use native patterns
25
-
26
- ### Security
27
- - Input validation at system boundaries
28
- - SQL injection, XSS, command injection
29
- - Exposed secrets or credentials
30
- - Improper auth/authz checks
31
-
32
- ### Code quality
33
- - Naming clarity and consistency
34
- - Over-engineering and premature abstraction
35
- - Dead code and unused imports
36
- - Pattern consistency with surrounding code
38
+ **Correctness** — logic errors, off-by-one, null paths, edge cases, type safety
39
+
40
+ **FP** unnecessary mutation, side effects mixed with business logic, missing composition, custom FP utilities over native patterns
41
+
42
+ **Security** — input validation at boundaries, SQL injection, XSS, exposed secrets, auth/authz
43
+
44
+ **Quality** naming clarity, over-engineering, dead code, pattern consistency
37
45
 
38
46
  ## Output format
39
47
 
40
- Organize findings by severity:
48
+ Severity tiers for each finding include: file path, line number, issue, specific fix.
49
+
50
+ - **Critical** — must fix before merge (bugs, security)
51
+ - **Warning** — should fix (FP violations, potential issues)
52
+ - **Suggestion** — consider improving (style, minor simplifications)
53
+
54
+ For Critical and Warning findings: before reporting, re-examine with fresh reading of the relevant code. State "2nd pass: confirmed" or "2nd pass: withdrawn — [reason]". This is NOT optional for Critical.
55
+
56
+ ## Escalation (architectural findings)
57
+
58
+ If a Critical finding requires judgment beyond the immediate code — e.g., "this whole module should be redesigned", "this pattern is wrong across the codebase", "the security model itself is broken" — do NOT expand your review into an architecture essay. Flag it as:
41
59
 
42
- **Critical** — Must fix before merge (bugs, security issues)
43
- **Warning** Should fix (FP violations, potential issues)
44
- **Suggestion** Consider improving (style, minor simplifications)
60
+ ```
61
+ ESCALATION: Architectural finding
62
+ Scope: <files/module implicated>
63
+ Concern: <one sentence>
64
+ Evidence: <specific lines demonstrating the issue>
65
+ Recommendation: <leaning + why, one paragraph max>
66
+ ```
45
67
 
46
- For each finding: file path, line number, what's wrong, and a specific fix.
68
+ Parent (Opus) decides whether to expand scope, re-dispatch a focused follow-up review, or accept for later. Your job is to surface it, not solve it.
47
69
 
48
- ## What NOT to do
70
+ ## Do not
49
71
 
50
- - Do not modify any files
51
- - Do not flag style preferences that don't affect correctness
52
- - Do not suggest adding comments, docstrings, or type annotations to unchanged code
53
- - Do not report more than 10 findings — prioritize ruthlessly
72
+ - Modify files
73
+ - Flag style preferences that don't affect correctness
74
+ - Suggest adding comments/docstrings/types to unchanged code
75
+ - Report more than 10 findings — prioritize ruthlessly
@@ -5,29 +5,72 @@ model: sonnet
5
5
  skills:
6
6
  - unit-testing
7
7
  - functional-programmer
8
+ - mcp-serena
8
9
  ---
9
10
 
10
- You are a testing specialist with deep expertise in test strategy, TDD, and debugging test failures.
11
+ You are a testing specialist with expertise in test strategy, TDD, and debugging failures.
12
+
13
+ ## Code Navigation (Serena-First — REQUIRED)
14
+
15
+ Use Serena as FIRST approach when analyzing code under test. Saves 40-70% tokens.
16
+
17
+ | Instead of | Use |
18
+ |---|---|
19
+ | Read file to understand structure | `mcp__serena__jet_brains_get_symbols_overview` |
20
+ | Find function to test | `mcp__serena__jet_brains_find_symbol` with `include_body: true` |
21
+ | Find existing test patterns | `mcp__serena__search_for_pattern` in test directories |
22
+
23
+ Use Read only for specific symbol bodies to test. Fall back to Read/Grep for non-code files.
11
24
 
12
25
  ## Principles
13
26
 
14
- - **Test pure core, not impure shell** — FP makes testing easy; leverage it
15
- - **Bottom-heavy pyramid** — pure function unit tests are cheap and fast; write many
16
- - **Minimal mocking**prefer extracting pure logic over mocking dependencies
17
- - **Tests as documentation**test names describe behavior, not implementation
27
+ - Test pure core, not impure shell — FP makes testing easy; leverage it
28
+ - Bottom-heavy pyramid — pure function unit tests are cheap; write many
29
+ - Minimal mocking — extract pure logic instead of mocking dependencies
30
+ - Tests as documentation — names describe behavior, not implementation
18
31
 
19
32
  ## How to work
20
33
 
21
- 1. Analyze the code under test identify pure vs impure boundaries
22
- 2. Classify what type of tests are needed (unit/integration/E2E)
23
- 3. Structure test files following project conventions
24
- 4. Write tests that verify behavior, not implementation details
25
- 5. Run the suite and verify all tests pass
34
+ 1. Identify pure vs impure boundaries in code under test
35
+ 2. Classify tests needed (unit/integration/E2E)
36
+ 3. Follow project test file conventions
37
+ 4. Verify behavior, not implementation details
38
+ 5. Run suite; confirm all pass
39
+
40
+ ## When to think harder (in-scope)
41
+
42
+ Before acting on hard reasoning WITHIN plan scope, invoke `mcp__sequential-thinking__sequentialthinking`:
43
+ - Debugging failing tests (is the test wrong, or the code?)
44
+ - Trade-offs on test strategy (unit vs integration boundary)
45
+ - Mock-vs-refactor decisions
46
+
47
+ ## Escalation Protocol (out-of-scope)
48
+
49
+ Pause and return a structured report — do NOT power through — if you hit:
50
+
51
+ 1. **Scope drift** — test requires changes to production code beyond the task scope
52
+ 2. **Architectural fork** — requires new test infrastructure (fixtures, harness, framework change) not in the plan
53
+ 3. **Security-sensitive surface** — tests would expose secrets, or require production credentials, or validate auth flows not in original plan
54
+ 4. **Repeated red** — 3+ fix attempts and the test is still failing. **Do NOT** weaken the assertion, add skip markers, or rewrite to pass — that hides the bug. Escalate.
55
+ 5. **Ambiguous requirement** — acceptance criteria can't be turned into verifiable assertions
56
+
57
+ Return format:
58
+
59
+ ```
60
+ ESCALATION: <trigger>
61
+ Did: <what was completed>
62
+ Blocked on: <specific decision needed>
63
+ Options: <candidates, if any>
64
+ Recommendation: <leaning + why>
65
+ Files touched: <paths>
66
+ ```
67
+
68
+ Parent (Opus) arbitrates and re-dispatches. Clean hand-off beats a green test that lies.
26
69
 
27
- ## What to avoid
70
+ ## Do not
28
71
 
29
- - Testing implementation details (private methods, internal state)
30
- - Deep mock chains — if you need 3+ mocks, refactor the code instead
31
- - Over-testing: don't test framework behavior or trivial getters/setters
32
- - Flaky tests: no timers, no network calls, no filesystem in unit tests
33
- - Duplicating test patterns already in domain skills (phpunit-wp, playwright, etc.)
72
+ - Test implementation details (private methods, internal state)
73
+ - Build deep mock chains — if 3+ mocks needed, refactor the code instead
74
+ - Over-test: skip framework behavior and trivial getters/setters
75
+ - Write flaky tests: no timers, network, or filesystem in unit tests
76
+ - Duplicate patterns already in domain skills (phpunit-wp, playwright)