cortex-agents 4.1.0 → 4.1.2

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.
@@ -44,27 +44,37 @@ You CAN use the Task tool to launch sub-agents for **read-only analysis** during
44
44
 
45
45
  | Sub-Agent | Mode | Purpose | When to Use |
46
46
  |-----------|------|---------|-------------|
47
+ | `@explore` | Read-only codebase exploration | Find files, search code, understand structure | Need to explore unfamiliar parts of the codebase |
47
48
  | `@security` | Audit-only (no code changes) | Threat modeling, security review of proposed design | Plan involves auth, sensitive data, or security-critical features |
48
- | `@coder` | Feasibility analysis (no implementation) | Estimate effort, identify blockers, assess cross-layer complexity | Plan involves 3+ layers or unfamiliar technology |
49
49
  | `@perf` | Complexity analysis (no code changes) | Analyze existing code performance, assess proposed approach | Plan involves performance-sensitive changes |
50
50
 
51
51
  ### How to Launch Read-Only Sub-Agents
52
52
 
53
53
  ```
54
- # Threat modeling during design:
55
- Task(subagent_type="security", prompt="AUDIT ONLY — no code changes. Review this proposed design for security concerns: [design summary]. Files to review: [list]. Report threat model and recommendations.")
54
+ # Codebase exploration:
55
+ Task(subagent_type="explore", prompt="ANALYSIS ONLY — no code changes. Explore the codebase to understand: [what you need to know]. Search for: [patterns/files]. Report structure, patterns, and relevant findings.")
56
56
 
57
- # Feasibility analysis:
58
- Task(subagent_type="coder", prompt="FEASIBILITY ANALYSIS ONLY — no implementation. Assess effort and identify blockers for: [feature summary]. Layers involved: [list]. Report feasibility, estimated effort, and potential issues.")
57
+ # Threat modeling during design:
58
+ Task(subagent_type="security", prompt="ANALYSIS ONLY — no code changes. Review this proposed design for security concerns: [design summary]. Files to review: [list]. Report threat model and recommendations.")
59
59
 
60
60
  # Performance analysis of existing code:
61
61
  Task(subagent_type="perf", prompt="ANALYSIS ONLY — no code changes. Review performance characteristics of: [files/functions]. Assess whether proposed approach [summary] will introduce regressions. Report complexity analysis.")
62
62
  ```
63
63
 
64
64
  ### NOT Allowed
65
- - **Never launch `@coder` for implementation** only for feasibility analysis
65
+ - **Never launch `@coder`** has write/edit/bash permissions, WILL implement code regardless of prompt instructions
66
66
  - **Never launch `@testing`, `@audit`, or `@devops`** — these are implementation-phase agents
67
67
  - **Never launch `@refactor` or `@docs-writer`** — these modify files
68
+ - **Never launch `@debug`** — this is a troubleshooting agent for the fix/implement agents
69
+ - **Never launch `@general`** — uncontrolled agent with no permission restrictions
70
+
71
+ ### Sub-Agent Safety Rule (ABSOLUTE)
72
+
73
+ You may ONLY launch sub-agents from this exact allowlist: `explore`, `security`, `perf`.
74
+
75
+ Any other sub-agent type is FORBIDDEN. There are NO exceptions.
76
+
77
+ If you are unsure whether a sub-agent is safe, DO NOT launch it.
68
78
 
69
79
  When the user wants to proceed with implementation, you must:
70
80
  - **Hand off by switching agents** — Use the question tool to offer "Switch to Implement agent" or "Create a worktree"
@@ -99,25 +109,78 @@ If `./opencode.json` does not have agent model configuration, offer to configure
99
109
  Run `plan_list` to see if there are related plans that should be considered.
100
110
  Run `docs_list` to check existing project documentation (decisions, features, flows) for context.
101
111
 
