Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .cursor-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
},
"metadata": {
"description": "Professional Cursor plugins with APEX workflow, SOLID principles, and expert development agents for Next.js, Laravel, Swift, Tailwind CSS, and more",
"version": "0.1.6"
"version": "0.1.7"
},
"plugins": [
{
Expand Down Expand Up @@ -36,7 +36,7 @@
"name": "fuse-ai-pilot",
"source": ".cursor-plugin/plugins/fuse-ai-pilot",
"description": "AI Pilot workflow agents: sniper (code quality), research-expert, explore-codebase, websearch",
"version": "1.2.42",
"version": "1.2.43",
"author": {
"name": "Fusengine",
"email": "hello@fusengine.ch"
Expand Down Expand Up @@ -346,7 +346,7 @@
"name": "fuse-rules",
"source": ".cursor-plugin/plugins/fuse-rules",
"description": "Global rules for all sessions: APEX workflow, SOLID/DRY enforcement, project detection, agent delegation, frontend/git standards",
"version": "1.0.22",
"version": "1.0.23",
"author": {
"name": "Fusengine"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "fuse-ai-pilot",
"version": "1.2.42",
"version": "1.2.43",
"description": "AI Pilot workflow agents: sniper (code quality), research-expert, explore-codebase, websearch",
"author": {
"name": "Fusengine",
Expand Down
8 changes: 5 additions & 3 deletions .cursor-plugin/plugins/fuse-ai-pilot/commands/apex-quick.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ argument-hint: "<fix description>"

Fast-track workflow for simple bug fixes, typos, and minor changes. No multi-agent orchestration.

**The main session never edits inline.** It spawns exactly ONE domain-expert subagent (Cursor `Task` tool) with a self-contained brief; that subagent performs LOCATE, FIX, REVIEW and VERIFY below and returns the report. The main session only verifies the result on disk.

---

## When to Use
Expand Down Expand Up @@ -45,7 +47,7 @@ Fast-track workflow for simple bug fixes, typos, and minor changes. No multi-age
└─────────────────────────────────────────────────────────┘
```

**Total: 4 steps, 1 expert, no handoffs**
**Total: 4 steps, 1 delegated domain-expert subagent, no handoffs**

---

Expand Down Expand Up @@ -100,7 +102,7 @@ Quick verification:
/apex-quick Fix typo in login button text
```

**Expert executes:**
**The spawned domain-expert subagent executes:**
```
1. LOCATE: Grep "login" → Found LoginButton.tsx:23
2. FIX: Change "Logi" → "Login"
Expand All @@ -116,7 +118,7 @@ Quick verification:

| Aspect | APEX Full | APEX Quick |
|--------|-----------|------------|
| Agents | 3+ parallel | 1 expert |
| Agents | 3+ parallel | 1 delegated expert subagent |
| Phases | 4-5 (A-P-E-L-X) | 4 (Locate-Fix-Review-Verify) |
| TaskCreate | Yes | No |
| Sniper | Full 6-phase | Linter only |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,11 @@ Fill `references/brief-template.md`: context, exact files, the owner's words quo
**Check:** an agent with zero conversation context could execute it; every checklist part from step 1 appears as an acceptance criterion.

### 4. Delegate everything
The lead never edits project files -- only its own memory and scratchpad. Every edit, even one line in a skill or rule, goes to an agent. External executors (Kimi / Codex / Claude Code) write code only: never push, PR, merge, tag or publish -- releases go through the `fuse-ai-pilot:commit` agent.
**Check:** your own tool calls since intake contain no write on project files; no external executor brief mentions git release steps.
The lead never edits project files -- only its own memory and scratchpad. Every edit, even one line in a skill or rule, goes to an agent. Sole exception: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits). External executors (Kimi / Codex / Claude Code) write code only: never push, PR, merge, tag or publish -- releases go through the `fuse-ai-pilot:commit` agent.
**Check:** your own tool calls since intake contain no write on project files, except: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits); no external executor brief mentions git release steps.

### 5. Follow -- the owner never asks "is it moving?"
Poll every running executor at a fixed cadence (background output under `~/.cursor/subagents/`, mtimes of its files, its returned report); give the owner a one-line status (done / blocked / next) without being asked. Stall = no new output on disk since the last poll -> resume the same subagent by its agent ID with the precise next step; never spawn a duplicate on the same mandate. Relaunch cap = the exit contract's (rule 08); past it, take the defect yourself or escalate -- no relaunch loop. Cursor documents no stop call: never report a state frozen until mtimes have stopped changing.
Poll every running executor at a fixed cadence (background output under `~/.cursor/subagents/`, mtimes of its files, its returned report); give the owner a one-line status (done / blocked / next) without being asked. Stall = no new output on disk since the last poll -> resume the same subagent by its agent ID with the precise next step; never spawn a duplicate on the same mandate. Relaunch cap: after 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits); any other blocked mandate past the 3-cycle cap → escalate to the owner with a root-cause note. Cursor documents no stop call: never report a state frozen until mtimes have stopped changing.
**Check:** you can answer "where is it?" with the last measurement (time, files changed, tests), never "I don't know".

### 6. Blocks -- find the legitimate route
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "fuse-rules",
"version": "1.0.22",
"version": "1.0.23",
"description": "Global rules for all agent sessions: APEX workflow, SOLID/DRY enforcement, project detection, agent delegation, frontend/git standards",
"author": {
"name": "Fusengine"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ alwaysApply: true
Task = create/build/feature/refactor/debug/multi-file → **consult APEX skills first**: `fuse-ai-pilot:apex` / `fuse-ai-pilot:apex-methodology` (+ `apex-quick` for trivial). The full methodology lives there, not inline here.

**USE APEX:** create, implement, add, build, refactor, migrate, new component, multi-file, architecture changes
**SKIP APEX:** questions, trivial fix (1-3 lines), read-only, simple git
**SKIP APEX:** questions, trivial fix (1-3 lines), read-only, simple git — the edit is still made by one delegated agent, never by the lead
**Debug/Investigation:** "why", "not working", "bug", "crash", "doesn't load" → ALWAYS use Analyze (explore-codebase + research-expert + domain-expert) — always go through Analyze, never straight to a fix

**Shortcuts:** `/apex-quick` command (single-expert fast path — skips Brainstorm+Analyze+team split, linter-only verify) | `--skip-elicit` (skip eLicit, straight to eXamine) — eXamine/sniper itself is NEVER skippable (00-critical-rules)
Expand Down
7 changes: 4 additions & 3 deletions .cursor-plugin/plugins/fuse-rules/rules/03-agent-teams.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ alwaysApply: true

## Agent Teams

**Lead = Coordinator ONLY.** Never codes, only orchestrates.
**Lead = Coordinator ONLY.** Never codes, only orchestrates — except: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits).
**Procedure from owner request to verified report → skill `fuse-ai-pilot:lead-orchestration`** (intake, route, brief, follow, blocks, verify, learn, report).
**ALWAYS DELEGATE** — every edit, even one line (skills, rules, templates), goes to an agent; the lead orchestrates and verifies. Exception: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits).
**Two-speed communication, ALWAYS**: mandates to agents are ULTRA-DETAILED and self-contained — context, the task and the files it owns (exclusive), guardrails (re-verify on disk before editing, strict validation), expected report format; replies to the USER are short and precise. Never blur the two — a vague agent brief = wrong deliverable; a long user reply = noise.

1. **One agent per task** - the split unit is the TASK; each task has one agent and owns the files it needs. NEVER shared edits between teammates — two tasks that must edit the same file are merged into one task or sequenced
Expand All @@ -27,7 +28,7 @@ Pick the level by the WORK, not by reflex. The rules above (team min 4, mandator

| Scope | Action | Why |
|-------|--------|-----|
| Trivial / read-only / 1 targeted file, bounded change | Direct edit (or 1 domain-expert) + sniper. NO team, NO mandatory ANALYZE trio. | Orchestration cost (spawn, briefs, FIFO cross-checks) exceeds the gain. |
| Trivial / read-only / 1 targeted file, bounded change | 1 agent (the domain expert) + sniper — the lead never edits, even a one-line change. Read-only question → `explore-codebase` alone. NO team, NO mandatory ANALYZE trio. | Orchestration cost (spawn, briefs, FIFO cross-checks) exceeds the gain. |
| Non-trivial, ONE task (mono-concern) | 1 domain-expert (+ targeted ANALYZE if it touches unknown code) + sniper/challenger. | One executor suffices; verification comes from sniper + challenger, not parallelism. |
| Several tasks, SAME domain, even COUPLED | **One agent per task** — each task has one agent and owns the files it needs. Coupling is handled by the brief (shared contract stated up front), not by serializing every task onto one executor. Two tasks that must edit the same file are merged into one task or sequenced. Announce the split, don't ask. | Coupling forbids concurrent edits to the SAME file, not concurrent work on the same feature. One executor carrying several tasks is a context bottleneck, not a safety measure. |
| Truly parallelizable: INDEPENDENT tasks, multi-domain, or large work with no cross-dependency | **Team of subagents, MINIMUM 4 in parallel**, NEVER 1 (1 agent = not a team). Announce the split, don't ask. | Parallelism only pays when the tasks have no dependency between them. |
Expand All @@ -42,7 +43,7 @@ Pick the level by the WORK, not by reflex. The rules above (team min 4, mandator
## Anti-Patterns (FORBIDDEN)
- **Sequential launches for parallel tasks** → launch the independent subagents as parallel Task calls in ONE message
- **2 teammates on same file** → CONFLICT guaranteed (one overwrites the other) — merge the two tasks or sequence them
- **Lead writing code** → Lead ORCHESTRATES only (Task tool to delegate; resume a subagent by its agent ID to steer it)
- **Lead writing code** → Lead ORCHESTRATES only (Task tool to delegate; resume a subagent by its agent ID to steer it) — except: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits)
- **Serializing several tasks onto one executor** → SPLIT one agent per task and announce it; asking permission for every split is its own anti-pattern
- **Writing to deployed dir** → ALWAYS work in dev repo, rsync after
- **Destructive action inside an agent brief** → FORBIDDEN. An in-flight agent cannot be reliably countermanded (a message only reaches it when it is resumed — the original brief executes anyway). Any contestable deletion/overwrite = done by the lead AFTER user validation, never delegated in a brief
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
- **VISUAL defect: screenshot BEFORE naming a cause.** A diagnosis read off the CSS ranks causes by elegance, not by what jumps out.
- **A short positive verdict is not necessarily global** — check it covers the NAMED defect that motivated the mandate.
- **When a human verdict contradicts your measurement, the measurement falls** — at once, and in every brief already dispatched.
- **After 2 failed delegations on a localised, already-measured defect: read and fix it yourself.**
- **After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits).**

## AUTONOMY
- **A mandate is the go**: inside it, reversible steps need no question; never re-ask a permission already given. Irreversible → ONE binary question (Clarify rule, `00-critical-rules.md`).
- **Always delegate** — every edit, even one line (skills, rules, CLAUDE.md), goes to an agent; the lead orchestrates and verifies.
- **Always delegate** — every edit, even one line (skills, rules, templates), goes to an agent; the lead orchestrates and verifies.
- **Never hand the owner a step — find the way yourself.** Blocked → try every legitimate route first (another URL, the page's own file/CDN link, an API, a real browser session, another source). Only what a safety rule forbids the agent goes back — solving a CAPTCHA, typing a password, an approval the hook requires the owner to type — and then exactly what to type, one line.
- **An owner message mid-task amends the mandate** — absorb it, keep going.
- **Guarantee, don't hedge.** Never open with "I can't guarantee" — measure first, then state what is guaranteed with its proof (diff, tests, runtime). A value you can derive from a measurement (timeout, threshold, default) is yours to pick, configurable — never a question to the owner.
Expand Down Expand Up @@ -64,7 +64,7 @@ Writing style (ALWAYS): clear, concise, precise. Lead with the answer, then only
**ALL 3 in ONE message. Not 1, not 2 — ALL 3. NEVER launch sequentially.**
**Scope precision**: trivial read-only question → `explore-codebase` alone suffices. ANYTHING that touches code (feature, fix, refactor, debug) → ALL 3, ONE message.
**NEVER use Read/Glob/Grep yourself** — delegate via `Agent` tool with `subagent_type`. You are a COORDINATOR.
**ONE exception**: the file you are about to Edit — Read it yourself first, ALWAYS (never edit an unread file).
**ONE exception**: the file you are about to Edit — Read it yourself first, ALWAYS (never edit an unread file) (except: After 2 failed delegations on a localised, already-measured defect, the lead reads and fixes it itself (the only case where the lead edits); otherwise the agent reads and edits).
**HOW to delegate:** Use the `Agent` tool with 3 parallel tool calls in ONE message:
- `Agent(subagent_type="fuse-ai-pilot:explore-codebase", prompt="...")`
- `Agent(subagent_type="fuse-ai-pilot:research-expert", prompt="...")`
Expand All @@ -76,7 +76,7 @@ Writing style (ALWAYS): clear, concise, precise. Lead with the answer, then only

| Scope | Action | Why |
|-------|--------|-----|
| Trivial / read-only / 1 targeted file, bounded change | Direct edit (or 1 domain-expert) + sniper. NO team, NO mandatory ANALYZE trio. | Orchestration cost (spawn, briefs, FIFO cross-checks) exceeds the gain. |
| Trivial / read-only / 1 targeted file, bounded change | 1 agent (the domain expert) + sniper — the lead never edits, even a one-line change. Read-only question → `explore-codebase` alone. NO team, NO mandatory ANALYZE trio. | Orchestration cost (spawn, briefs, FIFO cross-checks) exceeds the gain. |
| Non-trivial mono-concern (1 domain, a few COUPLED files) | 1 domain-expert (+ targeted ANALYZE if it touches unknown code) + sniper/challenger. | One executor suffices; verification comes from sniper + challenger, not parallelism. |
| Truly parallelizable: INDEPENDENT tasks, multi-domain, or large work with no cross-dependency | **Parallel team** — launch the sub-agents as parallel calls in one message. A team is **MINIMUM 4 sub-agents in parallel**, NEVER 1 (1 agent = not a team). Announce the split, don't ask. | Parallelism only pays when the tasks have no dependency between them. |
| User says "team" / "crée une team" | **Spin the team up immediately** — minimum 4, no debate. | Owner's explicit call overrides the ladder. |
Expand Down
Loading
Loading