@every-env/compound-plugin 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/.claude/commands/triage-prs.md +193 -0
  2. package/.claude-plugin/marketplace.json +4 -4
  3. package/.github/workflows/ci.yml +25 -0
  4. package/README.md +25 -4
  5. package/docs/index.html +14 -14
  6. package/docs/pages/changelog.html +1 -1
  7. package/docs/pages/getting-started.html +1 -1
  8. package/docs/plans/2026-02-08-feat-pr-triage-and-merge-plan.md +128 -0
  9. package/package.json +1 -1
  10. package/plans/grow-your-own-garden-plugin-architecture.md +1 -1
  11. package/plugins/compound-engineering/.claude-plugin/plugin.json +3 -3
  12. package/plugins/compound-engineering/CHANGELOG.md +32 -0
  13. package/plugins/compound-engineering/CLAUDE.md +3 -4
  14. package/plugins/compound-engineering/README.md +20 -7
  15. package/plugins/compound-engineering/agents/research/best-practices-researcher.md +14 -3
  16. package/plugins/compound-engineering/agents/research/framework-docs-researcher.md +11 -3
  17. package/plugins/compound-engineering/agents/research/git-history-analyzer.md +2 -0
  18. package/plugins/compound-engineering/agents/research/learnings-researcher.md +243 -0
  19. package/plugins/compound-engineering/agents/research/repo-research-analyst.md +5 -4
  20. package/plugins/compound-engineering/agents/review/code-simplicity-reviewer.md +1 -0
  21. package/plugins/compound-engineering/agents/review/pattern-recognition-specialist.md +1 -1
  22. package/plugins/compound-engineering/agents/review/schema-drift-detector.md +139 -0
  23. package/plugins/compound-engineering/commands/deepen-plan.md +5 -5
  24. package/plugins/compound-engineering/commands/report-bug.md +3 -3
  25. package/plugins/compound-engineering/commands/resolve_todo_parallel.md +2 -0
  26. package/plugins/compound-engineering/commands/slfg.md +31 -0
  27. package/plugins/compound-engineering/commands/technical_review.md +7 -0
  28. package/plugins/compound-engineering/commands/workflows/brainstorm.md +124 -0
  29. package/plugins/compound-engineering/commands/workflows/compound.md +64 -27
  30. package/plugins/compound-engineering/commands/workflows/plan.md +127 -42
  31. package/plugins/compound-engineering/commands/workflows/review.md +12 -0
  32. package/plugins/compound-engineering/commands/workflows/work.md +72 -2
  33. package/plugins/compound-engineering/skills/brainstorming/SKILL.md +190 -0
  34. package/plugins/compound-engineering/skills/compound-docs/SKILL.md +9 -9
  35. package/plugins/compound-engineering/skills/compound-docs/assets/critical-pattern-template.md +1 -1
  36. package/plugins/compound-engineering/skills/compound-docs/assets/resolution-template.md +3 -3
  37. package/plugins/compound-engineering/skills/compound-docs/references/yaml-schema.md +1 -1
  38. package/plugins/compound-engineering/skills/create-agent-skills/SKILL.md +168 -192
  39. package/plugins/compound-engineering/skills/create-agent-skills/references/official-spec.md +74 -125
  40. package/plugins/compound-engineering/skills/create-agent-skills/references/skill-structure.md +109 -329
  41. package/plugins/compound-engineering/skills/document-review/SKILL.md +87 -0
  42. package/plugins/compound-engineering/skills/git-worktree/scripts/worktree-manager.sh +2 -10
  43. package/plugins/compound-engineering/skills/orchestrating-swarms/SKILL.md +1717 -0
  44. package/plugins/compound-engineering/skills/resolve-pr-parallel/SKILL.md +89 -0
  45. package/plugins/compound-engineering/skills/resolve-pr-parallel/scripts/get-pr-comments +68 -0
  46. package/plugins/compound-engineering/skills/resolve-pr-parallel/scripts/resolve-pr-thread +23 -0
  47. package/src/commands/install.ts +3 -1
  48. package/src/commands/sync.ts +84 -0
  49. package/src/converters/claude-to-codex.ts +59 -2
  50. package/src/converters/claude-to-opencode.ts +7 -5
  51. package/src/index.ts +2 -0
  52. package/src/parsers/claude-home.ts +65 -0
  53. package/src/sync/codex.ts +92 -0
  54. package/src/sync/opencode.ts +75 -0
  55. package/src/targets/codex.ts +7 -2
  56. package/src/targets/opencode.ts +11 -2
  57. package/src/types/claude.ts +1 -1
  58. package/src/utils/files.ts +13 -0
  59. package/src/utils/symlink.ts +43 -0
  60. package/tests/cli.test.ts +7 -5
  61. package/tests/codex-converter.test.ts +83 -0
  62. package/tests/codex-writer.test.ts +32 -0
  63. package/tests/opencode-writer.test.ts +57 -0
  64. package/plugins/compound-engineering/commands/plan_review.md +0 -7
  65. package/plugins/compound-engineering/commands/resolve_pr_parallel.md +0 -49
