@amsterdamdatalabs/enact-extensions 0.1.0 → 0.1.3

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 (245) hide show
  1. package/README.md +96 -21
  2. package/dist/index.d.ts +5 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/install.d.ts +171 -1
  7. package/dist/install.d.ts.map +1 -1
  8. package/dist/install.js +402 -49
  9. package/dist/install.js.map +1 -1
  10. package/dist/internal/codex.d.ts.map +1 -1
  11. package/dist/internal/codex.js +7 -1
  12. package/dist/internal/codex.js.map +1 -1
  13. package/dist/internal/platform.d.ts +8 -0
  14. package/dist/internal/platform.d.ts.map +1 -1
  15. package/dist/internal/platform.js +46 -2
  16. package/dist/internal/platform.js.map +1 -1
  17. package/dist/provision.d.ts +30 -0
  18. package/dist/provision.d.ts.map +1 -0
  19. package/dist/provision.js +202 -0
  20. package/dist/provision.js.map +1 -0
  21. package/dist/validate/index.d.ts +44 -0
  22. package/dist/validate/index.d.ts.map +1 -1
  23. package/dist/validate/index.js +157 -0
  24. package/dist/validate/index.js.map +1 -1
  25. package/extensions/cmux/.agents/plugin.json +37 -0
  26. package/extensions/cmux/skills/cmux/SKILL.md +82 -0
  27. package/extensions/cmux/skills/cmux/agents/openai.yaml +4 -0
  28. package/extensions/cmux/skills/cmux/references/handles-and-identify.md +35 -0
  29. package/extensions/cmux/skills/cmux/references/panes-surfaces.md +37 -0
  30. package/extensions/cmux/skills/cmux/references/trigger-flash-and-health.md +23 -0
  31. package/extensions/cmux/skills/cmux/references/windows-workspaces.md +31 -0
  32. package/extensions/cmux/skills/cmux-vm-monitor/SKILL.md +122 -0
  33. package/extensions/cmux/skills/cmux-vm-monitor/agents/openai.yaml +4 -0
  34. package/extensions/cmux/skills/cmux-vm-monitor/references/cmux-commands.md +66 -0
  35. package/extensions/cmux/skills/cmux-vm-monitor/scripts/codex_vm_monitor.sh +45 -0
  36. package/extensions/cmux/skills/cmux-workspace/SKILL.md +93 -0
  37. package/extensions/dev-state/.agents/plugin.json +35 -0
  38. package/extensions/dev-state/skills/dev-state-plan-graduation/SKILL.md +194 -0
  39. package/extensions/dev-state/skills/dev-state-plan-graduation/agents/openai.yaml +4 -0
  40. package/extensions/dev-state/skills/dev-state-plan-graduation/references/reference.md +130 -0
  41. package/extensions/devops/.agents/plugin.json +36 -0
  42. package/extensions/devops/skills/azure-devops-cli/SKILL.md +431 -0
  43. package/extensions/devops/skills/azure-devops-cli/agents/openai.yaml +4 -0
  44. package/extensions/devops/skills/ci-pipeline-strategy/SKILL.md +217 -0
  45. package/extensions/devops/skills/ci-pipeline-strategy/agents/openai.yaml +4 -0
  46. package/extensions/enact-context/.agents/plugin.json +40 -0
  47. package/extensions/enact-context/.mcp.json +8 -0
  48. package/extensions/enact-context/README.md +25 -0
  49. package/extensions/enact-context/assets/icon.png +0 -0
  50. package/extensions/enact-context/assets/logo.png +0 -0
  51. package/extensions/enact-context/hooks/hooks.json +115 -0
  52. package/extensions/enact-context/skills/enact-context/SKILL.md +149 -0
  53. package/extensions/enact-context/skills/enact-context/scripts/install.sh +69 -0
  54. package/extensions/enact-factory/.agents/plugin.json +42 -0
  55. package/extensions/enact-factory/.mcp.json +8 -0
  56. package/extensions/enact-factory/assets/icon.png +0 -0
  57. package/extensions/enact-factory/assets/logo.png +0 -0
  58. package/extensions/enact-factory/hooks/user-prompt-submit.mjs +67 -0
  59. package/extensions/enact-factory/skills/testing-strategy/SKILL.md +167 -0
  60. package/extensions/enact-factory/skills/workitem-triage/SKILL.md +22 -0
  61. package/extensions/enact-operator/.agents/plugin.json +57 -0
  62. package/extensions/enact-operator/.app.json +3 -0
  63. package/extensions/enact-operator/.mcp.json +10 -0
  64. package/extensions/enact-operator/_taxonomy.md +86 -0
  65. package/extensions/enact-operator/agents/README.md +5 -0
  66. package/extensions/enact-operator/agents/architect.toml +25 -0
  67. package/extensions/enact-operator/agents/code-reviewer.toml +24 -0
  68. package/extensions/enact-operator/agents/critic.toml +30 -0
  69. package/extensions/enact-operator/agents/executor.toml +24 -0
  70. package/extensions/enact-operator/agents/explore.toml +23 -0
  71. package/extensions/enact-operator/agents/planner.toml +24 -0
  72. package/extensions/enact-operator/agents/verifier.toml +24 -0
  73. package/extensions/enact-operator/assets/icon.png +0 -0
  74. package/extensions/enact-operator/assets/logo.png +0 -0
  75. package/extensions/enact-operator/commands/doctor.md +39 -0
  76. package/extensions/enact-operator/commands/setup.md +51 -0
  77. package/extensions/enact-operator/hooks/hooks.json +146 -0
  78. package/extensions/enact-operator/skills/_variants.md +44 -0
  79. package/extensions/enact-operator/skills/ai-slop-cleaner/SKILL.md +50 -0
  80. package/extensions/enact-operator/skills/analyze/SKILL.md +91 -0
  81. package/extensions/enact-operator/skills/ask/SKILL.md +47 -0
  82. package/extensions/enact-operator/skills/autopilot/SKILL.md +170 -0
  83. package/extensions/enact-operator/skills/autoresearch-goal/SKILL.md +79 -0
  84. package/extensions/enact-operator/skills/cancel/SKILL.md +99 -0
  85. package/extensions/enact-operator/skills/configure-notifications/SKILL.md +77 -0
  86. package/extensions/enact-operator/skills/deep-interview/SKILL.md +80 -0
  87. package/extensions/enact-operator/skills/doctor/SKILL.md +48 -0
  88. package/extensions/enact-operator/skills/hud/SKILL.md +49 -0
  89. package/extensions/enact-operator/skills/hyperplan/SKILL.md +47 -0
  90. package/extensions/enact-operator/skills/plan/SKILL.md +78 -0
  91. package/extensions/enact-operator/skills/ralph/SKILL.md +201 -0
  92. package/extensions/enact-operator/skills/ralph/gemini.md +18 -0
  93. package/extensions/enact-operator/skills/ralplan/SKILL.md +151 -0
  94. package/extensions/enact-operator/skills/remove-deadcode/SKILL.md +45 -0
  95. package/extensions/enact-operator/skills/research/SKILL.md +74 -0
  96. package/extensions/enact-operator/skills/review/SKILL.md +58 -0
  97. package/extensions/enact-operator/skills/security-research/SKILL.md +54 -0
  98. package/extensions/enact-operator/skills/setup/SKILL.md +91 -0
  99. package/extensions/enact-operator/skills/setup/scripts/install.sh +50 -0
  100. package/extensions/enact-operator/skills/skill/SKILL.md +82 -0
  101. package/extensions/enact-operator/skills/tdd/SKILL.md +59 -0
  102. package/extensions/enact-operator/skills/team/SKILL.md +199 -0
  103. package/extensions/enact-operator/skills/trace/SKILL.md +41 -0
  104. package/extensions/enact-operator/skills/ultragoal/SKILL.md +99 -0
  105. package/extensions/enact-operator/skills/ultraqa/SKILL.md +113 -0
  106. package/extensions/enact-operator/skills/ultrawork/SKILL.md +145 -0
  107. package/extensions/enact-operator/skills/ultrawork/planner.md +28 -0
  108. package/extensions/enact-operator/skills/wiki/SKILL.md +41 -0
  109. package/extensions/enact-operator/skills/work-with-workitem/SKILL.md +51 -0
  110. package/extensions/enact-wiki/.agents/plugin.json +42 -0
  111. package/extensions/enact-wiki/.mcp.json +15 -0
  112. package/extensions/enact-wiki/README.md +44 -0
  113. package/extensions/enact-wiki/assets/icon.png +0 -0
  114. package/extensions/enact-wiki/assets/logo.png +0 -0
  115. package/extensions/enact-wiki/skills/document-parser/SKILL.md +17 -0
  116. package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +60 -0
  117. package/extensions/enact-wiki/skills/document-parser/skill.json +9 -0
  118. package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +30 -0
  119. package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +62 -0
  120. package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +34 -0
  121. package/extensions/enact-wiki/skills/enact-wiki/references/query.md +59 -0
  122. package/extensions/enact-wiki/skills/search-lab/SKILL.md +57 -0
  123. package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +23 -0
  124. package/{plugins/net-revenue-management/.codex-plugin → extensions/net-revenue-management/.agents}/plugin.json +10 -6
  125. package/extensions/plugin-dev/.agents/plugin.json +42 -0
  126. package/extensions/plugin-dev/.mcp.json +3 -0
  127. package/extensions/plugin-dev/agents/agent-creator.md +199 -0
  128. package/extensions/plugin-dev/agents/plugin-validator.md +91 -0
  129. package/extensions/plugin-dev/agents/skill-reviewer.md +212 -0
  130. package/extensions/plugin-dev/commands/_archive/create-marketplace.md +427 -0
  131. package/extensions/plugin-dev/commands/_archive/plugin-dev-guide.md +12 -0
  132. package/extensions/plugin-dev/commands/create-plugin.md +498 -0
  133. package/extensions/plugin-dev/commands/start.md +81 -0
  134. package/extensions/plugin-dev/hooks/hooks.json +3 -0
  135. package/extensions/plugin-dev/skills/agent-development/SKILL.md +641 -0
  136. package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +250 -0
  137. package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +461 -0
  138. package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +246 -0
  139. package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +216 -0
  140. package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +226 -0
  141. package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +464 -0
  142. package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +474 -0
  143. package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +176 -0
  144. package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +227 -0
  145. package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +227 -0
  146. package/extensions/plugin-dev/skills/command-development/SKILL.md +763 -0
  147. package/extensions/plugin-dev/skills/command-development/examples/plugin-commands.md +612 -0
  148. package/extensions/plugin-dev/skills/command-development/examples/simple-commands.md +527 -0
  149. package/extensions/plugin-dev/skills/command-development/references/advanced-workflows.md +762 -0
  150. package/extensions/plugin-dev/skills/command-development/references/documentation-patterns.md +769 -0
  151. package/extensions/plugin-dev/skills/command-development/references/frontmatter-reference.md +508 -0
  152. package/extensions/plugin-dev/skills/command-development/references/interactive-commands.md +966 -0
  153. package/extensions/plugin-dev/skills/command-development/references/marketplace-considerations.md +943 -0
  154. package/extensions/plugin-dev/skills/command-development/references/plugin-features-reference.md +637 -0
  155. package/extensions/plugin-dev/skills/command-development/references/plugin-integration.md +191 -0
  156. package/extensions/plugin-dev/skills/command-development/references/skill-tool.md +447 -0
  157. package/extensions/plugin-dev/skills/command-development/references/testing-strategies.md +723 -0
  158. package/extensions/plugin-dev/skills/command-development/scripts/check-frontmatter.sh +234 -0
  159. package/extensions/plugin-dev/skills/command-development/scripts/validate-command.sh +160 -0
  160. package/extensions/plugin-dev/skills/hook-development/SKILL.md +861 -0
  161. package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +55 -0
  162. package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +57 -0
  163. package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +48 -0
  164. package/extensions/plugin-dev/skills/hook-development/references/advanced.md +871 -0
  165. package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +145 -0
  166. package/extensions/plugin-dev/skills/hook-development/references/migration.md +392 -0
  167. package/extensions/plugin-dev/skills/hook-development/references/patterns.md +430 -0
  168. package/extensions/plugin-dev/skills/hook-development/scripts/README.md +181 -0
  169. package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +153 -0
  170. package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +276 -0
  171. package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +159 -0
  172. package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +775 -0
  173. package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +20 -0
  174. package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +19 -0
  175. package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +38 -0
  176. package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +26 -0
  177. package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +601 -0
  178. package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +190 -0
  179. package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +572 -0
  180. package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +623 -0
  181. package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +222 -0
  182. package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +705 -0
  183. package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +774 -0
  184. package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +83 -0
  185. package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +611 -0
  186. package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +289 -0
  187. package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +592 -0
  188. package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +233 -0
  189. package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +193 -0
  190. package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +625 -0
  191. package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +116 -0
  192. package/extensions/plugin-dev/skills/skill-development/SKILL.md +564 -0
  193. package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +465 -0
  194. package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +167 -0
  195. package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +111 -0
  196. package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +225 -0
  197. package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +39 -0
  198. package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +379 -0
  199. package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +210 -0
  200. package/package.json +8 -11
  201. package/scripts/enact-extensions.mjs +823 -21
  202. package/scripts/hooks/session-start-drift-check.mjs +58 -0
  203. package/scripts/lib/build-index.mjs +50 -0
  204. package/scripts/lib/bundle-hash.mjs +137 -0
  205. package/scripts/lib/hooks.mjs +741 -0
  206. package/scripts/lib/ledger.mjs +163 -0
  207. package/scripts/lib/list-bundles.mjs +70 -0
  208. package/scripts/lib/outdated.mjs +144 -0
  209. package/scripts/lib/provision-mcp.mjs +16 -0
  210. package/scripts/lib/resolve-bundle.mjs +121 -0
  211. package/scripts/lib/run-install.mjs +402 -38
  212. package/scripts/lib/run-prune.mjs +73 -0
  213. package/scripts/lib/run-sync.mjs +9 -1
  214. package/scripts/lib/run-uninstall.mjs +244 -0
  215. package/scripts/lib/run-update.mjs +152 -0
  216. package/scripts/lib/run-validate.mjs +21 -18
  217. package/scripts/lib/serve.mjs +472 -0
  218. package/scripts/postinstall.mjs +63 -0
  219. package/scripts/setup-enact-context.sh +2 -2
  220. package/scripts/version-bump.sh +463 -0
  221. package/spec/codex.json +1 -11
  222. package/spec/index.json +59 -0
  223. package/web/assets/README.md +111 -0
  224. package/web/assets/logo-full.png +0 -0
  225. package/web/assets/logo-slim.png +0 -0
  226. package/web/assets/tokens/base.css +45 -0
  227. package/web/assets/tokens/colors.css +248 -0
  228. package/web/assets/tokens/effects.css +24 -0
  229. package/web/assets/tokens/fonts.css +8 -0
  230. package/web/assets/tokens/index.css +18 -0
  231. package/web/assets/tokens/spacing.css +50 -0
  232. package/web/index.html +1188 -0
  233. package/.agents/plugins/marketplace.json +0 -20
  234. package/catalog/enact-context.json +0 -9
  235. package/catalog/enact-factory.json +0 -7
  236. package/catalog/enact-operator.json +0 -7
  237. package/catalog/enact-wiki.json +0 -7
  238. package/catalog/net-revenue-management.json +0 -8
  239. package/scripts/rename-supervisor-to-operator.pl +0 -66
  240. package/scripts/sync-manifests.mjs +0 -23
  241. package/scripts/validate-catalog.mjs +0 -37
  242. package/scripts/validate-plugin.mjs +0 -10
  243. /package/{plugins → extensions}/net-revenue-management/.mcp.json +0 -0
  244. /package/{plugins → extensions}/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -0
  245. /package/{plugins → extensions}/net-revenue-management/skills/net-revenue-scenario/SKILL.md +0 -0
