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.
- package/README.md +55 -9
- package/dist/cli.js +5 -1
- package/package.json +1 -1
- package/plugins/ima-claude/.claude-plugin/plugin.json +2 -2
- package/plugins/ima-claude/agents/explorer.md +29 -15
- package/plugins/ima-claude/agents/implementer.md +58 -13
- package/plugins/ima-claude/agents/memory.md +19 -19
- package/plugins/ima-claude/agents/reviewer.md +56 -34
- package/plugins/ima-claude/agents/tester.md +59 -16
- package/plugins/ima-claude/agents/wp-developer.md +66 -21
- package/plugins/ima-claude/hooks/bootstrap.sh +42 -44
- package/plugins/ima-claude/hooks/prompt_coach_digest.md +14 -17
- package/plugins/ima-claude/hooks/prompt_coach_system.md +10 -12
- package/plugins/ima-claude/personalities/README.md +17 -6
- package/plugins/ima-claude/personalities/enable-efficient.md +61 -0
- package/plugins/ima-claude/personalities/enable-terse.md +71 -0
- package/plugins/ima-claude/skills/agentic-workflows/SKILL.md +97 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/deliver.md +181 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/draft.md +99 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/gather.md +130 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/outline.md +106 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/review.md +137 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/standards/draft-format.md +159 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/standards/editorial-standards.md +160 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/standards/outline-format.md +110 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/avada-construction-guide.md +263 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/avada-webinar-example.txt +275 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/cta-block-catalog.md +169 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/espo-email-preparation.md +241 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/webinar-recap-email-espo.html +339 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/webinar-reminder-email-espo.html +458 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/workflows/editorial/webinar-summary.md +81 -0
- package/plugins/ima-claude/skills/architect/SKILL.md +54 -168
- package/plugins/ima-claude/skills/compound-bridge/SKILL.md +41 -94
- package/plugins/ima-claude/skills/design-to-code/SKILL.md +91 -0
- package/plugins/ima-claude/skills/design-to-code/references/guardrails.md +46 -0
- package/plugins/ima-claude/skills/design-to-code/references/phase-a-design-to-prompt.md +141 -0
- package/plugins/ima-claude/skills/design-to-code/references/phase-b-prompt-to-code.md +155 -0
- package/plugins/ima-claude/skills/design-to-code/references/prompt-template.md +95 -0
- package/plugins/ima-claude/skills/discourse/SKILL.md +79 -194
- package/plugins/ima-claude/skills/discourse-admin/SKILL.md +41 -103
- package/plugins/ima-claude/skills/docs-organize/SKILL.md +63 -203
- package/plugins/ima-claude/skills/ember-discourse/SKILL.md +90 -200
- package/plugins/ima-claude/skills/espocrm/SKILL.md +14 -23
- package/plugins/ima-claude/skills/espocrm-api/SKILL.md +79 -192
- package/plugins/ima-claude/skills/functional-programmer/SKILL.md +33 -237
- package/plugins/ima-claude/skills/gh-cli/SKILL.md +26 -65
- package/plugins/ima-claude/skills/ima-bootstrap/SKILL.md +71 -104
- package/plugins/ima-claude/skills/ima-bootstrap/references/ima-brand.md +32 -22
- package/plugins/ima-claude/skills/ima-brand/SKILL.md +18 -23
- package/plugins/ima-claude/skills/ima-copywriting/SKILL.md +68 -179
- package/plugins/ima-claude/skills/ima-doc2pdf/SKILL.md +32 -102
- package/plugins/ima-claude/skills/ima-editorial-scorecard/SKILL.md +38 -63
- package/plugins/ima-claude/skills/ima-editorial-workflow/SKILL.md +69 -114
- package/plugins/ima-claude/skills/ima-email-creator/SKILL.md +16 -22
- package/plugins/ima-claude/skills/ima-forms-expert/SKILL.md +21 -37
- package/plugins/ima-claude/skills/jira-checkpoint/SKILL.md +39 -120
- package/plugins/ima-claude/skills/jquery/SKILL.md +107 -233
- package/plugins/ima-claude/skills/js-fp/SKILL.md +75 -296
- package/plugins/ima-claude/skills/js-fp-api/SKILL.md +52 -162
- package/plugins/ima-claude/skills/js-fp-react/SKILL.md +47 -270
- package/plugins/ima-claude/skills/js-fp-vue/SKILL.md +55 -209
- package/plugins/ima-claude/skills/js-fp-wordpress/SKILL.md +59 -204
- package/plugins/ima-claude/skills/livecanvas/SKILL.md +19 -32
- package/plugins/ima-claude/skills/mcp-atlassian/SKILL.md +146 -136
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-attachments.md +115 -0
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-auth.md +103 -0
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-bulk.md +149 -0
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-misc.md +195 -0
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-sprints.md +158 -0
- package/plugins/ima-claude/skills/mcp-context7/SKILL.md +32 -64
- package/plugins/ima-claude/skills/mcp-gitea/SKILL.md +98 -188
- package/plugins/ima-claude/skills/mcp-github/SKILL.md +60 -124
- package/plugins/ima-claude/skills/mcp-memory/SKILL.md +1 -177
- package/plugins/ima-claude/skills/mcp-qdrant/SKILL.md +58 -115
- package/plugins/ima-claude/skills/mcp-sequential/SKILL.md +32 -87
- package/plugins/ima-claude/skills/mcp-serena/SKILL.md +54 -80
- package/plugins/ima-claude/skills/mcp-tavily/SKILL.md +40 -63
- package/plugins/ima-claude/skills/mcp-vestige/SKILL.md +75 -116
- package/plugins/ima-claude/skills/php-authnet/SKILL.md +32 -65
- package/plugins/ima-claude/skills/php-fp/SKILL.md +50 -129
- package/plugins/ima-claude/skills/php-fp-wordpress/SKILL.md +25 -73
- package/plugins/ima-claude/skills/phpunit-wp/SKILL.md +103 -463
- package/plugins/ima-claude/skills/playwright/SKILL.md +69 -220
- package/plugins/ima-claude/skills/prompt-starter/SKILL.md +35 -82
- package/plugins/ima-claude/skills/prompt-starter/references/code-review.md +38 -0
- package/plugins/ima-claude/skills/py-fp/SKILL.md +78 -384
- package/plugins/ima-claude/skills/quasar-fp/SKILL.md +54 -255
- package/plugins/ima-claude/skills/quickstart/SKILL.md +7 -11
- package/plugins/ima-claude/skills/rails/SKILL.md +63 -184
- package/plugins/ima-claude/skills/resume-session/SKILL.md +14 -35
- package/plugins/ima-claude/skills/rg/SKILL.md +61 -146
- package/plugins/ima-claude/skills/ruby-fp/SKILL.md +66 -163
- package/plugins/ima-claude/skills/save-session/SKILL.md +10 -39
- package/plugins/ima-claude/skills/scorecard/SKILL.md +24 -38
- package/plugins/ima-claude/skills/skill-analyzer/SKILL.md +42 -71
- package/plugins/ima-claude/skills/skill-creator/SKILL.md +79 -250
- package/plugins/ima-claude/skills/task-master/SKILL.md +11 -31
- package/plugins/ima-claude/skills/task-planner/SKILL.md +44 -153
- package/plugins/ima-claude/skills/task-runner/SKILL.md +61 -143
- package/plugins/ima-claude/skills/unit-testing/SKILL.md +59 -134
- package/plugins/ima-claude/skills/wp-ddev/SKILL.md +38 -120
- 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**:
|
|
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 |
|
|
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
|
|
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
|
-
|
|
389
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
4
|
-
"description": "IMA's Claude Code skills for functional programming, architecture, and team standards.
|
|
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.
|
|
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.
|
|
14
|
-
2.
|
|
15
|
-
3.
|
|
16
|
-
4.
|
|
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
|
-
##
|
|
32
|
+
## Report
|
|
19
33
|
|
|
20
|
-
- File paths and
|
|
21
|
-
- Key symbols
|
|
34
|
+
- File paths and purposes
|
|
35
|
+
- Key symbols with locations
|
|
22
36
|
- Patterns and conventions observed
|
|
23
|
-
- Dependencies and relationships
|
|
37
|
+
- Dependencies and relationships
|
|
24
38
|
|
|
25
|
-
##
|
|
39
|
+
## Do not
|
|
26
40
|
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
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.
|
|
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
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
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
|
|
33
|
+
1. Read specific files to modify
|
|
21
34
|
2. Understand existing patterns before writing new code
|
|
22
|
-
3. Make
|
|
23
|
-
4. Verify
|
|
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
|
-
##
|
|
70
|
+
## Do not
|
|
26
71
|
|
|
27
|
-
- Over-
|
|
28
|
-
- Feature creep
|
|
29
|
-
-
|
|
30
|
-
-
|
|
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.
|
|
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.
|
|
18
|
-
2.
|
|
19
|
-
3.
|
|
20
|
-
4.
|
|
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 |
|
|
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` |
|
|
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
|
-
##
|
|
31
|
+
## Report
|
|
32
32
|
|
|
33
|
-
- What was found or stored
|
|
33
|
+
- What was found or stored with enough context to be useful
|
|
34
34
|
- Conflicts or duplicates discovered
|
|
35
|
-
-
|
|
35
|
+
- Consolidation suggestions if memory is fragmented
|
|
36
36
|
|
|
37
|
-
##
|
|
37
|
+
## Do not
|
|
38
38
|
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
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
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
70
|
+
## Do not
|
|
49
71
|
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
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
|
|
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
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
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.
|
|
22
|
-
2. Classify
|
|
23
|
-
3.
|
|
24
|
-
4.
|
|
25
|
-
5. Run
|
|
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
|
-
##
|
|
70
|
+
## Do not
|
|
28
71
|
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
- Over-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
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)
|