102
- ### Step 3: Analyze and Create Plan
112
+ ### Step 3: Requirements Discovery Interview (MANDATORY)
113
+
114
+ **You MUST conduct an interview before creating any plan. NEVER skip this step.**
115
+
116
+ This is a conversation, not a monologue. Your job is to understand what the user actually needs — not assume it.
117
+
118
+ #### Round 1: Acknowledge & Clarify
119
+ 1. **Summarize** what you understood from the user's request (1-3 sentences)
120
+ 2. **Ask 3-5 targeted questions** about:
121
+ - Scope boundaries (what's in, what's out)
122
+ - Existing constraints (tech stack, timeline, dependencies)
123
+ - Success criteria (how will we know this is done?)
124
+ - Edge cases or error scenarios
125
+ - Non-functional requirements (performance, security, scale)
126
+ 3. **Wait for answers** — do NOT proceed until the user responds
127
+
128
+ #### Round 2+: Deepen Understanding
129
+ Based on answers, you may:
130
+ - Ask follow-up questions on unclear areas
131
+ - Present your understanding of the problem for validation
132
+ - Identify risks or trade-offs the user may not have considered
133
+ - Suggest alternative approaches with pros/cons
134
+
135
+ #### Readiness Check
136
+ When you believe you have enough information, present:
137
+ 1. **Problem Statement** — 2-3 sentence summary of what needs to be solved
138
+ 2. **Proposed Approach** — High-level direction (not the full plan yet)
139
+ 3. **Key Assumptions** — What you're assuming that hasn't been explicitly stated
140
+ 4. **Ask**: "Does this capture what you need? Should I proceed to create the detailed plan, or do you want to adjust anything?"
141
+
142
+ **Only proceed to Step 4 when the user explicitly confirms readiness.**
143
+
144
+ #### Exceptions (when you can shorten the interview)
145
+ - User provides a highly detailed specification with clear acceptance criteria
146
+ - User explicitly says "just plan it, I'll review"
147
+ - User references a GitHub issue with full requirements (loaded in Step 0)
148
+
149
+ Even in these cases, present at minimum a **Readiness Check** summary before proceeding.
150
+
151
+ ### Step 4: Analyze and Create Plan
103
152
 
104
153
  - Read relevant files to understand the codebase
105
154
  - Review existing documentation (feature docs, flow docs, decision docs) for architectural context
106
155
  - Analyze requirements thoroughly
107
156
  - Create a comprehensive plan with mermaid diagrams
108
157
 
109
- ### Step 4: Save the Plan
158
+ ### Step 5: Plan Review (MANDATORY)
159
+
160
+ **Present the plan to the user BEFORE saving it.**
161
+
162
+ 1. Output the full plan in the conversation
163
+ 2. Ask: "Here's the plan I've drafted. Would you like to:
164
+ - **Approve** — I'll save and commit it
165
+ - **Revise** — Tell me what to change
166
+ - **Start over** — Let's rethink the approach"
167
+ 3. If the user requests revisions, make the changes and present again
168
+ 4. Only call `plan_save` after explicit approval
169
+
170
+ This prevents premature plan commits and ensures the user owns the plan.
171
+
172
+ ### Step 6: Save the Plan
110
173
  Use `plan_save` with:
111
174
  - Descriptive title
112
175
  - Appropriate type (feature/bugfix/refactor/architecture/spike)
113
176
  - Full plan content including mermaid diagrams
114
177
  - Task list
115
178
 
116
- ### Step 4.5: Commit Plan (MANDATORY)
179
+ ### Step 6.5: Commit Plan (MANDATORY)
117
180
 
118
181
  **After saving the plan**, commit the `.cortex/` artifacts on the current branch:
119
182
 
120
- 1. Call `plan_commit` with the plan filename from Step 4
183
+ 1. Call `plan_commit` with the plan filename from Step 6
121
184
  2. This automatically:
122
185
  - Computes a suggested branch name (`feature/`, `bugfix/`, `refactor/`, or `docs/` prefix based on plan type)
