thoth-agents 0.3.12 → 0.4.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 (50) hide show
  1. package/README.md +181 -474
  2. package/dist/agents/prompt-dialects.d.ts +4 -1
  3. package/dist/agents/prompt-sections.d.ts +2 -1
  4. package/dist/{chunk-5UBJB5QO.js → chunk-5EBXGMOK.js} +1 -1
  5. package/dist/chunk-62L3ORXN.js +30 -0
  6. package/dist/{chunk-DX4U3AD3.js → chunk-Q6SDM4KP.js} +114 -57
  7. package/dist/chunk-SECDI3TL.js +312 -0
  8. package/dist/{chunk-VPVBYBPU.js → chunk-WJ2YMM2E.js} +2298 -188
  9. package/dist/cli/index.js +184 -13
  10. package/dist/cli/install-completion.d.ts +13 -0
  11. package/dist/cli/install-ledger.d.ts +1 -1
  12. package/dist/cli/install.d.ts +11 -1
  13. package/dist/cli/operations/pi.d.ts +43 -0
  14. package/dist/cli/owned-skills.d.ts +17 -0
  15. package/dist/cli/pi-effort.d.ts +10 -0
  16. package/dist/cli/pi-install.d.ts +131 -0
  17. package/dist/cli/pi-migration.d.ts +12 -0
  18. package/dist/cli/pi-native-probe.d.ts +34 -0
  19. package/dist/cli/pi-package-receipt.d.ts +59 -0
  20. package/dist/cli/pi-paths.d.ts +20 -0
  21. package/dist/cli/pi-resources.d.ts +15 -0
  22. package/dist/cli/skills.d.ts +1 -1
  23. package/dist/cli/tui/index.js +12 -4
  24. package/dist/cli/tui/operations.d.ts +1 -0
  25. package/dist/cli/types.d.ts +4 -2
  26. package/dist/harness/adapters/pi.d.ts +8 -0
  27. package/dist/harness/pi-specialists.d.ts +6 -0
  28. package/dist/harness/types.d.ts +2 -2
  29. package/dist/harness/writers/pi-agent.d.ts +16 -0
  30. package/dist/index.js +6 -4
  31. package/dist/pi.d.ts +11 -0
  32. package/dist/pi.js +46 -0
  33. package/package.json +14 -3
  34. package/pi/.thoth-agents-assets.json +12 -0
  35. package/pi/agents/thoth-deep.md +81 -0
  36. package/pi/agents/thoth-designer.md +81 -0
  37. package/pi/agents/thoth-explorer.md +81 -0
  38. package/pi/agents/thoth-librarian.md +83 -0
  39. package/pi/agents/thoth-oracle.md +83 -0
  40. package/pi/agents/thoth-quick.md +81 -0
  41. package/plugin/.claude-plugin/plugin.json +1 -1
  42. package/plugin/.codex-plugin/plugin.json +1 -1
  43. package/plugin/skills/thoth-archive/SKILL.md +1 -1
  44. package/plugin/skills/thoth-constitution/SKILL.md +1 -1
  45. package/plugin/skills/thoth-init/SKILL.md +1 -1
  46. package/plugin/skills/thoth-sdd/SKILL.md +1 -1
  47. package/skills/thoth-archive/SKILL.md +1 -1
  48. package/skills/thoth-constitution/SKILL.md +1 -1
  49. package/skills/thoth-init/SKILL.md +1 -1
  50. package/skills/thoth-sdd/SKILL.md +1 -1
package/README.md CHANGED
@@ -1,549 +1,256 @@
1
1
  <div align="center">
2
- <img src="img/thoth-agents-header.webp" alt="Seven human cyber-Egyptian thoth-agents roles, with Thoth as the Orchestrator centered between three read-only specialists and three implementation writers" width="100%">
2
+ <img src="img/thoth-agents-header.webp" alt="Seven cyber-Egyptian specialists led by Thoth, the Orchestrator" width="100%">
3
3
  <h1>Thoth-Agents</h1>
4
- <p><i>Adaptive orchestration for OpenCode, Codex, and Claude Code.</i></p>
5
- <p><b>Seven roles</b> · <b>Three SDD routes</b> · <b>Runtime-autonomous SDD</b></p>
4
+ <p><b>One conversation. The right specialists. A workflow that fits the task.</b></p>
5
+ <p>Adaptive agent orchestration for OpenCode, Codex, Claude Code, and Pi.</p>
6
6
  <p>
7
- <a href="https://www.npmjs.com/package/thoth-agents"><img src="https://img.shields.io/npm/v/thoth-agents?style=for-the-badge&amp;color=cb9b35&amp;label=npm" alt="npm version"></a>
8
- <a href="https://github.com/EremesNG/thoth-agents/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/EremesNG/thoth-agents/ci.yml?branch=master&amp;style=for-the-badge&amp;label=CI" alt="CI status"></a>
9
- <a href="package.json"><img src="https://img.shields.io/badge/node-%3E%3D22.13-43853d?style=for-the-badge&amp;logo=node.js&amp;logoColor=white" alt="Node 22.13 or newer"></a>
10
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-1f6feb?style=for-the-badge" alt="MIT License"></a>
7
+ <a href="https://www.npmjs.com/package/thoth-agents"><img src="https://img.shields.io/npm/v/thoth-agents?style=flat-square&amp;color=cb9b35&amp;label=npm" alt="npm version"></a>
8
+ <a href="https://github.com/EremesNG/thoth-agents/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/EremesNG/thoth-agents/ci.yml?branch=master&amp;style=flat-square&amp;label=CI" alt="CI status"></a>
9
+ <a href="package.json"><img src="https://img.shields.io/badge/node-%3E%3D22.19-43853d?style=flat-square&amp;logo=node.js&amp;logoColor=white" alt="Node 22.19 or newer"></a>
10
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-1f6feb?style=flat-square" alt="MIT License"></a>
11
+ </p>
12
+ <p>
13
+ <a href="#why-thoth-agents">Overview</a> ·
14
+ <a href="#install">Install</a> ·
15
+ <a href="#get-started">Get started</a> ·
16
+ <a href="#meet-the-team">The team</a> ·
17
+ <a href="#choose-your-workflow">Workflows</a> ·
18
+ <a href="#documentation">Documentation</a>
11
19
  </p>