@@ -0,0 +1,22 @@
1
+ # workitem-triage
2
+
3
+ ## Purpose
4
+ Provide a read-only triage surface for Factory WorkItems. This skill is for assessing queue state and individual WorkItem details without allowing scheduling, mutation, or execution actions.
5
+
6
+ ## Activation Contract
7
+ - Activate with `factory_skill_activate` and `skill="workitem-triage"`.
8
+ - Deactivate with `factory_skill_deactivate` when triage is complete.
9
+ - While active, visible MCP tools must be limited to:
10
+ - `factory_workitem_list`
11
+ - `factory_workitem_get`
12
+
13
+ ## Forbidden Operations
14
+ - Do not call scheduler, assignment, lifecycle, watchdog, sync, or closure mutation tools while this skill is active.
15
+ - Do not update WorkItem state, queue entries, assignments, or process state.
16
+ - Do not dispatch agent lanes or terminate processes.
17
+
18
+ ## Output Contract
19
+ - Return concise, factual triage output only.
20
+ - Include WorkItem ids, statuses, and blockers when present.
21
+ - If required data is missing, explicitly state unknowns instead of inferring.
22
+ - Keep recommendations non-mutating unless the operator explicitly switches out of triage mode.
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "enact-operator",
3
+ "version": "0.1.0",
4
+ "description": "First-party Enact Operator plugin surfaces for skills, commands, agents, MCP, and runtime hook registrations.",
5
+ "author": {
6
+ "name": "amsterdamdatalabs"
7
+ },
8
+ "homepage": "https://amsterdamdatalabs.com",
9
+ "repository": "https://dev.azure.com/amsterdamdatalabs/Enact/_git/enact-operator",
10
+ "license": "UNLICENSED",
11
+ "keywords": [
12
+ "enact",
13
+ "operator",
14
+ "orchestration",
15
+ "workflow"
16
+ ],
17
+ "targets": [
18
+ "claude",
19
+ "codex",
20
+ "cursor"
21
+ ],
22
+ "skills": "./skills/",
23
+ "agents": "./agents/",
24
+ "commands": "./commands/",
25
+ "mcpServers": "./.mcp.json",
26
+ "apps": "./.app.json",
27
+ "interface": {
28
+ "displayName": "Enact Operator",
29
+ "shortDescription": "Installable surfaces for Enact Operator workflows.",
30
+ "longDescription": "Bundles the operator-owned Enact catalog. enact-extensions owns install, registration, hook wiring, enable/disable, status, and uninstall. Hook registrations call stable enact-operator runtime commands such as enact-operator hook user-prompt-submit; hook implementations stay in the enact-operator package.",
31
+ "developerName": "enact-operator",
32
+ "category": "Developer Tools",
33
+ "composerIcon": "./assets/icon.png",
34
+ "logo": "./assets/logo.png",
35
+ "capabilities": [
36
+ "skills",
37
+ "slash commands",
38
+ "operator workflows",
39
+ "team orchestration",
40
+ "operator setup",
41
+ "doctor and readiness audits",
42
+ "plan and execution workflows",
43
+ "review and QA workflows",
44
+ "federated context and memory workflows"
45
+ ]
46
+ },
47
+ "operator": {
48
+ "firstParty": true,
49
+ "bundledMcpProviders": [
50
+ "enact-factory",
51
+ "enact-context",
52
+ "enact-wiki"
53
+ ],
54
+ "operatorScope": "project"
55
+ },
56
+ "hooks": "./hooks/hooks.json"
57
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "apps": {}
3
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "mcpServers": {
3
+ "enact-operator": {
4
+ "command": "enact-operator",
5
+ "args": [
6
+ "mcp"
7
+ ]
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,86 @@
1
+ # Enact Operator Extension Taxonomy
2
+
3
+ `extensions/` has three extension tiers. Each entry belongs to exactly one tier.
4
+
5
+ ## Pure skills
6
+
7
+ Pure skills live at `extensions/skills/<name>/SKILL.md`.
8
+
9
+ - No MCP tool surface
10
+ - No persisted lane state
11
+ - Prompt/context guidance only
12
+
13
+ Current pure skills:
14
+
15
+ - `ai-slop-cleaner`
16
+ - `analyze`
17
+ - `ask`
18
+ - `autoresearch-goal`
19
+ - `cancel`
20
+ - `configure-notifications`
21
+ - `deep-interview`
22
+ - `doctor`
23
+ - `hud`
24
+ - `hyperplan`
25
+ - `plan`
26
+ - `remove-deadcode`
27
+ - `research`
28
+ - `review`
29
+ - `security-research`
30
+ - `setup`
31
+ - `skill`
32
+ - `tdd`
33
+ - `trace`
34
+ - `wiki`
35
+ - `work-with-workitem`
36
+
37
+ ## Agents
38
+
39
+ Codex subagents live at `extensions/agents/*.toml`.
40
+
41
+ - Stateless worker contracts
42
+ - Dispatched through Codex subagents
43
+ - Installed into the Codex agents directory by setup
44
+
45
+ The old exact-name collisions `architect`, `executor`, and `reviewer` were removed from `extensions/skills/` once their Codex agent TOMLs existed. The remaining helper surfaces such as `plan`, `review`, `research`, `trace`, and `analyze` are pure skills, not agent files.
46
+
47
+ ## Operator lanes
48
+
49
+ Operator lanes remain under `extensions/skills/<name>/SKILL.md`, but they are explicitly tagged with:
50
+
51
+ - `lane: true`
52
+ - `mcpToolPrefix: operator_<lane>_`
53
+
54
+ Lanes add:
55
+
56
+ - MCP tool surfaces
57
+ - persisted operator state
58
+ - runtime lifecycle semantics
59
+
60
+ **Classification rule:** an entry is a **root lane** if and only if it has both (a) a durable operator state file under `.enact/operator/state/` AND (b) an `mcpToolPrefix` field in its `SKILL.md` frontmatter. Any entry that satisfies only one criterion, or neither, is a wrapper or continuity overlay, not a root lane.
61
+
62
+ ### Root lanes
63
+
64
+ Root lanes are the four autonomous runtime execution lanes that the scheduler assigns tasks to. Each has a durable state file and its own `mcpToolPrefix`.
65
+
66
+ - `ralph`
67
+ - `ultrawork`
68
+ - `team`
69
+ - `autopilot`
70
+
71
+ ### Continuity overlays
72
+
73
+ Continuity overlays have an MCP surface and durable state, but serve as multi-session goal artifacts that wrap one or more root lanes rather than acting as independent scheduler candidates.
74
+
75
+ - `ultragoal`
76
+
77
+ ### Wrappers
78
+
79
+ Wrappers delegate execution to a root lane (typically ralph) and carry no independent durable state file of their own.
80
+
81
+ - `ralplan`
82
+ - `ultraqa`
83
+
84
+ ## Disambiguation rule
85
+
86
+ No entry may straddle tiers. If a surface needs Codex subagent dispatch, it belongs in `extensions/agents/`. If it needs Operator MCP tools and durable state, it is a lane. Everything else is a pure skill.
@@ -0,0 +1,5 @@
1
+ # Enact Operator Agents
2
+
3
+ Codex-compatible agent TOMLs live in this directory.
4
+
5
+ The taxonomy contract is documented in [`../_taxonomy.md`](../_taxonomy.md). During the active migration, the legacy agent-style skill directories in `../skills/` are the source material for the TOML ports that land here.
@@ -0,0 +1,25 @@
1
+ name = "architect"
2
+ description = "Architectural review and GO/NO-GO verdict with evidence pointers"
3
+ model = "gpt-5.3-codex"
4
+ model_reasoning_effort = "high"
5
+ sandbox_mode = "danger-full-access"
6
+ developer_instructions = """
7
+ You are the Enact Operator architect agent.
8
+
9
+ Role:
10
+ - Read-only architectural reviewer.
11
+ - Diagnose root causes from code and docs already on disk.
12
+ - Produce a GO or NO-GO verdict with concrete evidence pointers.
13
+
14
+ Rules:
15
+ - Never edit files.
16
+ - Never speculate when you can read the source.
17
+ - Cite exact file paths and line references for material claims.
18
+ - Call out tradeoffs, not just the favored direction.
19
+
20
+ Output contract:
21
+ - verdict: GO or NO-GO
22
+ - reasons: concise bullet list
23
+ - evidencePointers: file references
24
+ - tradeoffs: short list
25
+ """
@@ -0,0 +1,24 @@
1
+ name = "code-reviewer"
2
+ description = "Binding code review pass enforcing unconditional approval or actionable findings"
3
+ model = "gpt-5.3-codex"
4
+ model_reasoning_effort = "high"
5
+ sandbox_mode = "danger-full-access"
6
+ developer_instructions = """
7
+ You are the Enact Operator code-reviewer agent.
8
+
9
+ Role:
10
+ - Perform the binding review pass after an implementation batch.
11
+ - Prioritize correctness, regressions, and missing verification over style.
12
+
13
+ Rules:
14
+ - Never edit files.
15
+ - Review only from the actual diff and surrounding code.
16
+ - Every finding must cite a file reference and explain impact.
17
+ - If no actionable issues remain, emit the token UNCONDITIONAL_APPROVE.
18
+ - Otherwise, return a blocking verdict with the findings ordered by severity.
19
+
20
+ Output contract:
21
+ - verdict: UNCONDITIONAL_APPROVE or REQUEST_CHANGES
22
+ - findings: severity-ordered list with evidence
23
+ - residual_risks: optional short list
24
+ """
@@ -0,0 +1,30 @@
1
+ name = "critic"
2
+ description = "Adversarial debate participant for hyperplan and high-risk decision review"
3
+ model = "gpt-5.3-codex"
4
+ model_reasoning_effort = "high"
5
+ sandbox_mode = "danger-full-access"
6
+ developer_instructions = """
7
+ You are the Enact Operator critic agent.
8
+
9
+ Role:
10
+ - Attack weak assumptions in plans, proposals, and risky implementation choices.
11
+ - Operate as an adversarial reviewer, not a collaborator trying to be agreeable.
12
+
13
+ Rules:
14
+ - Never edit files.
15
+ - Surface the strongest counterargument first.
16
+ - Prefer concrete failure modes over vague concern language.
17
+ - When a decision looks sound, say that plainly instead of inventing objections.
18
+
19
+ Round protocol:
20
+ 1. Independent critique.
21
+ 2. Cross-attack on the competing argument.
22
+ 3. Defend, refine, or concede.
23
+
24
+ Output contract:
25
+ - position
26
+ - strongest_objections
27
+ - failure_modes
28
+ - concessions
29
+ - final_recommendation
30
+ """
@@ -0,0 +1,24 @@
1
+ name = "executor"
2
+ description = "Focused implementation worker for small, reviewable diffs with verification"
3
+ model = "gpt-5.3-codex"
4
+ model_reasoning_effort = "medium"
5
+ sandbox_mode = "danger-full-access"
6
+ developer_instructions = """
7
+ You are the Enact Operator executor agent.
8
+
9
+ Role:
10
+ - Implement the requested change with the smallest viable diff.
11
+ - Run focused verification before claiming completion.
12
+
13
+ Rules:
14
+ - Stay inside the stated scope.
15
+ - Match existing code patterns.
16
+ - Do not add abstractions unless the code clearly needs them.
17
+ - Do not stop at code changes; include the verification result.
18
+ - If blocked after repeated failed attempts, report the blocker clearly.
19
+
20
+ Output contract:
21
+ - changes_made
22
+ - verification
23
+ - blockers_or_followups
24
+ """
@@ -0,0 +1,23 @@
1
+ name = "explore"
2
+ description = "Codebase sweep agent for absolute-path findings and quote-friendly evidence"
3
+ model = "gpt-5.3-codex-spark"
4
+ model_reasoning_effort = "medium"
5
+ sandbox_mode = "danger-full-access"
6
+ developer_instructions = """
7
+ You are the Enact Operator explore agent.
8
+
9
+ Role:
10
+ - Find relevant files, symbols, and relationships quickly.
11
+ - Return enough context for another agent to act without repeating the search.
12
+
13
+ Rules:
14
+ - Never edit files.
15
+ - Use absolute paths in results.
16
+ - Prefer breadth first: search multiple relevant areas before narrowing.
17
+ - Explain how the files connect instead of returning a raw list.
18
+
19
+ Output contract:
20
+ - findings
21
+ - relationships
22
+ - recommended_next_step
23
+ """
@@ -0,0 +1,24 @@
1
+ name = "planner"
2
+ description = "Structured implementation planner that never writes production code"
3
+ model = "gpt-5.3-codex-spark"
4
+ model_reasoning_effort = "medium"
5
+ sandbox_mode = "danger-full-access"
6
+ developer_instructions = """
7
+ You are the Enact Operator planner agent.
8
+
9
+ Role:
10
+ - Turn a goal into a small, reviewable execution plan with clear acceptance criteria.
11
+ - You do not implement code.
12
+
13
+ Rules:
14
+ - Never write production code.
15
+ - Prefer 3 to 6 concrete steps.
16
+ - Include dependencies, risks, and verification expectations.
17
+ - Escalate unresolved product-direction choices instead of guessing.
18
+
19
+ Output contract:
20
+ - plan_summary
21
+ - steps
22
+ - acceptance_criteria
23
+ - risks_and_open_questions
24
+ """
@@ -0,0 +1,24 @@
1
+ name = "verifier"
2
+ description = "Evidence-first verifier for real-surface QA and completion claims"
3
+ model = "gpt-5.3-codex"
4
+ model_reasoning_effort = "high"
5
+ sandbox_mode = "danger-full-access"
6
+ developer_instructions = """
7
+ You are the Enact Operator verifier agent.
8
+
9
+ Role:
10
+ - Check whether completion claims are supported by fresh evidence.
11
+ - Focus on commands run, outputs observed, and uncovered gaps.
12
+
13
+ Rules:
14
+ - Never edit files.
15
+ - Do not trust prior claims without rerunning or directly reading evidence.
16
+ - Mark each requirement VERIFIED, PARTIAL, or MISSING.
17
+ - Separate missing evidence from failing behavior.
18
+
19
+ Output contract:
20
+ - verdict: PASS, FAIL, or INCOMPLETE
21
+ - evidence: commands and observed results
22
+ - requirement_matrix
23
+ - remaining_gaps
24
+ """
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: doctor
3
+ description: Health-check Enact Operator install, hooks, plugins, and runtime readiness
4
+ argument-hint: [focus-area]
5
+ ---
6
+
7
+ # Doctor
8
+
9
+ Run the Enact Operator **doctor** workflow for this workspace. User focus (optional): `$ARGUMENTS`
10
+
11
+ ## Policy
12
+
13
+ - Start from repo truth (`.enact/operator/`, hook files, source plugin bundle), not chat memory.
14
+ - If `operator_*` MCP tools are not visible, load the **enact-operator** MCP server first, then prefer MCP over CLI.
15
+ - Report **healthy**, **degraded**, and **broken** with an exact fix per finding.
16
+
17
+ ## Steps
18
+
19
+ 1. Primary health surface:
20
+ - MCP: `operator_doctor`
21
+ - CLI: `enact-operator doctor`
22
+ 2. If plugins are in scope, inspect source bundle validity:
23
+ - MCP: `operator_plugin_list`, `operator_plugin_validate`
24
+ - CLI: `enact-operator plugins validate`
25
+ 3. If hooks are in scope (or user mentioned hooks):
26
+ - MCP: `operator_hooks_status`
27
+ - CLI: `enact-operator hooks status`
28
+ 4. If sessions/team/runtime are in scope:
29
+ - MCP: `operator_session_status`, `operator_team_status`, `operator_hud`
30
+ 5. Summarize findings and the shortest remediation path for each issue.
31
+
32
+ ## Output
33
+
34
+ - What is healthy
35
+ - What is degraded
36
+ - What is broken
37
+ - Exact command, file path, or config change to fix each item
38
+
39
+ For deeper operator guidance, follow the `doctor` skill in this plugin's `skills/doctor/SKILL.md`.
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: setup
3
+ description: Bootstrap Enact Operator in this repo — layout, hooks, agents, and readiness checks
4
+ argument-hint: [reinstall|validate-only]
5
+ ---
6
+
7
+ # Setup
8
+
9
+ Run the Enact Operator **setup** workflow for this workspace. User mode (optional): `$ARGUMENTS`
10
+
11
+ ## Policy
12
+
13
+ - Start from the project root and existing `.enact/operator/` state, not chat memory.
14
+ - If `operator_*` MCP tools are not visible, load the **enact-operator** MCP server first, then prefer MCP over CLI.
15
+ - Confirm each step before advancing; do not skip verification at the end.
16
+
17
+ ## Workflow
18
+
19
+ 1. Top-level installer:
20
+ - MCP: `operator_setup`
21
+ - CLI: `enact-operator setup`
22
+ 2. Install hooks (no MCP equivalent):
23
+ - CLI: `enact-operator hooks install`
24
+ 3. Hook registration:
25
+ - MCP: `operator_hooks_status`
26
+ - CLI: `enact-operator hooks status`
27
+ 4. Agent role-pack:
28
+ - MCP: `operator_agents_pack_install`
29
+ - CLI: `enact-operator agents install-pack`
30
+ 5. Plugin bundle source coherence:
31
+ - MCP: `operator_plugin_validate`
32
+ - CLI: `enact-operator plugins validate`
33
+ 6. Install registry:
34
+ - MCP: `operator_install_registry`
35
+ 7. Runtime health:
36
+ - MCP: `operator_doctor`
37
+ - CLI: `enact-operator doctor`
38
+ 8. Replacement readiness:
39
+ - MCP: `operator_audit_replacement_readiness`
40
+ - CLI: `enact-operator audit replacement-readiness`
41
+
42
+ If the user passed `validate-only`, run steps 3–8 only (skip install mutations).
43
+
44
+ ## Final check
45
+
46
+ - Doctor reports no blocking errors
47
+ - Plugin validation reports the enact-operator source bundle is valid
48
+ - Hooks status shows required hooks registered
49
+ - `.enact/operator/` exists with expected subdirectories
50
+
51
+ For full setup contract details, follow the `enact-operator-setup` skill in `skills/setup/SKILL.md`.
@@ -0,0 +1,146 @@
1
+ {
2
+ "hooks": {
3
+ "SessionStart": [
4
+ {
5
+ "matcher": "startup|resume",
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "enact-operator hook session-start",
10
+ "statusMessage": "Loading Operator workspace context"
11
+ }
12
+ ]
13
+ }
14
+ ],
15
+ "UserPromptSubmit": [
16
+ {
17
+ "hooks": [
18
+ {
19
+ "type": "command",
20
+ "command": "enact-operator hook user-prompt-submit"
21
+ }
22
+ ]
23
+ },
24
+ {
25
+ "hooks": [
26
+ {
27
+ "type": "command",
28
+ "command": "enact-operator hook doom-loop-counter reset"
29
+ }
30
+ ]
31
+ },
32
+ {
33
+ "hooks": [
34
+ {
35
+ "type": "command",
36
+ "command": "enact-operator hook doom-loop-search-guard reset"
37
+ }
38
+ ]
39
+ }
40
+ ],
41
+ "PreToolUse": [
42
+ {
43
+ "matcher": "Bash",
44
+ "hooks": [
45
+ {
46
+ "type": "command",
47
+ "command": "enact-operator hook pre-tool-use",
48
+ "statusMessage": "Checking Operator shell safety policy"
49
+ }
50
+ ]
51
+ }
52
+ ],
53
+ "PostToolUse": [
54
+ {
55
+ "matcher": "Bash",
56
+ "hooks": [
57
+ {
58
+ "type": "command",
59
+ "command": "enact-operator hook post-tool-use",
60
+ "statusMessage": "Reviewing Operator tool output"
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "hooks": [
66
+ {
67
+ "type": "command",
68
+ "command": "enact-operator hook doom-loop-counter",
69
+ "statusMessage": "Checking Operator tool-call budget"
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ "matcher": "Bash",
75
+ "hooks": [
76
+ {
77
+ "type": "command",
78
+ "command": "enact-operator hook doom-loop-search-guard",
79
+ "statusMessage": "Checking Operator search deduplication"
80
+ }
81
+ ]
82
+ }
83
+ ],
84
+ "Stop": [
85
+ {
86
+ "hooks": [
87
+ {
88
+ "type": "command",
89
+ "command": "enact-operator hook stop",
90
+ "timeout": 30
91
+ }
92
+ ]
93
+ }
94
+ ],
95
+ "SessionIdle": [
96
+ {
97
+ "hooks": [
98
+ {
99
+ "type": "command",
100
+ "command": "enact-operator hook session-idle"
101
+ }
102
+ ]
103
+ }
104
+ ],
105
+ "PreCompact": [
106
+ {
107
+ "hooks": [
108
+ {
109
+ "type": "command",
110
+ "command": "enact-operator hook pre-compact"
111
+ }
112
+ ]
113
+ }
114
+ ],
115
+ "SessionEnd": [
116
+ {
117
+ "hooks": [
118
+ {
119
+ "type": "command",
120
+ "command": "enact-operator hook session-end"
121
+ }
122
+ ]
123
+ }
124
+ ],
125
+ "SubagentStart": [
126
+ {
127
+ "hooks": [
128
+ {
129
+ "type": "command",
130
+ "command": "enact-operator hook subagent-tracker start"
131
+ }
132
+ ]
133
+ }
134
+ ],
135
+ "SubagentStop": [
136
+ {
137
+ "hooks": [
138
+ {
139
+ "type": "command",
140
+ "command": "enact-operator hook subagent-tracker stop"
141
+ }
142
+ ]
143
+ }
144
+ ]
145
+ }
146
+ }
@@ -0,0 +1,44 @@
1
+ # Skill Variant Contract
2
+
3
+ Each skill directory may ship model-specific peer files alongside the default
4
+ `SKILL.md`.
5
+
6
+ ## File Names
7
+
8
+ - `SKILL.md` is the default prompt body and the required fallback.
9
+ - `gpt.md` is selected for GPT-family model identities.
10
+ - `gemini.md` is selected for Gemini-family model identities.
11
+ - `kimi.md` is selected for Kimi-family model identities.
12
+ - `opus-4-7.md` is selected for Claude Opus 4.7 model identities.
13
+
14
+ ## Selection Rule
15
+
16
+ The loader resolves variants in this order:
17
+
18
+ 1. first matching model-specific peer file
19
+ 2. `SKILL.md` when no model-specific peer matches or no model identity is available
20
+
21
+ ## Model Identity Header
22
+
23
+ The model identity is propagated through the `X-Model-Identity` header injected
24
+ by enact-gateway on routed requests. Variant selection reads that identity from
25
+ activation metadata. If the header is absent, the loader must fall back to
26
+ `SKILL.md` instead of guessing.
27
+
28
+ ## Testing Constraint
29
+
30
+ The default `auto` route does not expose a stable raw model identity for prompt
31
+ selection tests. For live gateway pass-through checks, use the confirmed model
32
+ IDs:
33
+
34
+ - `kimi-for-coding`
35
+ - `MiniMax-M2.7`
36
+
37
+ Do not use generic labels like `gpt-4` or `gemini` for integration checks.
38
+ Helper/unit tests should inject the model identity directly instead of depending
39
+ on a live gateway route.
40
+
41
+ ## Current Scope
42
+
43
+ This helper/documentation slice defines the variant selection contract and the
44
+ Ralph Gemini variant file. Full hook/prompt-loader wiring remains a later step.