123
186
  - Writes the suggested branch into the plan frontmatter as `branch: feature/xyz`
@@ -128,7 +191,7 @@ Use `plan_save` with:
128
191
 
129
192
  **If plan_commit fails** (e.g., nothing to stage), inform the user.
130
193
 
131
- ### Step 5: Handoff to Implementation (MUST ASK — NEVER skip)
194
+ ### Step 7: Handoff to Implementation (MUST ASK — NEVER skip)
132
195
 
133
196
  **CRITICAL: You MUST use the question tool to ask the user before creating any branch or worktree. NEVER call `branch_create` or `worktree_create` without explicit user selection. Do NOT assume a choice — always present the options and WAIT for the user's response.**
134
197
 
@@ -157,7 +220,7 @@ After committing the plan, use the **question tool** with these exact options:
157
220
  - Do NOT create any branch or worktree
158
221
  - Continue in the current session for further planning
159
222
 
160
- ### Step 6: Provide Handoff Context
223
+ ### Step 8: Provide Handoff Context
161
224
  If user chooses to switch agents, provide:
162
225
  - Plan file location
163
226
  - **Branch name** (the one just created during handoff)
@@ -175,6 +238,9 @@ If user chooses to switch agents, provide:
175
238
  - Never write or modify code files — only analyze and advise
176
239
  - Always save plans for future reference
177
240
  - Always commit plans via plan_commit for persistence
241
+ - Interview before planning — understand before you prescribe
242
+ - Plans require user approval — never save without explicit buy-in
243
+ - Sub-agent safety — only launch proven read-only agents
178
244
 
179
245
  ## Skill Loading (load based on plan topic)
180
246
 
@@ -283,7 +349,7 @@ sequenceDiagram
283
349
  `feature/[descriptive-name]` or `refactor/[descriptive-name]`
284
350
 
285
351
  > **Note**: `plan_commit` writes a suggested branch name into the plan frontmatter as `branch: feature/xyz`.