@@ -181,7 +181,7 @@ This command takes a work document (plan, specification, or todo file) and execu
181
181
  - **kieran-rails-reviewer**: Verify Rails conventions (Rails projects)
182
182
  - **performance-oracle**: Check for performance issues
183
183
  - **security-sentinel**: Scan for security vulnerabilities
184
- - **cora-test-reviewer**: Review test quality (CORA projects)
184
+ - **cora-test-reviewer**: Review test quality (Rails projects with comprehensive test coverage)
185
185
 
186
186
  Run reviewers in parallel with Task tool:
187
187
 
@@ -279,7 +279,7 @@ This command takes a work document (plan, specification, or todo file) and execu
279
279
 
280
280
  ---
281
281
 
282
- [![Compound Engineered](https://img.shields.io/badge/Compound-Engineered-6366f1)](https://github.com/kieranklaassen/compound-engineering-plugin) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
282
+ [![Compound Engineered](https://img.shields.io/badge/Compound-Engineered-6366f1)](https://github.com/EveryInc/compound-engineering-plugin) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
283
283
  EOF
284
284
  )"
285
285
  ```
@@ -292,6 +292,76 @@ This command takes a work document (plan, specification, or todo file) and execu
292
292
 
293
293
  ---
294
294
 
295
+ ## Swarm Mode (Optional)
296
+
297
+ For complex plans with multiple independent workstreams, enable swarm mode for parallel execution with coordinated agents.
298
+
299
+ ### When to Use Swarm Mode
300
+
301
+ | Use Swarm Mode when... | Use Standard Mode when... |
302
+ |------------------------|---------------------------|
303
+ | Plan has 5+ independent tasks | Plan is linear/sequential |
304
+ | Multiple specialists needed (review + test + implement) | Single-focus work |
305
+ | Want maximum parallelism | Simpler mental model preferred |
306
+ | Large feature with clear phases | Small feature or bug fix |
307
+
308
+ ### Enabling Swarm Mode
309
+
310
+ To trigger swarm execution, say:
311
+
312
+ > "Make a Task list and launch an army of agent swarm subagents to build the plan"
313
+
314
+ Or explicitly request: "Use swarm mode for this work"
315
+
316
+ ### Swarm Workflow
317
+
318
+ When swarm mode is enabled, the workflow changes:
319
+
320
+ 1. **Create Team**
321
+ ```
322
+ Teammate({ operation: "spawnTeam", team_name: "work-{timestamp}" })
323
+ ```
324
+
325
+ 2. **Create Task List with Dependencies**
326
+ - Parse plan into TaskCreate items
327
+ - Set up blockedBy relationships for sequential dependencies
328
+ - Independent tasks have no blockers (can run in parallel)
329
+
330
+ 3. **Spawn Specialized Teammates**
331
+ ```
332
+ Task({
333
+ team_name: "work-{timestamp}",
334
+ name: "implementer",
335
+ subagent_type: "general-purpose",
336
+ prompt: "Claim implementation tasks, execute, mark complete",
337
+ run_in_background: true
338
+ })
339
+
340
+ Task({
341
+ team_name: "work-{timestamp}",
342
+ name: "tester",
343
+ subagent_type: "general-purpose",
344
+ prompt: "Claim testing tasks, run tests, mark complete",
345
+ run_in_background: true
346
+ })
347
+ ```
348
+
349
+ 4. **Coordinate and Monitor**
350
+ - Team lead monitors task completion
351
+ - Spawn additional workers as phases unblock
352
+ - Handle plan approval if required
353
+
354
+ 5. **Cleanup**
355
+ ```
356
+ Teammate({ operation: "requestShutdown", target_agent_id: "implementer" })
357
+ Teammate({ operation: "requestShutdown", target_agent_id: "tester" })
358
+ Teammate({ operation: "cleanup" })
359
+ ```
360
+
361
+ See the `orchestrating-swarms` skill for detailed swarm patterns and best practices.
362
+
363
+ ---
364
+
295
365
  ## Key Principles
296
366
 
297
367
  ### Start Fast, Execute Faster
@@ -0,0 +1,190 @@
1
+ ---
2
+ name: brainstorming
3
+ description: This skill should be used before implementing features, building components, or making changes. It guides exploring user intent, approaches, and design decisions before planning. Triggers on "let's brainstorm", "help me think through", "what should we build", "explore approaches", ambiguous feature requests, or when the user's request has multiple valid interpretations that need clarification.
4
+ ---
5
+
6
+ # Brainstorming
7
+
8
+ This skill provides detailed process knowledge for effective brainstorming sessions that clarify **WHAT** to build before diving into **HOW** to build it.
9
+
10
+ ## When to Use This Skill
11
+
12
+ Brainstorming is valuable when:
13
+ - Requirements are unclear or ambiguous
14
+ - Multiple approaches could solve the problem
15
+ - Trade-offs need to be explored with the user
16
+ - The user hasn't fully articulated what they want
17
+ - The feature scope needs refinement
18
+
19
+ Brainstorming can be skipped when:
20
+ - Requirements are explicit and detailed
21
+ - The user knows exactly what they want
22
+ - The task is a straightforward bug fix or well-defined change
23
+
24
+ ## Core Process
25
+
26
+ ### Phase 0: Assess Requirement Clarity
27
+
28
+ Before diving into questions, assess whether brainstorming is needed.
29
+
30
+ **Signals that requirements are clear:**
31
+ - User provided specific acceptance criteria
32
+ - User referenced existing patterns to follow
33
+ - User described exact behavior expected
34
+ - Scope is constrained and well-defined
35
+
36
+ **Signals that brainstorming is needed:**
37
+ - User used vague terms ("make it better", "add something like")
38
+ - Multiple reasonable interpretations exist
39
+ - Trade-offs haven't been discussed
40
+ - User seems unsure about the approach
41
+
42
+ If requirements are clear, suggest: "Your requirements seem clear. Consider proceeding directly to planning or implementation."
43
+
44
+ ### Phase 1: Understand the Idea
45
+
46
+ Ask questions **one at a time** to understand the user's intent. Avoid overwhelming with multiple questions.
47
+
48
+ **Question Techniques:**
49
+
50
+ 1. **Prefer multiple choice when natural options exist**
51
+ - Good: "Should the notification be: (a) email only, (b) in-app only, or (c) both?"
52
+ - Avoid: "How should users be notified?"
53
+
54
+ 2. **Start broad, then narrow**
55
+ - First: What is the core purpose?
56
+ - Then: Who are the users?
57
+ - Finally: What constraints exist?
58
+
59
+ 3. **Validate assumptions explicitly**
60
+ - "I'm assuming users will be logged in. Is that correct?"
61
+
62
+ 4. **Ask about success criteria early**
63
+ - "How will you know this feature is working well?"
64
+
65
+ **Key Topics to Explore:**
66
+
67
+ | Topic | Example Questions |
68
+ |-------|-------------------|
69
+ | Purpose | What problem does this solve? What's the motivation? |
70
+ | Users | Who uses this? What's their context? |
71
+ | Constraints | Any technical limitations? Timeline? Dependencies? |
72
+ | Success | How will you measure success? What's the happy path? |
73
+ | Edge Cases | What shouldn't happen? Any error states to consider? |
74
+ | Existing Patterns | Are there similar features in the codebase to follow? |
75
+
76
+ **Exit Condition:** Continue until the idea is clear OR user says "proceed" or "let's move on"
77
+
78
+ ### Phase 2: Explore Approaches
79
+
80
+ After understanding the idea, propose 2-3 concrete approaches.
81
+
82
+ **Structure for Each Approach:**
83
+
84
+ ```markdown
85
+ ### Approach A: [Name]
86
+
87
+ [2-3 sentence description]
88
+
89
+ **Pros:**
90
+ - [Benefit 1]
91
+ - [Benefit 2]
92
+
93
+ **Cons:**
94
+ - [Drawback 1]
95
+ - [Drawback 2]
96
+
97
+ **Best when:** [Circumstances where this approach shines]
98
+ ```
99
+
100
+ **Guidelines:**
101
+ - Lead with a recommendation and explain why
102
+ - Be honest about trade-offs
103
+ - Consider YAGNI—simpler is usually better
104
+ - Reference codebase patterns when relevant
105
+
106
+ ### Phase 3: Capture the Design
107
+
108
+ Summarize key decisions in a structured format.
109
+
110
+ **Design Doc Structure:**
111
+
112
+ ```markdown
113
+ ---
114
+ date: YYYY-MM-DD
115
+ topic: <kebab-case-topic>
116
+ ---
117
+
118
+ # <Topic Title>
119
+
120
+ ## What We're Building
121
+ [Concise description—1-2 paragraphs max]
122
+
123
+ ## Why This Approach
124
+ [Brief explanation of approaches considered and why this one was chosen]
125
+
126
+ ## Key Decisions
127
+ - [Decision 1]: [Rationale]
128
+ - [Decision 2]: [Rationale]
129
+
130
+ ## Open Questions
131
+ - [Any unresolved questions for the planning phase]
132
+
133
+ ## Next Steps
134
+ → `/workflows:plan` for implementation details
135
+ ```
136
+
137
+ **Output Location:** `docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md`
138
+
139
+ ### Phase 4: Handoff
140
+
141
+ Present clear options for what to do next:
142
+
143
+ 1. **Proceed to planning** → Run `/workflows:plan`
144
+ 2. **Refine further** → Continue exploring the design
145
+ 3. **Done for now** → User will return later
146
+
147
+ ## YAGNI Principles
148
+
149
+ During brainstorming, actively resist complexity:
150
+
151
+ - **Don't design for hypothetical future requirements**
152
+ - **Choose the simplest approach that solves the stated problem**
153
+ - **Prefer boring, proven patterns over clever solutions**
154
+ - **Ask "Do we really need this?" when complexity emerges**
155
+ - **Defer decisions that don't need to be made now**
156
+
157
+ ## Incremental Validation
158
+
159
+ Keep sections short—200-300 words maximum. After each section of output, pause to validate understanding:
160
+
161
+ - "Does this match what you had in mind?"
162
+ - "Any adjustments before we continue?"
163
+ - "Is this the direction you want to go?"
164
+
165
+ This prevents wasted effort on misaligned designs.
166
+
167
+ ## Anti-Patterns to Avoid
168
+
169
+ | Anti-Pattern | Better Approach |
170
+ |--------------|-----------------|
171
+ | Asking 5 questions at once | Ask one at a time |
172
+ | Jumping to implementation details | Stay focused on WHAT, not HOW |
173
+ | Proposing overly complex solutions | Start simple, add complexity only if needed |
174
+ | Ignoring existing codebase patterns | Research what exists first |
175
+ | Making assumptions without validating | State assumptions explicitly and confirm |
176
+ | Creating lengthy design documents | Keep it concise—details go in the plan |
177
+
178
+ ## Integration with Planning
179
+
180
+ Brainstorming answers **WHAT** to build:
181
+ - Requirements and acceptance criteria
182
+ - Chosen approach and rationale
183
+ - Key decisions and trade-offs
184
+
185
+ Planning answers **HOW** to build it:
186
+ - Implementation steps and file changes
187
+ - Technical details and code patterns
188
+ - Testing strategy and verification
189
+
190
+ When brainstorm output exists, `/workflows:plan` should detect it and use it as input, skipping its own idea refinement phase.
@@ -61,7 +61,7 @@ Extract from conversation history:
61
61
 
62
62
  **Required information:**
63
63
 
64
- - **Module name**: Which CORA module had the problem
64
+ - **Module name**: Which module or component had the problem
65
65
  - **Symptom**: Observable error/behavior (exact error messages)
66
66
  - **Investigation attempts**: What didn't work and why
67
67
  - **Root cause**: Technical explanation of actual problem
@@ -159,7 +159,7 @@ Load `schema.yaml` and classify the problem against the enum values defined in [
159
159
 
160
160
  Errors:
161
161
  - problem_type: must be one of schema enums, got "compilation_error"
162
- - severity: must be one of [critical, moderate, minor], got "high"
162
+ - severity: must be one of [critical, high, medium, low], got "invalid"
163
163
  - symptoms: must be array with 1-5 items, got string
164
164
 
165
165
  Please provide corrected values.
@@ -249,7 +249,7 @@ But **NEVER auto-promote**. User decides via decision menu (Option 2).
249
249
 
250
250
  **Template for critical pattern addition:**
251
251
 
252
- When user selects Option 2 (Add to Required Reading), use the template from `assets/critical-pattern-template.md` to structure the pattern entry. Number it sequentially based on existing patterns in `docs/solutions/patterns/cora-critical-patterns.md`.
252
+ When user selects Option 2 (Add to Required Reading), use the template from `assets/critical-pattern-template.md` to structure the pattern entry. Number it sequentially based on existing patterns in `docs/solutions/patterns/critical-patterns.md`.
253
253
  </step>
254
254
 
255
255
  </critical_sequence>
@@ -270,7 +270,7 @@ File created:
270
270
 
271
271
  What's next?
272
272
  1. Continue workflow (recommended)
273
- 2. Add to Required Reading - Promote to critical patterns (cora-critical-patterns.md)
273
+ 2. Add to Required Reading - Promote to critical patterns (critical-patterns.md)
274
274
  3. Link related issues - Connect to similar problems
275
275
  4. Add to existing skill - Add to a learning skill (e.g., hotwire-native)
276
276
  5. Create new skill - Extract into new learning skill
@@ -295,7 +295,7 @@ User selects this when:
295
295
  Action:
296
296
  1. Extract pattern from the documentation
297
297
  2. Format as ❌ WRONG vs ✅ CORRECT with code examples
298
- 3. Add to `docs/solutions/patterns/cora-critical-patterns.md`
298
+ 3. Add to `docs/solutions/patterns/critical-patterns.md`
299
299
  4. Add cross-reference back to this doc
300
300
  5. Confirm: "✓ Added to Required Reading. All subagents will see this pattern before code generation."
301
301
 
@@ -317,7 +317,7 @@ Action:
317
317
  4. Confirm: "✓ Added to [skill-name] skill in [file]"
318
318
 
319
319
  Example: For Hotwire Native Tailwind variants solution:
320
- - Add to `hotwire-native/references/resources.md` under "CORA-Specific Resources"
320
+ - Add to `hotwire-native/references/resources.md` under "Project-Specific Resources"
321
321
  - Add to `hotwire-native/references/examples.md` with link to solution doc
322
322
 
323
323
  **Option 5: Create new skill**
@@ -397,11 +397,11 @@ Documentation is successful when ALL of the following are true:
397
397
  - Present multiple matches
398
398
  - Let user choose: new doc, update existing, or link as duplicate
399
399
 
400
- **Module not in CORA-MODULES.md:**
400
+ **Module not in modules documentation:**
401
401
 
402
402
  - Warn but don't block
403
403
  - Proceed with documentation
404
- - Suggest: "Add [Module] to CORA-MODULES.md if not there"
404
+ - Suggest: "Add [Module] to modules documentation if not there"
405
405
 
406
406
  ---
407
407
 
@@ -488,7 +488,7 @@ File created:
488
488
 
489
489
  What's next?
490
490
  1. Continue workflow (recommended)
491
- 2. Add to Required Reading - Promote to critical patterns (cora-critical-patterns.md)
491
+ 2. Add to Required Reading - Promote to critical patterns (critical-patterns.md)
492
492
  3. Link related issues - Connect to similar problems
493
493
  4. Add to existing skill - Add to a learning skill (e.g., hotwire-native)
494
494
  5. Create new skill - Extract into new learning skill
@@ -1,6 +1,6 @@
1
1
  # Critical Pattern Template
2
2
 
3
- Use this template when adding a pattern to `docs/solutions/patterns/cora-critical-patterns.md`:
3
+ Use this template when adding a pattern to `docs/solutions/patterns/critical-patterns.md`:
4
4
 
5
5
  ---
6
6
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- module: [Module name or "CORA" for system-wide]
2
+ module: [Module name or "System" for system-wide]
3
3
  date: [YYYY-MM-DD]
4
4
  problem_type: [build_error|test_failure|runtime_error|performance_issue|database_issue|security_issue|ui_bug|integration_issue|logic_error]
5
5
  component: [rails_model|rails_controller|rails_view|service_object|background_job|database|frontend_stimulus|hotwire_turbo|email_processing|brief_system|assistant|authentication|payments]
@@ -19,7 +19,7 @@ tags: [keyword1, keyword2, keyword3]
19
19
  [1-2 sentence clear description of the issue and what the user experienced]
20
20
 
21
21
  ## Environment
22
- - Module: [Name or "CORA system"]
22
+ - Module: [Name or "System-wide"]
23
23
  - Rails Version: [e.g., 7.1.2]
24
24
  - Affected Component: [e.g., "Email Processing model", "Brief System service", "Authentication controller"]
25
25
  - Date: [YYYY-MM-DD when this was solved]
@@ -78,7 +78,7 @@ tags: [keyword1, keyword2, keyword3]
78
78
 
79
79
  ## Prevention
80
80
 
81
- [How to avoid this problem in future CORA development:]
81
+ [How to avoid this problem in future development:]
82
82
  - [Specific coding practice, check, or pattern to follow]
83
83
  - [What to watch out for]
84
84
  - [How to catch this early]
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## Required Fields
6
6
 
7
- - **module** (string): Module name (e.g., "EmailProcessing") or "CORA" for system-wide issues
7
+ - **module** (string): Module name (e.g., "EmailProcessing") or "System" for system-wide issues
8
8
  - **date** (string): ISO 8601 date (YYYY-MM-DD)
9
9
  - **problem_type** (enum): One of [build_error, test_failure, runtime_error, performance_issue, database_issue, security_issue, ui_bug, integration_issue, logic_error, developer_experience, workflow_issue, best_practice, documentation_gap]
10
10
  - **component** (enum): One of [rails_model, rails_controller, rails_view, service_object, background_job, database, frontend_stimulus, hotwire_turbo, email_processing, brief_system, assistant, authentication, payments, development_workflow, testing_framework, documentation, tooling]