thoth-agents 0.2.3 → 0.2.5
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/README.md +35 -30
- package/dist/{chunk-FHEYA3VV.js → chunk-C3VQMXQL.js} +6 -3
- package/dist/{chunk-37QKOSBR.js → chunk-HFZAL6NE.js} +8 -0
- package/dist/{chunk-7KLRUFZ4.js → chunk-YZNH23HZ.js} +1 -1
- package/dist/cli/index.js +3 -3
- package/dist/cli/tui/index.js +2 -2
- package/dist/harness/core/skills.d.ts +14 -0
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/src/skills/requirements-interview/SKILL.md +1 -0
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
<img src="img/team.png" alt="thoth-agents agents" width="420">
|
|
3
|
+
|
|
4
|
+
<p><i>Seven specialized agents, one delegate-first workflow across supported harnesses.</i></p>
|
|
4
5
|
<p><b>thoth-agents</b> - Multi-harness orchestration - Thoth-mem persistence - Bundled SDD pipeline</p>
|
|
5
6
|
<p>
|
|
6
7
|
<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&label=CI" alt="CI status"></a>
|
|
@@ -50,11 +51,12 @@ hooks, MCP, skills, and per-agent tool permissions.
|
|
|
50
51
|
|
|
51
52
|
## Harness Support
|
|
52
53
|
|
|
53
|
-
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
|
|
|
57
|
-
|
|
|
54
|
+
|
|
55
|
+
| Harness | Status | Setup path | Notes |
|
|
56
|
+
| ----------- | -------------------------- | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
57
|
+
| OpenCode | Stable default | `npx thoth-agents@latest install` or `npx thoth-agents@latest install --agent=opencode` | Native plugin config, native`task` delegation, optional tmux panes, OpenCode provider auth. |
|
|
58
|
+
| Codex | Supported explicit path | `npx thoth-agents@latest install --agent=codex` | Installs ambient/root guidance, six role subagents, and a Personal plugin source. Requires`/plugins` and `/hooks` trust review. Some governance remains instruction-level. |
|
|
59
|
+
| Claude Code | Supported first-class path | `npx thoth-agents@latest install --agent=claude` | Installs one Claude Code plugin: six specialist subagents (`Task(subagent_type: ...)`), an `orchestrator` agent activated as the main thread via `settings.json`, `.mcp.json`, and bundled skills. Role permissions are enforced by subagent `tools`. |
|
|
58
60
|
|
|
59
61
|
OpenCode can load the plugin with:
|
|
60
62
|
|
|
@@ -323,14 +325,15 @@ artifacts before task execution.
|
|
|
323
325
|
|
|
324
326
|
Artifacts can be persisted in four modes:
|
|
325
327
|
|
|
326
|
-
| Mode | Writes to | Cost | Use when |
|
|
327
|
-
| --- | --- | --- | --- |
|
|
328
|
-
| `thoth-mem` | Memory only | Low | Fast iteration without repo planning files |
|
|
329
|
-
| `openspec` | `openspec/` files only | Medium | Reviewable planning artifacts in the repo |
|
|
330
|
-
| `hybrid` | Both | High | Maximum durability; default |
|
|
331
|
-
| `none` | Neither | Lowest | Ephemeral iterations, no persistence |
|
|
332
328
|
|
|
333
|
-
|
|
329
|
+
| Mode | Writes to | Cost | Use when |
|
|
330
|
+
| ----------- | ---------------------- | ------ | ------------------------------------------ |
|
|
331
|
+
| `thoth-mem` | Memory only | Low | Fast iteration without repo planning files |
|
|
332
|
+
| `openspec` | `openspec/` files only | Medium | Reviewable planning artifacts in the repo |
|
|
333
|
+
| `hybrid` | Both | High | Maximum durability; default |
|
|
334
|
+
| `none` | Neither | Lowest | Ephemeral iterations, no persistence |
|
|
335
|
+
|
|
336
|
+
[Thoth-mem](https://github.com/EremesNG/thoth-mem) is the local memory MCP used for durable observations, architectural
|
|
334
337
|
decisions, SDD artifacts, and session summaries. The core retrieval pattern is:
|
|
335
338
|
|
|
336
339
|
1. `mem_recall(mode="compact")` for compact candidate records
|
|
@@ -355,12 +358,13 @@ planning/execution, verification, and archiving. It also registers MCP servers
|
|
|
355
358
|
for docs research, public code search, and local memory where the harness
|
|
356
359
|
supports that delivery surface.
|
|
357
360
|
|
|
358
|
-
|
|
359
|
-
|
|
|
360
|
-
|
|
|
361
|
-
|
|
|
362
|
-
|
|
|
363
|
-
|
|
|
361
|
+
|
|
362
|
+
| Surface | Shared concept | OpenCode binding | Codex binding | Claude Code binding |
|
|
363
|
+
| ---------------- | ---------------------------------------------- | ------------------------------------------------------------ | ---------------------------------------------------------------- | ----------------------------------------------------------------- |
|
|
364
|
+
| Skills | Requirements, SDD, review, execution workflows | Copied into the OpenCode skills directory when`--skills=yes` | Packaged as plugin-bundled skills for the Personal plugin source | Bundled in the plugin`skills/` directory |
|
|
365
|
+
| MCPs | `exa`, `context7`, `grep_app`, `thoth_mem` | Registered by generated OpenCode plugin config | Packaged/configured only on validated Codex surfaces | Bundled in the plugin`.mcp.json` (`type: "http"` for URL servers) |
|
|
366
|
+
| Delegation | Seven-role specialist workflow | Native`task` tool | Custom agents plus prompt/plugin guidance | Native`Task(subagent_type: ...)` over auto-discovered subagents |
|
|
367
|
+
| Blocking choices | Use a structured question surface | OpenCode`question` tool | `request_user_input` when enabled and available | `AskUserQuestion` tool |
|
|
364
368
|
|
|
365
369
|
See [docs/skills-and-mcps.md](docs/skills-and-mcps.md) for the detailed matrix.
|
|
366
370
|
|
|
@@ -400,16 +404,17 @@ corepack prepare pnpm@11.2.2 --activate
|
|
|
400
404
|
pnpm install
|
|
401
405
|
```
|
|
402
406
|
|
|
403
|
-
|
|
404
|
-
|
|
|
405
|
-
|
|
|
406
|
-
| `pnpm run
|
|
407
|
-
| `pnpm
|
|
408
|
-
| `pnpm
|
|
409
|
-
| `pnpm run
|
|
410
|
-
| `pnpm run
|
|
411
|
-
| `pnpm run check
|
|
412
|
-
| `pnpm run
|
|
407
|
+
|
|
408
|
+
| Command | Purpose |
|
|
409
|
+
| -------------------- | ------------------------------------------------------------- |
|
|
410
|
+
| `pnpm run build` | Build TypeScript into`dist/` and generate declarations/schema |
|
|
411
|
+
| `pnpm run typecheck` | Run TypeScript type checking without emit |
|
|
412
|
+
| `pnpm test` | Run the Vitest suite |
|
|
413
|
+
| `pnpm run lint` | Run Biome linter |
|
|
414
|
+
| `pnpm run format` | Run Biome formatter |
|
|
415
|
+
| `pnpm run check` | Run Biome check with auto-fix |
|
|
416
|
+
| `pnpm run check:ci` | Run Biome check without writes |
|
|
417
|
+
| `pnpm run dev` | Build and launch the OpenCode plugin in local dev mode |
|
|
413
418
|
|
|
414
419
|
## License
|
|
415
420
|
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
renderRolePrompt,
|
|
36
36
|
writeConfig,
|
|
37
37
|
writeLiteConfig
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-HFZAL6NE.js";
|
|
39
39
|
|
|
40
40
|
// src/cli/codex-paths.ts
|
|
41
41
|
import { homedir } from "os";
|
|
@@ -1480,8 +1480,11 @@ function renderCodexRootInstructions(config) {
|
|
|
1480
1480
|
codexInternalHandoffGuidance(),
|
|
1481
1481
|
"<codex-runtime>",
|
|
1482
1482
|
"- The ambient Codex root session is the root/main orchestrator; orchestrator-only and root-owned instructions apply to it because Codex does not generate a selectable orchestrator agent TOML.",
|
|
1483
|
-
'- On each new root session,
|
|
1484
|
-
"-
|
|
1483
|
+
'- On each new root session, first resolve the stable root session identity from Codex request metadata in this order: `nodeRepl.requestMeta["x-codex-turn-metadata"].session_id`, then `nodeRepl.requestMeta["x-codex-turn-metadata"].thread_id`, then `nodeRepl.requestMeta.threadId`. Do not use `nodeRepl.requestMeta["x-codex-turn-metadata"].turn_id` as the stable session id.',
|
|
1484
|
+
'- `nodeRepl.requestMeta["x-codex-turn-metadata"].turn_id` is per-turn metadata only, not the stable root session id.',
|
|
1485
|
+
"- If `nodeRepl.requestMeta` is not yet visible and `tool_search` is available, load/discover the `node_repl` MCP tool before concluding metadata is unavailable.",
|
|
1486
|
+
'- When thoth-mem tools are installed and stable root session identity is resolved, call mem_session(action="start") as step 0 before any other thoth-mem call, then save the real user prompt with mem_save(kind="prompt") before later delegation.',
|
|
1487
|
+
"- If metadata tooling is unavailable, or the required fields are missing, disclose that memory bootstrap could not run and continue without claiming memory was saved.",
|
|
1485
1488
|
'- Before delegating after meaningful context changes, save or refresh the handoff body with root-owned mem_session(action="summary") or mem_save(kind="session_summary") when available; if unavailable, disclose that root-owned compaction could not be persisted.',
|
|
1486
1489
|
"- Use the ambient Codex root session as the delegate-first root coordinator; do not generate or select an orchestrator TOML.",
|
|
1487
1490
|
"- Delegate by invoking `multi_agent_v1.spawn_agent` for the installed Codex role agents: explorer, librarian, oracle, designer, quick, and deep.",
|
|
@@ -1749,6 +1749,14 @@ var BUNDLED_SKILL_REGISTRY = [
|
|
|
1749
1749
|
kind: "skill",
|
|
1750
1750
|
purpose: "sdd"
|
|
1751
1751
|
},
|
|
1752
|
+
{
|
|
1753
|
+
name: "sdd-clarify",
|
|
1754
|
+
description: "Resolve residual spec ambiguity in place before design, with a bounded taxonomy-driven clarification pass.",
|
|
1755
|
+
allowedRoles: ORCHESTRATOR_ONLY,
|
|
1756
|
+
sourcePath: "src/skills/sdd-clarify",
|
|
1757
|
+
kind: "skill",
|
|
1758
|
+
purpose: "sdd"
|
|
1759
|
+
},
|
|
1752
1760
|
{
|
|
1753
1761
|
name: "sdd-design",
|
|
1754
1762
|
description: "Create technical solution design artifacts for changes",
|
package/dist/cli/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
getOpenCodeVersion,
|
|
5
5
|
isOpenCodeInstalled,
|
|
6
6
|
opencodeAdapter
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-YZNH23HZ.js";
|
|
8
8
|
import {
|
|
9
9
|
CODEX_ROLE_NAMES,
|
|
10
10
|
RECOMMENDED_SKILLS,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
getOperationHarness,
|
|
37
37
|
installRecommendedSkill,
|
|
38
38
|
listOperationHarnesses
|
|
39
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-C3VQMXQL.js";
|
|
40
40
|
import {
|
|
41
41
|
ALL_AGENT_NAMES,
|
|
42
42
|
CUSTOM_SKILLS,
|
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
getExistingLiteConfigPath,
|
|
49
49
|
installCustomSkills,
|
|
50
50
|
writeLiteConfig
|
|
51
|
-
} from "../chunk-
|
|
51
|
+
} from "../chunk-HFZAL6NE.js";
|
|
52
52
|
|
|
53
53
|
// src/cli/index.ts
|
|
54
54
|
import { pathToFileURL } from "url";
|
package/dist/cli/tui/index.js
CHANGED
|
@@ -25,13 +25,13 @@ import {
|
|
|
25
25
|
listOperationHarnesses,
|
|
26
26
|
parseRoleTomlModel,
|
|
27
27
|
parseSubagentModel
|
|
28
|
-
} from "../../chunk-
|
|
28
|
+
} from "../../chunk-C3VQMXQL.js";
|
|
29
29
|
import {
|
|
30
30
|
ALL_AGENT_NAMES,
|
|
31
31
|
DEFAULT_MODELS,
|
|
32
32
|
getExistingLiteConfigPath,
|
|
33
33
|
parseConfig
|
|
34
|
-
} from "../../chunk-
|
|
34
|
+
} from "../../chunk-HFZAL6NE.js";
|
|
35
35
|
|
|
36
36
|
// src/cli/tui/index.tsx
|
|
37
37
|
import { render } from "ink";
|
|
@@ -51,6 +51,13 @@ export declare const BUNDLED_SKILL_REGISTRY: readonly [{
|
|
|
51
51
|
readonly sourcePath: "src/skills/sdd-spec";
|
|
52
52
|
readonly kind: "skill";
|
|
53
53
|
readonly purpose: "sdd";
|
|
54
|
+
}, {
|
|
55
|
+
readonly name: "sdd-clarify";
|
|
56
|
+
readonly description: "Resolve residual spec ambiguity in place before design, with a bounded taxonomy-driven clarification pass.";
|
|
57
|
+
readonly allowedRoles: AgentRoleName[];
|
|
58
|
+
readonly sourcePath: "src/skills/sdd-clarify";
|
|
59
|
+
readonly kind: "skill";
|
|
60
|
+
readonly purpose: "sdd";
|
|
54
61
|
}, {
|
|
55
62
|
readonly name: "sdd-design";
|
|
56
63
|
readonly description: "Create technical solution design artifacts for changes";
|
|
@@ -143,6 +150,13 @@ export declare const SKILL_REGISTRY: readonly [{
|
|
|
143
150
|
readonly sourcePath: "src/skills/sdd-spec";
|
|
144
151
|
readonly kind: "skill";
|
|
145
152
|
readonly purpose: "sdd";
|
|
153
|
+
}, {
|
|
154
|
+
readonly name: "sdd-clarify";
|
|
155
|
+
readonly description: "Resolve residual spec ambiguity in place before design, with a bounded taxonomy-driven clarification pass.";
|
|
156
|
+
readonly allowedRoles: AgentRoleName[];
|
|
157
|
+
readonly sourcePath: "src/skills/sdd-clarify";
|
|
158
|
+
readonly kind: "skill";
|
|
159
|
+
readonly purpose: "sdd";
|
|
146
160
|
}, {
|
|
147
161
|
readonly name: "sdd-design";
|
|
148
162
|
readonly description: "Create technical solution design artifacts for changes";
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
renderOpenCodeAgentConfigs,
|
|
4
4
|
spawn,
|
|
5
5
|
spawnSync
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YZNH23HZ.js";
|
|
7
7
|
import {
|
|
8
8
|
DEFAULT_THOTH_COMMAND,
|
|
9
9
|
POLL_INTERVAL_BACKGROUND_MS,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
installCustomSkills,
|
|
15
15
|
loadPluginConfig,
|
|
16
16
|
stripJsonComments
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-HFZAL6NE.js";
|
|
18
18
|
|
|
19
19
|
// src/index.ts
|
|
20
20
|
import path4 from "path";
|
package/package.json
CHANGED
|
@@ -201,6 +201,7 @@ Hand off to:
|
|
|
201
201
|
- **Explore**: delegate read-only repository discovery to explorer before artifact-producing phases.
|
|
202
202
|
- **Propose**: [../sdd-propose/SKILL.md](../sdd-propose/SKILL.md)
|
|
203
203
|
- **Spec** (full SDD only): [../sdd-spec/SKILL.md](../sdd-spec/SKILL.md)
|
|
204
|
+
- **Clarify** (full SDD only): [../sdd-clarify/SKILL.md](../sdd-clarify/SKILL.md)
|
|
204
205
|
- **Design** (full SDD only): [../sdd-design/SKILL.md](../sdd-design/SKILL.md)
|
|
205
206
|
- **Tasks**: [../sdd-tasks/SKILL.md](../sdd-tasks/SKILL.md)
|
|
206
207
|
|