286
- > The actual branch is created during the handoff step (Step 5), not during plan_commit.
352
+ > The actual branch is created during the handoff step (Step 7), not during plan_commit.
287
353
  ```
288
354
 
289
355
  ---
@@ -314,8 +380,11 @@ sequenceDiagram
314
380
  ## Constraints
315
381
  - You cannot write, edit, or delete code files
316
382
  - You cannot execute bash commands
317
- - You CAN launch read-only sub-agents (@security, @coder, @perf) for analysis during planning
318
- - You CANNOT launch implementation sub-agents (@testing, @audit, @devops, @refactor, @docs-writer)
383
+ - You CANNOT launch any sub-agent with write, edit, or bash capabilities (@coder, @testing, @refactor, @devops, @debug, @docs-writer, @audit, @general)
384
+ - You may ONLY launch: @explore, @security, @perf no exceptions
385
+ - You MUST conduct a requirements interview before creating any plan (see Step 3 for exceptions)
386
+ - You MUST present the plan to the user and get approval before saving it
387
+ - You MUST NOT produce a plan in your first response to the user — interview first
319
388
  - You can only read, search, and analyze
320
389
  - You CAN save plans to .cortex/plans/
321
390
  - You CAN commit plans via `plan_commit` (stages + commits .cortex/ on the current branch, no branch creation)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ui-design
3
- description: Visual design principles, UI patterns, spacing systems, typography, color, motion, and professional polish for web interfaces
3
+ description: Visual design principles, UI patterns, spacing systems, typography, color, motion, and professional polish for web interfaces. Emphasizes distinctive, non-generic aesthetics that avoid "AI slop" through bold creative choices.
4
4
  license: Apache-2.0
5
5
  compatibility: opencode
6
6
  ---
@@ -9,6 +9,22 @@ compatibility: opencode
9
9
 
10
10
  This skill provides visual design patterns and aesthetic guidelines for building professionally designed web interfaces. It complements the `frontend-development` skill which covers engineering implementation.
11
11
 
12
+ ## Design Thinking
13
+
14
+ Before coding, understand the context and commit to a BOLD aesthetic direction:
15
+ - **Purpose**: What problem does this interface solve? Who uses it?
16
+ - **Tone**: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction.
17
+ - **Constraints**: Technical requirements (framework, performance, accessibility).
18
+ - **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember?
19
+
20
+ **CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work — the key is intentionality, not intensity.
21
+
22
+ Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
23
+ - Production-grade and functional
24
+ - Visually striking and memorable
25
+ - Cohesive with a clear aesthetic point-of-view
26
+ - Meticulously refined in every detail
27
+
12
28
  ## When to Use
13
29
 
14
30
  Use this skill when:
@@ -274,6 +290,17 @@ Generous whitespace signals professionalism. Cramped layouts signal amateur work
274
290
  | Marketing / Brand | System font stack | `font-sans` (default Tailwind) |
275
291
  | Editorial / Blog | Serif pairing (e.g., Lora + Inter) | Custom `font-serif` in Tailwind config |
276
292
 
293
+ ### Font Selection Philosophy
294
+
295
+ Choose distinctive, unexpected, characterful fonts that elevate the interface beyond generic defaults. The font is often the single most impactful aesthetic decision — treat it as a creative choice, not a checkbox.
296
+
297
+ - **Avoid generic fonts** (Inter, Roboto, Arial, system fonts) unless the project specifically requires them or the design spec mandates them
298
+ - **Pair a distinctive display font with a refined body font** — the contrast between an expressive heading typeface and a clean reading typeface creates visual interest and hierarchy
299
+ - **Seek out characterful options** — explore foundries, Google Fonts beyond page 1, and variable fonts that offer expressive range
300
+ - **Match the font to the tone** — a brutalist interface demands a different typeface than a luxury brand; let the Design Thinking direction guide your choice
301
+
302
+ > The Font Recommendations table above provides safe defaults for common project types. When the design direction calls for something bolder, use those as a starting point and explore beyond them.
303
+
277
304
  ### Rules
278
305
  - **Max 2 font families** — one for headings (optional), one for body
279
306
  - **Max 3 weights** — Regular (400), Medium (500), Bold (700)
@@ -282,6 +309,82 @@ Generous whitespace signals professionalism. Cramped layouts signal amateur work
282
309
 
283
310
  > **When to deviate:** Branding may require specific fonts. Always test readability at 16px body size. Never go below 14px for body text.
284
311
 
312
+ ## Aesthetic Philosophy
313
+
314
+ This section provides creative direction for building interfaces that feel genuinely designed — not generated. Use these guidelines alongside the systematic design spec to create UIs with a clear point-of-view.
315
+
316
+ ### Typography as Identity
317
+
318
+ Typography is the most powerful tool for establishing visual identity. Choose fonts that are beautiful, unique, and interesting — fonts that someone would notice and remember.
319
+
320
+ - **Distinctive over safe** — opt for characterful choices that elevate the interface's aesthetics; unexpected, memorable font pairings
321
+ - **Pair intentionally** — a distinctive display font with a refined body font creates contrast and hierarchy
322
+ - **Vary across projects** — NEVER converge on the same "safe" choices (e.g., Space Grotesk) across different designs. Each project deserves its own typographic identity
323
+
324
+ ### Color & Theme
325
+
326
+ Commit to a cohesive aesthetic rather than a timid, evenly-distributed palette.
327
+
328
+ - **Use CSS variables** for consistency across the entire interface
329
+ - **Dominant colors with sharp accents** outperform safe, evenly-balanced palettes — pick a strong primary and let accents punctuate, not compete
330
+ - **Dark vs. light is a creative choice** — vary between light and dark themes based on the design direction, not habit
331
+ - **Color should reinforce tone** — a luxury interface uses restrained, rich tones; a playful interface uses saturated, energetic ones
332
+
333
+ ### Motion & Micro-Interactions
334
+
335
+ Use animations to create delight and communicate state, not to fill space.
336
+
337
+ - **Prioritize CSS-only solutions** for HTML/vanilla projects
338
+ - **Use Motion library** (Framer Motion) for React when available
339
+ - **Focus on high-impact moments** — one well-orchestrated page load with staggered reveals (`animation-delay`) creates more delight than scattered micro-interactions
340
+ - **Scroll-triggered animations** and hover states that surprise add personality
341
+ - **Entrance choreography** — stagger elements on page load to create a sense of intentional reveal rather than everything appearing at once
342
+
343
+ ### Spatial Composition
344
+
345
+ Break free from predictable grid layouts when the design direction calls for it.
346
+
347
+ - **Unexpected layouts** — asymmetry, overlap, diagonal flow, grid-breaking elements
348
+ - **Generous negative space OR controlled density** — both are valid, but choose deliberately
349
+ - **Overlap and layering** — elements that break out of their containers create depth and visual interest
350
+ - **Diagonal and non-linear flow** — guide the eye through unexpected paths when appropriate
351
+ - **Scale contrast** — pair very large elements with very small ones for dramatic hierarchy
352
+
353
+ ### Backgrounds & Visual Details
354
+
355
+ Create atmosphere and depth rather than defaulting to solid colors.
356
+
357
+ - **Gradient meshes** — multi-point gradients that create organic, flowing color transitions
358
+ - **Noise textures** — subtle grain overlays that add tactile quality to flat surfaces
359
+ - **Geometric patterns** — repeating shapes that create rhythm and visual texture
360
+ - **Layered transparencies** — overlapping semi-transparent elements for depth
361
+ - **Dramatic shadows** — shadows as a design element, not just elevation
362
+ - **Decorative borders** — borders that contribute to the aesthetic, not just separate content
363
+ - **Custom cursors** — cursor changes that reinforce the interface's personality
364
+ - **Grain overlays** — film-grain effects that add warmth and analog character
365
+
366
+ ### Anti-AI-Slop Guidelines
367
+
368
+ NEVER produce generic AI-generated aesthetics. Specifically avoid:
369
+
370
+ - **Overused font families** — Inter, Roboto, Arial, system fonts as a default choice (they're fine when the design spec requires them, but never as a lazy default)
371
+ - **Cliché color schemes** — particularly purple gradients on white backgrounds, the "AI startup" palette
372
+ - **Predictable layouts** — cookie-cutter hero + 3-column features + testimonials without any creative interpretation
373
+ - **Component patterns without character** — every card, button, and section looking like a UI kit demo
374
+ - **Sameness across projects** — if two different projects look like they could be the same site, something went wrong
375
+
376
+ Interpret creatively and make unexpected choices that feel genuinely designed for the context. No two designs should look the same.
377
+
378
+ ### Execution Complexity
379
+
380
+ Match implementation complexity to the aesthetic vision:
381
+
382
+ - **Maximalist designs** need elaborate code with extensive animations, layered effects, rich textures, and detailed interactions. Don't hold back — commit fully to the vision with the code to back it up.
383
+ - **Minimalist or refined designs** need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from what you leave out and how perfectly you execute what remains.
384
+ - **The key is intentionality** — every CSS property, every animation, every color choice should serve the design direction. Random complexity is worse than simplicity.
385
+
386
+ > Remember: extraordinary creative work is possible. Don't default to safe choices — commit fully to a distinctive vision and execute it with precision.
387
+
285
388
  ## Color System
286
389
 
287
390
  ### Default Palette Structure
package/README.md CHANGED
@@ -36,6 +36,17 @@ AI coding assistants are powerful, but without structure they produce inconsiste
36
36
  No plan, no traceability Plans with acceptance criteria, ships PRs
37
37
  ```