12
20
  </div>
13
21
 
14
22
  ---
15
23
 
16
- ## What it does
17
-
18
- thoth-agents is a multi-harness orchestration plugin for OpenCode, Codex, and
19
- Claude Code. One adaptive root handles clear bounded work directly and delegates
20
- only when specialization, context isolation, independent review, or safe
21
- parallelism creates a net gain.
22
-
23
- The plugin ships the seven-role contract and thoth-owned SDD
24
- contracts that combine Spec Kit-grade traceability with OpenSpec-style durable
25
- deltas. The root shapes substantive work into dependency-aware, conflict-free
26
- native waves and joins terminal native results before dependent synthesis.
27
- Accelerated planning fast-forwards without routine pauses; structural
28
- `ready`/`closeout` gates and proportional independent review retain rigor. Root
29
- recommends Direct, Accelerated, or Full after summarizing context; explicit
30
- answers win and the third answerless route question selects the recommendation.
31
- After `ready`, artifact-backed routes offer optional Oracle plan review or proceeding
32
- without it; every final verification remains mandatory. During
33
- installation, the CLI obtains four mandatory external skills
34
- from their canonical repositories with `npx skills add` and invokes the official
35
- provider-owned thoth-mem setup for the selected harness. During an SDD, agents
36
- load local contracts and the installed thoth-mem guidance; they never need to
37
- invoke either CLI or download a phase contract.
38
-
39
- Delivery is intentionally asymmetric. OpenCode uses the CLI to configure the
40
- npm plugin, external skills, and thoth-mem. Codex needs both a native plugin and a mandatory
41
- CLI-managed global layer because its manifest cannot install custom agents or
42
- global root instructions. Claude needs its two native marketplace commands
43
- before the CLI installs external skills and requests provider-owned thoth-mem
44
- setup.
45
-
46
- Runtime guarantees still differ by harness. OpenCode is the default and most
47
- integrated path; Codex and Claude preserve their own trust, policy, normal
48
- plugin-cache, and permission semantics. Codex installation has one bounded
49
- legacy-cache cleanup contract described below; Claude does not.
24
+ ## Why thoth-agents
25
+
26
+ Describe what you want to build or fix. Thoth keeps the conversation together,
27
+ handles straightforward work directly, and brings in specialists when research,
28
+ design, implementation, or an independent review would help.
29
+
30
+ Small changes stay small. Larger changes get a specification, a plan, and
31
+ verification you can follow—without manually coordinating every agent.
32
+
33
+ - **A team, not seven conversations.** One adaptive Orchestrator coordinates six
34
+ specialists and brings their results back to you.
35
+ - **The right amount of process.** Choose a quick Direct path or a structured
36
+ specification-driven development (SDD) workflow for more involved work.
37
+ - **Specialists where they add value.** Repository discovery, current documentation,
38
+ UI/UX, focused edits, complex implementation, and independent review have distinct roles.
39
+ - **Models you can tune.** Configure models per role to suit your workflow and
40
+ the providers available in your harness.
41
+ - **Continuity between sessions.** Published installs include setup of
42
+ [thoth-mem](https://github.com/EremesNG/thoth-mem), the independent memory
43
+ companion for reusable decisions and project knowledge. thoth-mem owns its own
44
+ memory lifecycle, persistence, and storage; thoth-agents only invokes its setup.
45
+
46
+ > [!NOTE]
47
+ > OpenCode is the default and most integrated path. All four harnesses share the
48
+ > workflow and role design, but their permissions, delegation, and runtime
49
+ > capabilities are not identical. Your harness's trust and approval rules still apply.
50
50
 
51
51
  ## Install
52
52
 
53
- ### OpenCode
53
+ You need **Node.js `>=22.19`**, a supported harness already installed, and network
54
+ access for setup. Authenticate your model providers in that harness separately.
55
+ The commands below install at **global/user scope**.
56
+
57
+ | Harness | What you get | Install command |
58
+ | --- | --- | --- |
59
+ | <a href="https://github.com/anomalyco/opencode"><picture><source media="(prefers-color-scheme: dark)" srcset="https://svgl.app/library/opencode-dark.svg"><img src="https://svgl.app/library/opencode.svg" alt="OpenCode logo" width="48" height="48"></picture></a><br>**OpenCode** | Native plugin, agent team, workflow skills, and memory setup. **Recommended starting point.** | `npx thoth-agents@latest install --agent=opencode` |
60
+ | <a href="https://github.com/openai/codex"><img src="https://github.com/openai.png?size=120" alt="OpenAI logo — Codex" width="48" height="48"></a><br>**Codex** | Native plugin plus the required global agent and instruction setup. **Close Codex first.** | `npx thoth-agents@latest install --agent=codex` |
61
+ | <a href="https://claude.com/product/claude-code"><img src="https://github.com/anthropics.png?size=120" alt="Anthropic logo — Claude Code" width="48" height="48"></a><br>**Claude Code** | Marketplace agents and skills, completed by the CLI's external skills and memory setup. **Run the prerequisites below first.** | `npx thoth-agents@latest install --agent=claude` |
62
+ | <a href="https://github.com/earendil-works/pi"><img src="https://raw.githubusercontent.com/EremesNG/thoth-mem/master/img/pi.svg" alt="Pi logo" width="48" height="48"></a><br>**Pi** | Native package, six specialists, delegation and research extensions, workflow skills, and memory setup. | `npx thoth-agents@latest install --agent=pi` |
63
+
64
+ ### Claude Code prerequisites
54
65
 
55
- Install the plugin configuration, five thoth-owned skills, four external
56
- skills, and the thoth-mem companion globally:
66
+ Run these two commands **before** the Claude CLI install command in the table:
57
67
 
58
68
  ```bash
59
- npx thoth-agents@latest install --agent=opencode --dry-run
60
- npx thoth-agents@latest install --agent=opencode
69
+ claude plugin marketplace add https://github.com/EremesNG/thoth-plugins.git --scope user
70
+ claude plugin install thoth-agents@thoth-plugins --scope user
61
71
  ```
62
72
 
63
- Here, `@latest` selects which CLI release runs. That CLI writes the exact
64
- executing release to OpenCode configuration, for example
65
- `plugin: ["thoth-agents@0.4.8"]`; it never writes a `latest` plugin entry or
66
- falls back to one when package identity cannot be verified.
73
+ > [!TIP]
74
+ > Add `--dry-run` to any `npx thoth-agents ... install` command to preview setup
75
+ > without writing changes. After installation, restart your harness; Claude Code
76
+ > also supports `/reload-plugins`.
67
77
 
68
- Restart OpenCode and initialize the current repository:
78
+ Pi setup currently supports the default `~/.pi/agent` root. See the
79
+ [Pi installation guide](docs/installation.md#pi) for runtime requirements,
80
+ existing-package conflicts, and recovery. Pi extensions run with your user's
81
+ system permissions; agent tool allowlists are not an OS sandbox.
69
82
 
70
- ```text
71
- /thoth-init
72
- ```
83
+ For scopes, troubleshooting, or local checkout installation, see the
84
+ [installation guide](docs/installation.md). Local Pi checkout installs keep
85
+ thoth-mem setup separate.
73
86
 
74
- The installer materializes the five packaged thoth-owned workflow skills under
75
- `~/.config/opencode/skills/`; external skills are installed globally from their
76
- canonical repositories, and thoth-mem completes its own provider setup. The
77
- `/thoth-init` command only initializes or synchronizes the minimum `openspec/`
78
- governance structure. It never installs skills, agents, plugins, harness
79
- configuration, dependencies, or workflow templates. SDD phases read templates
80
- directly from the globally installed `thoth-sdd` skill; any legacy project
81
- `openspec/templates/` tree remains untouched.
87
+ ## Get started
82
88
 
83
- ### Codex
89
+ ### 1. Check your installation
84
90
 
85
- Close Codex, preview, then run the combined native-plugin and global-layer
86
- installer:
91
+ After setup completes, inspect the installed state:
87
92
 
88
93
  ```bash
89
- npx thoth-agents@latest install --agent=codex --dry-run
90
- npx thoth-agents@latest install --agent=codex
94
+ npx thoth-agents@latest status
91
95
  ```
92
96
 
93
- The CLI first uses Codex's native manager to register
94
- `https://github.com/EremesNG/thoth-plugins.git` as `thoth-plugins` and install
95
- or enable the executing version of `thoth-agents@thoth-plugins`. After that
96
- verification it removes only registered legacy IDs
97
- `thoth-agents@thoth-agents` and `thoth-agents@thoth-agents-codex`, their two
98
- marketplaces, and any still-orphaned exact thoth-agents roots that pass bounded
99
- path/provenance checks. It never deletes sibling or discovered paths. A lock or
100
- race retains the central plugin and asks you to keep Codex closed and retry;
101
- restart activates state but does not garbage-collect caches. The CLI then writes the
102
- orchestrator block to `~/.codex/AGENTS.md`, creates six custom-agent TOMLs under
103
- `~/.codex/agents/`, merges the managed feature into `~/.codex/config.toml`,
104
- installs the external skills, and invokes provider-owned thoth-mem setup.
105
- Restart Codex, then initialize each target repository's SDD governance:
97
+ If setup reports a missing dependency or a manual action, resolve it before
98
+ continuing. Package installation alone does not prove provider authentication
99
+ or a successful live model request.
106
100
 
107
- ```text
108
- $thoth-init
109
- ```
110
-
111
- The plugin contributes skills, their workflow templates, and MCP configuration.
112
- `$thoth-init` creates only missing `openspec/` governance files; SDD phases read
113
- templates from the plugin's installed `thoth-sdd` skill instead of copying them
114
- into the repository.
115
-
116
- Review `/plugins` and `/hooks` after installation. Codex trust and
117
- higher-precedence instructions remain in force.
118
-
119
- #### Local Codex development
120
-
121
- Keep a personal marketplace entry in `~/.agents/plugins/marketplace.json`
122
- pointed at `./plugins/thoth-agents` relative to the home marketplace root:
123
-
124
- ```json
125
- {
126
- "name": "personal",
127
- "plugins": [
128
- {
129
- "name": "thoth-agents",
130
- "source": {
131
- "source": "local",
132
- "path": "./plugins/thoth-agents"
133
- },
134
- "policy": {
135
- "installation": "AVAILABLE",
136
- "authentication": "ON_INSTALL"
137
- },
138
- "category": "Productivity"
139
- }
140
- ]
141
- }
142
- ```
101
+ ### 2. Initialize your project
143
102
 
144
- Then build and synchronize both required Codex layers from this checkout:
103
+ Open your repository in the harness and invoke the installed `thoth-init` skill:
145
104
 
146
- ```bash
147
- pnpm run setup:codex:local
148
- ```
105
+ | Harness | In your agent conversation |
106
+ | --- | --- |
107
+ | OpenCode | `/thoth-init` |
108
+ | Codex | `$thoth-init` |
109
+ | Claude Code | `/thoth-agents:thoth-init` |
110
+ | Pi | Ask: `Use the thoth-init skill to initialize this repository.` |
149
111
 
150
- The command replaces `~/plugins/thoth-agents` through a staged local copy,
151
- cache-busts the copied Codex and Claude manifest versions, and refreshes the
152
- managed global Codex root block, six standalone role TOMLs, model state, and
153
- feature configuration. It preserves the marketplace file and user model
154
- overrides. It does not install or remove plugins, install external skills, or
155
- invoke thoth-mem setup. Select the personal plugin in Codex and restart it after
156
- each synchronization. The command rejects a state where both
157
- `thoth-agents@thoth-plugins` and `thoth-agents@personal` are enabled.
112
+ This prepares the repository's `openspec/` governance for structured workflows.
113
+ It does not install plugins or dependencies, and it preserves existing
114
+ constitutions.
158
115
 
159
- ### Claude Code
116
+ ### 3. Give Thoth a task
160
117
 
161
- Claude requires its two native marketplace steps before the plugin can expose
162
- agents or skills:
118
+ Start with a goal, not a list of agents to manage. For example:
163
119
 
164
- ```bash
165
- claude plugin marketplace add https://github.com/EremesNG/thoth-plugins.git --scope user
166
- claude plugin install thoth-agents@thoth-plugins --scope user
120
+ ```text
121
+ Fix the broken documentation link using the Direct route.
167
122
  ```
168
123
 
169
- The shared catalog name is `thoth-plugins`. Existing bare or host-specific
170
- thoth-agents marketplace identities remain manager-owned and are not removed
171
- automatically; rerunning the current installer adds the central identity and
172
- preserves legacy entries without updating or uninstalling them.
173
-
174
- Then install the mandatory external skills and invoke provider-owned thoth-mem
175
- setup:
176
-
177
- ```bash
178
- npx thoth-agents@latest install --agent=claude --dry-run
179
- npx thoth-agents@latest install --agent=claude
124
+ ```text
125
+ Add CSV export to the reports page using Accelerated SDD.
126
+ Keep the existing filters and include tests for empty results.
180
127
  ```
181
128
 
182
- Restart Claude Code or run `/reload-plugins`, then initialize the repository:
183
-
184
129
  ```text
185
- /thoth-agents:thoth-init
130
+ Use Full SDD to plan a migration from our current authentication system.
131
+ Explore the risks before proposing changes.
186
132
  ```
187
133
 
188
- Claude discovers the packaged orchestrator, six namespaced subagents, and five
189
- thoth-owned skills from the plugin. The CLI installs the external skills into
190
- Claude's global skill root and requires thoth-mem's own setup result to be
191
- complete. Init creates only the missing project governance files; it never edits
192
- Claude's manager-owned plugin cache or copies workflow templates out of it.
193
-
194
- See [Installation](docs/installation.md), [Codex Install](docs/codex-install.md),
195
- and [Claude Code Install](docs/claude-code-install.md) for scopes, verification,
196
- and limitations.
134
+ You can name a route explicitly or let Thoth recommend one. Describe your
135
+ constraints and expected outcome; the Orchestrator decides whether to handle
136
+ work directly or bring in a specialist.
197
137
 
198
- ## Seven roles
138
+ ## Meet the team
199
139
 
200
- One adaptive root and six specialists cover repository discovery, authoritative
201
- research, independent verification, UI/UX, narrow implementation, and
202
- correctness-critical work.
140
+ ### One coordinator
203
141
 
204
- ### Adaptive root
205
-
206
- <table width="100%">
142
+ <table>
207
143
  <tr>
208
- <td width="34%" align="center" valign="top">
209
- <img src="img/agents/orchestrator.webp" width="240" alt="Human cyber-Egyptian interpretation of Thoth coordinating the team as Orchestrator">
210
- </td>
211
- <td width="66%" valign="top">
212
- <b>Orchestrator</b>
213
- <br>
214
- <i>Adaptive root and final synthesis.</i>
215
- <br><br>
216
- Keeps task ownership and synthesis, recommends a route for the user's
217
- selection, coordinates SDD artifacts, and implements bounded work directly.
218
- <br><br>
219
- <b>Mode:</b> <code>adaptive-root</code>
220
- </td>
144
+ <td width="25%" align="center"><img src="img/agents/orchestrator.webp" width="160" alt="Thoth as the Orchestrator"></td>
145
+ <td><b>Orchestrator · Keeps the work moving</b><br><br>Your main point of contact. Understands the goal, recommends a workflow, handles bounded work, and coordinates specialists without handing you the management overhead.</td>
221
146
  </tr>
222
147
  </table>
223
148
 
224
- ### Read-only specialists
149
+ ### Research and review
225
150
 
226
- <table width="100%">
227
- <tr>
228
- <td width="34%" align="center" valign="top">
229
- <img src="img/agents/explorer.webp" width="240" alt="Human cyber-Egyptian interpretation of Anubis tracing repository paths as Explorer">
230
- </td>
231
- <td width="66%" valign="top">
232
- <b>Explorer</b>
233
- <br>
234
- <i>Decision-ready local discovery.</i>
235
- <br><br>
236
- Resolves repository uncertainty and returns decision-ready local evidence.
237
- <br><br>
238
- <b>Mode:</b> <code>read-only</code>
239
- </td>
240
- </tr>
241
- </table>
151
+ | Explorer | Librarian | Oracle |
152
+ | :---: | :---: | :---: |
153
+ | <img src="img/agents/explorer.webp" width="150" alt="Anubis as the Explorer"> | <img src="img/agents/librarian.webp" width="150" alt="Seshat as the Librarian"> | <img src="img/agents/oracle.webp" width="150" alt="Ma'at as the Oracle"> |
154
+ | **Finds the relevant code.** Maps unfamiliar repository behavior before changes begin. | **Checks current sources.** Looks up authoritative documentation and external evidence. | **Challenges the result.** Independently reviews plans and verifies changes when the workflow or risk requires it. |
242
155
 
243
- <table width="100%">
244
- <tr>
245
- <td width="34%" align="center" valign="top">
246
- <img src="img/agents/librarian.webp" width="240" alt="Human cyber-Egyptian interpretation of Seshat consulting an authoritative scroll as Librarian">
247
- </td>
248
- <td width="66%" valign="top">
249
- <b>Librarian</b>
250
- <br>
251
- <i>Authoritative external research.</i>
252
- <br><br>
253
- Gathers current, unfamiliar, version-sensitive, or externally sourced
254
- evidence and labels inference; stable local facts do not trigger research.
255
- <br><br>
256
- <b>Mode:</b> <code>read-only</code>
257
- </td>
258
- </tr>
259
- </table>
156
+ ### Design and implementation
260
157
 
261
- <table width="100%">
262
- <tr>
263
- <td width="34%" align="center" valign="top">
264
- <img src="img/agents/oracle.webp" width="240" alt="Human cyber-Egyptian interpretation of Ma'at weighing independent evidence as Oracle">
265
- </td>
266
- <td width="66%" valign="top">
267
- <b>Oracle</b>
268
- <br>
269
- <i>Independent analysis and verification.</i>
270
- <br><br>
271
- Reviews explicitly or bounded-default selected plans and independently verifies material
272
- risk plus every Accelerated or Full final implementation.
273
- <br><br>
274
- <b>Mode:</b> <code>read-only</code>
275
- </td>
276
- </tr>
277
- </table>
158
+ | Designer | Quick | Deep |
159
+ | :---: | :---: | :---: |
160
+ | <img src="img/agents/designer.webp" width="150" alt="Hathor as the Designer"> | <img src="img/agents/quick.webp" width="150" alt="Horus as Quick"> | <img src="img/agents/deep.webp" width="150" alt="Sobek as Deep"> |
161
+ | **Makes interfaces work well.** Owns UI/UX, accessibility, implementation, and visual quality. | **Makes focused changes.** Handles clear, narrow, low-risk implementation tasks. | **Handles complex changes.** Works through coupled behavior, edge cases, and correctness-critical implementation. |
278
162
 
279
- ### Implementation writers
163
+ Research and review specialists are read-only. Implementation work has one
164
+ writer per area; independent areas can proceed in parallel when the harness
165
+ supports it. You do not need to summon every role for every task.
280
166
 
281
- <table width="100%">
282
- <tr>
283
- <td width="34%" align="center" valign="top">
284
- <img src="img/agents/designer.webp" width="240" alt="Human cyber-Egyptian interpretation of Hathor shaping interface geometry as Designer">
285
- </td>
286
- <td width="66%" valign="top">
287
- <b>Designer</b>
288
- <br>
289
- <i>UI/UX ownership and visual quality.</i>
290
- <br><br>
291
- Owns material UI/UX, interaction, accessibility, implementation, and visual
292
- verification.
293
- <br><br>
294
- <b>Mode:</b> <code>write-capable</code>
295
- </td>
296
- </tr>
297
- </table>
298
-
299
- <table width="100%">
300
- <tr>
301
- <td width="34%" align="center" valign="top">
302
- <img src="img/agents/quick.webp" width="240" alt="Human cyber-Egyptian interpretation of Horus placing a precise component as Quick">
303
- </td>
304
- <td width="66%" valign="top">
305
- <b>Quick</b>
306
- <br>
307
- <i>Fast bounded implementation.</i>
308
- <br><br>
309
- Makes known narrow, clear, low-risk edits within an isolated explicit
310
- surface.
311
- <br><br>
312
- <b>Mode:</b> <code>write-capable</code>
313
- </td>
314
- </tr>
315
- </table>
167
+ ## Choose your workflow
316
168
 
317
- <table width="100%">
318
- <tr>
319
- <td width="34%" align="center" valign="top">
320
- <img src="img/agents/deep.webp" width="240" alt="Human cyber-Egyptian interpretation of Sobek examining a complex mechanism as Deep">
321
- </td>
322
- <td width="66%" valign="top">
323
- <b>Deep</b>
324
- <br>
325
- <i>Correctness-critical implementation.</i>
326
- <br><br>
327
- Handles multi-file, edge-case-heavy, or correctness-critical
328
- implementation.
329
- <br><br>
330
- <b>Mode:</b> <code>write-capable</code>
331
- </td>
332
- </tr>
333
- </table>
334
-
335
- Children do not delegate. Each mutable surface has one writer. Parallel work is
336
- limited to independent surfaces. The root marks input-ready lanes ready and
337
- upstream-dependent lanes blocked, dispatches every ready conflict-free lane in a
338
- native wave before waiting, and fans in only terminal native results. Every route
339
- verifies: trivial deterministic Direct work may use focused root checks; material
340
- risk in Direct and every Accelerated or Full final verify require a fresh
341
- read-only `oracle`. The implementation writer never reviews or approves its own
342
- result.
343
-
344
- ## SDD routes
345
-
346
- ```text
347
- Direct: implement -> verify
348
- Accelerated: specify -> plan -> tasks -> implement -> verify -> archive
349
- Full: explore -> specify -> plan -> tasks -> implement -> verify -> archive
350
- ```
169
+ SDD means **specification-driven development**: agree on the intended result,
170
+ plan the work, implement it, and check it against that intent.
351
171
 
352
- | Route | Use when | Artifacts |
172
+ | Route | Best for | What to expect |
353
173
  | --- | --- | --- |
354
- | Direct | Clear, bounded, low-risk work, including multi-file documentation/mechanical edits | None; focused root checks cover trivial deterministic work, while material risk requires a fresh Oracle. |
355
- | Accelerated | Generic SDD request, partial clarity, moderate risk, multi-surface behavior, or architecture | Canonical artifacts with fast-forward specification/planning/tasks. |
356
- | Full | Material uncertainty, cross-cutting behavior/architecture, high contract risk, or high failure cost | Accelerated artifacts plus exploration and separate planning gates. |
357
-
358
- The root loads only the current phase contract from the bundled `thoth-sdd`
359
- skill. It owns specification, clarification, planning, requirements checklists,
360
- task decomposition, convergence, report persistence, and archive. `explorer`
361
- owns broad or uncertain Full discovery; `oracle` owns explicitly or
362
- bounded-default selected plan review, plus final
363
- verification gates that require independent judgment.
364
-
365
- An explicitly named route is the user's selection and wins. Otherwise root
366
- summarizes the relevant context, scope, clarity, risk, and why one of the three
367
- routes is recommended before asking. Any explicit answer wins. After at most
368
- three total answerless native results, the third selects the recommended route.
369
- A generic request to use SDD sets Accelerated as the minimum recommendation.
370
- Accelerated writes `spec.md -> plan.md -> tasks.md` in one uninterrupted root
371
- pass and does not pause for routine approval between those planning phases.
372
-
373
- Conditional phases remain deliberately narrow:
374
-
375
- - `clarify` runs only for a material ambiguity and updates canonical `spec.md`;
376
- - `checklist` audits high-risk requirement quality with `CHK###` taxonomy and a
377
- separate revalidation pass;
378
- - `plan-review` is offered after `ready` on Accelerated and Full; any explicit
379
- answer wins, while the third answerless result selects
380
- `Review plan with Oracle (Recommended)`. Same-intent rejections are repaired
381
- and revalidated before fresh Oracle rounds until approval or a material human
382
- blocker. After approval, root summarizes the plan before asking
383
- `Implement (Recommended)` or `Stop`; the third answerless result selects
384
- implementation, while an explicit answer always wins;
385
- - `converge` appends tasks only after failed artifact-backed verification; and
386
- - `architectural-grilling` runs before specification only when explicitly
387
- requested or a material human-owned decision remains unresolved.
388
-
389
- Accelerated and Full use Spec Kit-grade formats: independent prioritized `US#`
390
- stories with explicit FR/SC coverage, Given/When/Then scenarios, named normative
391
- FRs with durable/internal delta metadata, buildable/outcome SC types,
392
- Constitution checks, `T### [P?] [US#?]` task grammar, honest parallel-or-none
393
- evidence, risk-driven checklist lenses, `ready`/`closeout` validation, compliance
394
- reports, and transactional synchronization of declared durable deltas at archive.
395
- Handled failures roll back within the active process; forced process or OS
396
- termination is not crash-atomic. See
397
- [SDD Pipeline](docs/sdd-pipeline.md).
398
-
399
- The role decision is semantic and route-independent: `librarian` handles current
400
- or external facts (for example, checking the current official API), `designer`
401
- handles material user-facing UI/UX or accessibility, and `quick` handles a known
402
- narrow low-risk isolated edit. `deep` handles coupled or high-risk work, while
403
- `explorer` handles broad local uncertainty. Native harness execution and
404
- lifecycle are the sole authority for role selection, fan-out/fan-in,
405
- status/wait, steering, cancellation, and terminal results; an unavailable
406
- primitive is reported and followed by a truthful sequential fallback. No
407
- additional thoth coordination mechanism is involved.
408
-
409
- ## Skills
410
-
411
- Every harness package includes the workflow contracts owned by thoth-agents:
412
-
413
- | Skill | Purpose |
414
- | --- | --- |
415
- | `thoth-init` | Offline, idempotent initialization and synchronization of minimum `openspec/` governance only. |
416
- | `thoth-sdd` | Route rules, phase contracts, templates, and structural validator. |
417
- | `thoth-constitution` | Explicit governance SemVer lifecycle; routine plans only read principles. |
418
- | `thoth-archive` | Passing closeout, transactional durable-spec sync, audit report, and dated move. |
419
- | `plan-reviewer` | Optional read-only Oracle plan review with exact `[OKAY]`/`[REJECT]` results and freshness evidence. |
420
-
421
- The installer obtains these mandatory external skills from their single source
422
- of truth:
174
+ | **Direct** | Clear, bounded, low-risk fixes and documentation changes. | Implement → verify. No planning artifacts required. |
175
+ | **Accelerated** | Features spanning several areas, moderate risk, or a request to use SDD. | Specify → plan → tasks → implement → verify → archive. Planning runs in one pass unless a material decision needs you. |
176
+ | **Full** | Uncertain requirements, architectural changes, or high-cost failures. | Explore first, then follow the structured workflow with separate planning checkpoints. |
423
177
 
424
- | Skill | Canonical repository |
425
- | --- | --- |
426
- | `simplify` | `https://github.com/EremesNG/skills` |
427
- | `tdd` | `https://github.com/mattpocock/skills` |
428
- | `progressive-context-router` | `https://github.com/EremesNG/skills` |
429
- | `architectural-grilling` | `https://github.com/EremesNG/skills` |
178
+ For Accelerated and Full, the specification, plan, tasks, and verification
179
+ reports live under `openspec/`, so you can inspect what was agreed and what
180
+ was checked. You can choose an optional Oracle plan review before implementation;
181
+ final verification is required either way. These routes and materially risky
182
+ Direct work use an independent Oracle for final verification.
430
183
 
431
- It invokes `npx skills add <repository> --skill <name> --global --agent
432
- <harness> --yes`; missing external skills make installation unhealthy. Project
433
- QA executables such as Playwright remain project-owned.
184
+ > [!TIP]
185
+ > You stay in control of the route. Say “Use Direct,” “Use Accelerated SDD,” or
186
+ > “Use Full SDD” when you already know how much structure you want.
434
187
 
435
- The same CLI installation then invokes `npx -y thoth-mem@latest setup
436
- <opencode|codex|claude> --scope global --json`; dry-run adds `--plan`. Only a
437
- consistent provider `complete` result completes installation. Provider
438
- diagnostics, manual actions, and receipt paths remain visible for recovery.
188
+ The installed skills cover project initialization, SDD, project principles,
189
+ plan review, and archiving. External skills add test-driven development,
190
+ behavior-preserving simplification, focused repository context, and architectural
191
+ questioning when needed. See [Skills and MCPs](docs/skills-and-mcps.md) and the
192
+ [SDD workflow guide](docs/sdd-pipeline.md) for details.
439
193
 
440
- ## Harness limitations
441
-
442
- | Harness | Important limitation |
443
- | --- | --- |
444
- | OpenCode | Strongest integrated path. The CLI installs the npm plugin configuration, global thoth-owned and external skills, and provider-owned thoth-mem setup; `/thoth-init` only initializes per-repository `openspec/` governance. Only the OpenAI built-in preset ships. |
445
- | Codex | The CLI installs the native plugin and manages global `AGENTS.md`, six agent TOMLs, config, external skills, and thoth-mem setup; `$thoth-init` only initializes per-repository SDD governance. Runtime role matching and some permissions remain instruction-level. |
446
- | Claude Code | Run both native marketplace commands before the CLI installs external skills and requests thoth-mem setup. The native manager owns cache files; fine-grained path restrictions remain instruction-level. |
194
+ ## Configure and update
447
195
 
448
- Codex and Claude marketplace manifests are versioned in the separate
449
- `EremesNG/thoth-plugins` repository. Both central entries resolve to this
450
- repository's generated `plugin/` bundle at an immutable version tag. Build and
451
- npm version lifecycle commands keep that bundle synchronized; release commands
452
- publish only the new thoth-agents pin after the product tag is visible remotely.
196
+ ### Tune the team
453
197
 
454
- ## Models and provider boundaries
198
+ Use the interactive CLI to inspect setup and configure role models:
455
199
 
456
- OpenCode install and sync ship and select only the `openai` preset. Kimi,
457
- GitHub Copilot, ZAI/GLM, and mixed-provider mappings are not built in. Explicit
458
- per-role model overrides remain available. Applying model configuration creates
459
- a complete seven-role `agents` preset from the effective values and activates
460
- it with `preset: agents`; unrelated presets and configuration remain intact.
200
+ ```bash
201
+ npx thoth-agents@latest
202
+ ```
461
203
 
462
- thoth-mem is an independent plugin/provider. `thoth-agents install` orchestrates
463
- its public setup command, but thoth-mem owns the resulting hooks, MCP, skill,
464
- session lifecycle, persistence, receipts, and recovery. thoth-agents does not
465
- copy, edit, force, roll back, or emulate those mechanics.
204
+ Choose models your harness and provider account can access. OpenCode ships the
205
+ **OpenAI preset**; per-role overrides let you customize it. Other harnesses use
206
+ their own model configuration and capability rules.
466
207
 
467
- At runtime the root loads the installed `thoth-mem` skill for prior-work recall,
468
- durable decisions/root causes/conventions/discoveries, verified compaction, and
469
- meaningful semantic completion. Delegates receive bounded `none`, `recall`, or
470
- `observe` authorization separately from workspace write permission; root
471
- lifecycle never transfers. `openspec/` remains canonical, so SDD phase artifacts
472
- are not mirrored into memory.
208
+ See [Provider Configuration](docs/provider-configurations.md) and
209
+ [Codex Model Customization](docs/codex-model-customization.md).
473
210
 
474
- ## CLI operations
211
+ ### Keep the complete installation current
475
212
 
476
- The npm CLI is part of installation for every harness and remains available for
477
- status, repair, and model/configuration operations:
213
+ Preview an update, then apply it explicitly:
478
214
 
479
215
  ```bash
480
- npx thoth-agents@latest status
481
- npx thoth-agents@latest list
482
- npx thoth-agents@latest install --agent=opencode
483
- npx thoth-agents@latest install --agent=codex
484
- npx thoth-agents@latest install --agent=claude
485
216
  npx thoth-agents@latest update --harness=opencode
486
217
  npx thoth-agents@latest update --harness=opencode --apply
487
- npx thoth-agents@latest model --harness=codex --role=deep --model=gpt-5.6-sol
488
218
  ```
489
219
 
490
- `update` previews by default. Applying it performs the same complete refresh as
491
- installation for the selected harness: OpenCode refreshes its exact plugin pin,
492
- managed configuration, owned skills, external skills, and provider setup;
493
- Codex runs native plugin setup before its global agent pack, external skills,
494
- and provider setup; Claude refreshes its native plugin before external skills
495
- and provider setup. Any required failure makes the operation fail rather than
496
- claiming a complete update.
497
-
498
- After every required step succeeds, the CLI records that harness's executing
499
- version in
500
- `${XDG_CONFIG_HOME:-~/.config}/thoth-agents/install-state.json`. `status` shows
501
- the executing CLI version and this last complete CLI-managed version. The three
502
- harness records are independent: native Codex or Claude marketplace updates do
503
- not advance them and do not prove that CLI-managed agents, skills,
504
- configuration, or provider setup are current.
505
-
506
- OpenCode's runtime release check is notification-only. It does not rewrite the
507
- exact plugin pin, invalidate package state, or run a package manager. Follow the
508
- notification by rerunning the latest CLI installer or applying CLI Update.
509
-
510
- In the interactive `Configure models` flow, `Apply` is always available. When
511
- no role is dirty, it reapplies every currently displayed role value; after an
512
- edit, preview and apply remain limited to the dirty roles. In OpenCode, both
513
- `Apply` and `Apply changes` materialize the complete effective roster and
514
- activate the named `agents` preset.
515
-
516
- It does not bypass native marketplace trust. Codex and Claude own normal native
517
- manager mutations; the Codex installer additionally owns only the fixed,
518
- twice-validated thoth-agents legacy-root fallback. Claude cache state is never
519
- edited directly.
220
+ Replace `opencode` with `codex`, `claude`, or `pi` for your harness. Close Codex
221
+ before applying its update, and restart the selected harness afterward.
520
222
 
521
- ## Documentation
223
+ An applied update refreshes the complete CLI-managed setup, including required
224
+ skills and provider setup—not just the plugin. Native marketplace updates alone
225
+ do not prove those other pieces are current. Use `status` to inspect the last
226
+ complete CLI-managed installation and follow any reported recovery actions.
522
227
 
523
- - [Installation](docs/installation.md)
524
- - [Quick Reference](docs/quick-reference.md)
525
- - [SDD Pipeline](docs/sdd-pipeline.md)
526
- - [Skills and MCPs](docs/skills-and-mcps.md)
527
- - [Codex Install](docs/codex-install.md)
528
- - [Claude Code Install](docs/claude-code-install.md)
529
- - [Codex Plugin Packaging](docs/codex-plugin-packaging.md)
530
- - [Claude Code Plugin Packaging](docs/claude-code-plugin-packaging.md)
531
- - [Provider Configuration](docs/provider-configurations.md)
532
-
533
- ## Development
534
-
535
- ```bash
536
- pnpm install
537
- pnpm run check:ci
538
- pnpm run typecheck
539
- pnpm run build
540
- pnpm test
541
- ```
542
-
543
- Node.js `>=22.13` and `pnpm@11.2.2` are required. `pnpm run build` regenerates
544
- both integration packages, compiles the runtime and declarations, and refreshes
545
- the JSON schema.
228
+ ## Documentation
546
229
 
547
- ## License
230
+ ### User guides
548
231
 
549
- [MIT](LICENSE)
232
+ | Guide | Use it to… |
233
+ | --- | --- |
234
+ | [Installation](docs/installation.md) | Check prerequisites, preview setup, troubleshoot, and repair an installation. |
235
+ | [Quick Reference](docs/quick-reference.md) | Find commands, roles, skills, and workflow reminders. |
236
+ | [SDD Pipeline](docs/sdd-pipeline.md) | Understand planning, review, verification, and archiving. |
237
+ | [Skills and MCPs](docs/skills-and-mcps.md) | See the included workflows, research tools, and memory boundaries. |
238
+ | [Provider Configuration](docs/provider-configurations.md) | Configure models and providers. |
239
+ | [Codex Install](docs/codex-install.md) | Follow Codex-specific setup, activation, and trust requirements. |
240
+ | [Codex Model Customization](docs/codex-model-customization.md) | Adjust Codex specialist models. |
241
+ | [Claude Code Install](docs/claude-code-install.md) | Follow marketplace setup and activation. |
242
+ | [Pi Setup](docs/installation.md#pi) | Check Pi dependencies, permissions, and recovery steps. |
243
+ | [Tmux Integration](docs/tmux-integration.md) | Configure OpenCode's optional terminal-pane integration. |
244
+
245
+ ### Technical guides
246
+
247
+ Working on thoth-agents itself? Start here rather than in the user setup above.
248
+
249
+ | Guide | What it covers |
250
+ | --- | --- |
251
+ | [Development](docs/development.md) | Local build, verification, and harness development setup. |
252
+ | [Architecture](docs/agent/architecture.md) | Repository structure and component responsibilities. |
253
+ | [Codex Plugin Packaging](docs/codex-plugin-packaging.md) | Plugin contents, the global layer, and local synchronization. |
254
+ | [Claude Code Plugin Packaging](docs/claude-code-plugin-packaging.md) | Native discovery, packaging, and ownership boundaries. |
255
+ | [Codex Surface Validation](docs/codex-surface-validation.md) | Harness-specific validation evidence and limitations. |
256
+ | [Agent Context Index](docs/agent/index.md) | Task-specific engineering and testing guidance. |