llm-orchestrator 1.3.1 → 1.5.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/.claude-plugin/plugin.json +1 -1
- package/README.md +27 -13
- package/SKILL.md +11 -1
- package/adapters/agents.mjs +111 -12
- package/adapters/commands.mjs +10 -2
- package/agents/adversarial-skeptic.md +43 -3
- package/agents/backend-fixer.md +41 -3
- package/agents/code-reviewer.md +44 -3
- package/agents/code-simplifier.md +41 -3
- package/agents/db-concurrency-specialist.md +45 -3
- package/agents/db-migration-author.md +44 -3
- package/agents/explore.md +43 -3
- package/agents/frontend-fixer.md +42 -3
- package/agents/frontend-specialist.md +43 -3
- package/agents/general.md +40 -3
- package/agents/orchestrator.md +46 -3
- package/agents/production-telemetry-collector.md +45 -3
- package/agents/provider-webhook-specialist.md +44 -3
- package/agents/route-data-flow-tracer.md +43 -3
- package/agents/test-engineer.md +42 -3
- package/bin/attribution-check.mjs +1 -1
- package/bin/doctor.mjs +8 -6
- package/commands/incident-close.md +10 -0
- package/commands/incident-evidence.md +10 -0
- package/commands/incident-fix.md +10 -0
- package/commands/incident-start.md +10 -0
- package/commands/incident-verify.md +10 -0
- package/commands/orchestrate.md +10 -0
- package/commands/task-cancel.md +10 -0
- package/commands/task-plan.md +10 -0
- package/commands/task-status.md +10 -0
- package/commands/task-verify.md +10 -0
- package/commands/task.md +70 -0
- package/lib/adapter-renderer.mjs +5 -1
- package/lib/capability-resolver.mjs +59 -5
- package/lib/first-run.mjs +42 -1
- package/lib/project-discovery.mjs +4 -0
- package/package.json +2 -1
- package/policies/capabilities.md +27 -10
- package/protocol.md +3 -1
- package/registries/agent-roles.json +329 -10
- package/registries/capabilities.json +1 -1
- package/registries/core-profile.json +29 -0
- package/registries/preferred-tools.json +21 -2
- package/registries/task-mappings.json +10 -6
- package/schemas/agent-roles.schema.json +88 -1
- package/schemas/capability-contract.schema.json +1 -0
- package/workflows/bug-fix.md +4 -0
- package/workflows/feature.md +9 -1
- package/workflows/investigation.md +4 -0
- package/workflows/refactor.md +4 -0
- package/workflows/review.md +4 -0
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
"skills",
|
|
55
55
|
"mcps",
|
|
56
56
|
"best_for",
|
|
57
|
+
"charter",
|
|
57
58
|
"permission_profile",
|
|
58
59
|
"default_tier"
|
|
59
60
|
],
|
|
@@ -79,13 +80,99 @@
|
|
|
79
80
|
},
|
|
80
81
|
"mcps": {
|
|
81
82
|
"type": "array",
|
|
83
|
+
"description": "Real MCP server ids only (an id or alias of an installable MCP in registries/preferred-tools.json). A capability whose implementation the project binds goes in tool_capabilities instead.",
|
|
82
84
|
"items": {
|
|
83
|
-
"type": "string"
|
|
85
|
+
"type": "string",
|
|
86
|
+
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"tool_capabilities": {
|
|
90
|
+
"type": "array",
|
|
91
|
+
"description": "Capability classes the role needs whose concrete tool the project binds (a database client, a provider API). Rendered as capabilities, never as a server name to search for.",
|
|
92
|
+
"items": {
|
|
93
|
+
"type": "object",
|
|
94
|
+
"required": [
|
|
95
|
+
"capability",
|
|
96
|
+
"label"
|
|
97
|
+
],
|
|
98
|
+
"properties": {
|
|
99
|
+
"capability": {
|
|
100
|
+
"type": "string",
|
|
101
|
+
"pattern": "^[a-z][a-z_]*\\.[a-z][a-z_.]*$",
|
|
102
|
+
"description": "Capability id, as used in registries/preferred-tools.json and registries/task-mappings.json."
|
|
103
|
+
},
|
|
104
|
+
"label": {
|
|
105
|
+
"type": "string",
|
|
106
|
+
"minLength": 1,
|
|
107
|
+
"pattern": "^[^\\r\\n`]+$",
|
|
108
|
+
"description": "Plain-language name of the capability class, e.g. 'database client'."
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"additionalProperties": false
|
|
84
112
|
}
|
|
85
113
|
},
|
|
86
114
|
"best_for": {
|
|
87
115
|
"type": "string"
|
|
88
116
|
},
|
|
117
|
+
"charter": {
|
|
118
|
+
"type": "object",
|
|
119
|
+
"description": "Role-specific operating charter rendered into the body of each native agent file by adapters/agents.mjs. Every string is one line of plain prose.",
|
|
120
|
+
"required": [
|
|
121
|
+
"mission",
|
|
122
|
+
"principles",
|
|
123
|
+
"done_when",
|
|
124
|
+
"never",
|
|
125
|
+
"handoff"
|
|
126
|
+
],
|
|
127
|
+
"properties": {
|
|
128
|
+
"mission": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"minLength": 1,
|
|
131
|
+
"pattern": "^[^\\r\\n]+$",
|
|
132
|
+
"description": "One-sentence identity, in second person."
|
|
133
|
+
},
|
|
134
|
+
"principles": {
|
|
135
|
+
"type": "array",
|
|
136
|
+
"minItems": 3,
|
|
137
|
+
"maxItems": 5,
|
|
138
|
+
"items": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"minLength": 1,
|
|
141
|
+
"pattern": "^[^\\r\\n]+$"
|
|
142
|
+
},
|
|
143
|
+
"description": "Concrete operating rules specific to this role."
|
|
144
|
+
},
|
|
145
|
+
"done_when": {
|
|
146
|
+
"type": "array",
|
|
147
|
+
"minItems": 2,
|
|
148
|
+
"maxItems": 4,
|
|
149
|
+
"items": {
|
|
150
|
+
"type": "string",
|
|
151
|
+
"minLength": 1,
|
|
152
|
+
"pattern": "^[^\\r\\n]+$"
|
|
153
|
+
},
|
|
154
|
+
"description": "Observable exit criteria."
|
|
155
|
+
},
|
|
156
|
+
"never": {
|
|
157
|
+
"type": "array",
|
|
158
|
+
"minItems": 2,
|
|
159
|
+
"maxItems": 4,
|
|
160
|
+
"items": {
|
|
161
|
+
"type": "string",
|
|
162
|
+
"minLength": 1,
|
|
163
|
+
"pattern": "^[^\\r\\n]+$"
|
|
164
|
+
},
|
|
165
|
+
"description": "Role-specific prohibitions."
|
|
166
|
+
},
|
|
167
|
+
"handoff": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"minLength": 1,
|
|
170
|
+
"pattern": "^[^\\r\\n]+$",
|
|
171
|
+
"description": "What the role returns to its parent."
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"additionalProperties": false
|
|
175
|
+
},
|
|
89
176
|
"permission_profile": {
|
|
90
177
|
"type": "string"
|
|
91
178
|
},
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"required": ["type"],
|
|
26
26
|
"properties": {
|
|
27
27
|
"type": { "type": "string", "minLength": 1 },
|
|
28
|
+
"domain": { "type": "string", "description": "The pre-evaluation domain (FRONTEND, BACKEND, DB, INFRA, UNKNOWN or a project domain); matched case-insensitively by any_task_domains." },
|
|
28
29
|
"signals": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
|
|
29
30
|
"requires_shell": { "type": "boolean" },
|
|
30
31
|
"nontrivial": { "type": "boolean" },
|
package/workflows/bug-fix.md
CHANGED
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
reproduction, does not pass G1.
|
|
12
12
|
- Exactly one falsifiable hypothesis at G2, recorded in `hypothesis:{task_id}`.
|
|
13
13
|
- A regression test that is **observed RED** before the fix, then GREEN after.
|
|
14
|
+
- **`impeccable` when the defect is in UI or visual design** (`ui.design_system`): **Evidence** —
|
|
15
|
+
`/impeccable audit` on the affected surface; **Fix** — `/impeccable harden` for error, overflow,
|
|
16
|
+
i18n and edge-case defects; **Verify** — `/impeccable audit` again on the same surface. Another
|
|
17
|
+
design skill never stands in for it silently.
|
|
14
18
|
|
|
15
19
|
## Optional (trigger)
|
|
16
20
|
|
package/workflows/feature.md
CHANGED
|
@@ -11,11 +11,19 @@
|
|
|
11
11
|
- **The test-engineer writes the failing test first.** No builder is dispatched before G3 RED.
|
|
12
12
|
- Discover project conventions and acceptance criteria before designing against them.
|
|
13
13
|
- Independent review wherever a risk floor applies.
|
|
14
|
+
- **`impeccable` on any UI** (domain `FRONTEND`, or the feature creates or changes UI or visual
|
|
15
|
+
design — `ui.design_system`): **Plan** — `/impeccable init` when the project has no `PRODUCT.md`,
|
|
16
|
+
then `/impeccable shape` before any UI code; **Build** — an ordinary `/impeccable` new-work
|
|
17
|
+
request after `shape`, or the targeted command the plan names (`layout`, `typeset`, `colorize`,
|
|
18
|
+
`animate`, `adapt`, …); **Review** — `/impeccable critique` + `/impeccable audit` on the changed
|
|
19
|
+
surface; **Verify** — `/impeccable polish` before G5. Design-system, UI-styling,
|
|
20
|
+
`frontend-design` and `ui-ux-pro-max` skills are complements, never a substitute.
|
|
14
21
|
|
|
15
22
|
## Optional (trigger)
|
|
16
23
|
|
|
17
24
|
- `context7` — any library or SDK API surface, **including familiar ones**; training data lags.
|
|
18
|
-
- Design-system + UI-styling skills —
|
|
25
|
+
- Design-system + UI-styling skills — alongside `impeccable` when the project has its own design
|
|
26
|
+
system to follow.
|
|
19
27
|
- Payment-provider best-practices skill — the change touches a money path.
|
|
20
28
|
- Semantic-code MCP — a large cross-file edit.
|
|
21
29
|
|
|
@@ -19,6 +19,10 @@
|
|
|
19
19
|
explicit refusal continue in declared degraded mode with a `degraded: exa` line and those claims
|
|
20
20
|
labelled unverified.
|
|
21
21
|
|
|
22
|
+
- **`impeccable` when the question is about UI or visual design** (`ui.design_system`): **Evidence**
|
|
23
|
+
— `/impeccable critique` and `/impeccable audit` on the surface in question, read-only; the
|
|
24
|
+
report cites their findings.
|
|
25
|
+
|
|
22
26
|
## Optional (trigger)
|
|
23
27
|
|
|
24
28
|
- Semantic-code MCP — symbol-level questions across a large codebase.
|
package/workflows/refactor.md
CHANGED
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
- Identify behavior and compatibility invariants before touching anything. Externally visible
|
|
12
12
|
contracts are preserved — no renamed error keys, no removed response fields, no moved routes.
|
|
13
13
|
- Small transformations with disjoint ownership, each verifiable on its own.
|
|
14
|
+
- **`impeccable` when the refactor touches UI** (`ui.design_system`): **Analyze** —
|
|
15
|
+
`/impeccable audit` for the baseline; **Incremental** — `/impeccable extract` to pull repeated styles into
|
|
16
|
+
tokens and components; **Review** — `/impeccable audit` against the baseline (no new findings)
|
|
17
|
+
and `/impeccable polish` for design-system alignment. Never a silent substitute.
|
|
14
18
|
|
|
15
19
|
## Optional (trigger)
|
|
16
20
|
|
package/workflows/review.md
CHANGED
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
described as independent.
|
|
16
16
|
- Minor findings and out-of-scope calls are batched into one explicit "skip or fix?" question — never
|
|
17
17
|
silently parked.
|
|
18
|
+
- **`impeccable` when the diff or target is UI or visual design** (`ui.design_system`): **Analyze** —
|
|
19
|
+
`/impeccable critique` (UX review) + `/impeccable audit` (accessibility, performance, responsive,
|
|
20
|
+
anti-pattern detectors); their findings join the severity-ranked list. A guidelines skill
|
|
21
|
+
complements them, never replaces them.
|
|
18
22
|
|
|
19
23
|
## Optional (trigger)
|
|
20
24
|
|