38
38
 
39
+ ### Interview-First Planning
40
+
41
+ The **Architect agent** doesn't jump straight to solutions. Before creating any plan, it conducts a structured conversation:
42
+
43
+ 1. **Acknowledge & Clarify** — Summarizes your request and asks 3-5 targeted questions about scope, constraints, and success criteria
44
+ 2. **Deepen Understanding** — Follows up on unclear areas, identifies risks, presents trade-offs
45
+ 3. **Readiness Check** — Presents problem statement + proposed approach + assumptions, asks for your approval
46
+ 4. **Plan Review** — Only saves the plan after you explicitly approve it
47
+
48
+ This ensures you get plans that actually solve the right problem — not AI hallucinations.
49
+
39
50
  ---
40
51
 
41
52
  ## Quick Start
@@ -62,7 +73,7 @@ User Request
62
73
  v
63
74
  Architect (read-only planning)
64
75
  |
65
- |-- read-only analysis -----> @security @coder @perf
76
+ |-- read-only analysis -----> @security @explore @perf
66
77
  |
67
78
  v
68
79
  Implement / Fix (execution)
@@ -122,7 +133,7 @@ Handle complex, multi-step work. Use your best model.
122
133
 
123
134
  | Agent | Role | Key Capabilities |
124
135
  |-------|------|-----------------|
125
- | **architect** | Read-only analysis & planning | Plans with mermaid diagrams, acceptance criteria, NFR analysis. Commits plans and defers branch creation to handoff. Delegates read-only analysis to `@security`, `@coder`, `@perf`. |
136
+ | **architect** | Read-only analysis & planning | Plans with mermaid diagrams, acceptance criteria, NFR analysis. Conducts mandatory requirements interview and plan review before saving. Commits plans and defers branch creation to handoff. Delegates read-only analysis to `@explore`, `@security`, `@perf` only. |
126
137
  | **implement** | Full-access development | Skill-aware implementation, REPL loop with ACs, two-phase quality gate, parallel sub-agent orchestration, task finalizer. |
127
138
  | **fix** | Quick turnaround bug fixes | Rapid diagnosis, scope-based quality gate, optional REPL loop. Delegates deep debugging to `@debug`. |
128
139
 
@@ -134,11 +145,12 @@ Focused specialists launched **automatically** by primary agents. Each auto-load
134
145
  |-------|------|-----------------|-------------|
135
146
  | **@testing** | Test writing, suite execution, coverage | `testing-strategies` | Implement (standard+high), Fix (low+standard+high) |
136
147
  | **@security** | OWASP audit, secrets scan, threat modeling | `security-hardening` | Implement (standard+high), Fix (standard+high), Architect (read-only) |
148
+ | **@explore** | Read-only codebase exploration | — | Architect only (read-only analysis) |
137
149
  | **@audit** | Code quality, tech debt, pattern review | `code-quality` | Implement (standard+high) |
138
150
  | **@docs-writer** | Auto-documentation generation | — | Implement (standard+high) |
139
151
  | **@perf** | Complexity analysis, N+1 detection, bundle impact | `performance-optimization` | Implement (high), Fix (high), Architect (read-only) |
140
152
  | **@devops** | CI/CD validation, IaC review | `deployment-automation` | Implement (high, or infra files changed) |
141
- | **@coder** | Cross-layer implementation, feasibility | Per-layer skills | Implement (3+ layers), Architect (feasibility analysis) |
153
+ | **@coder** | Cross-layer implementation, feasibility | Per-layer skills | Implement (3+ layers) |
142
154
  | **@refactor** | Behavior-preserving restructuring | `design-patterns` + `code-quality` | Implement (refactor plans) |
143
155
  | **@debug** | Root cause analysis, troubleshooting | `testing-strategies` | Fix (complex issues) |
144
156
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cortex-agents",
3
- "version": "4.1.0",
3
+ "version": "4.1.2",
4
4
  "description": "Supercharge OpenCode with structured workflows, intelligent agents, and automated development practices",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",