| name | tdmcp-submission |
| description | Orchestrates the tdmcp Anthropic Connectors Directory (Desktop Extension / MCPB) submission prep โ designs the package, writes the privacy page, migrates .dxtโ.mcpb, drafts all form answers, and QAs the result. Use for ANY work on the tdmcp directory/marketplace submission, including re-runs after a rejection ("update the submission", "redo the form answers", "re-migrate the bundle", "fix the privacy page", "the directory rejected us"). Drives a 4-agent pipeline (architect โ docs-author โฅ bundle-engineer โ QA). |
tdmcp submission orchestrator
Coordinates four agents to prepare (and re-prepare) tdmcp's submission to the
Anthropic Connectors Directory via the Desktop Extension (MCPB) path. Defines
who works when; each agent's skill defines how.
Execution mode โ sub-agents (this environment has no TeamCreate)
TeamCreate/SendMessage are not available here, so run agents as
sub-agents with the Agent tool. For every agent:
subagent_type: "general-purpose", model: "opus".
- Prompt MUST tell it to read its definition file in
.codex/agents/*.toml
and its required skill(s) first, then do the task. Use this exact mapping:
architect โ .codex/agents/submission-architect.toml,
docs-author โ .codex/agents/docs-author.toml,
bundle-engineer โ .codex/agents/bundle-engineer.toml, and
submission-qa โ .codex/agents/submission-qa.toml. The definition file is
the source of truth (reusable next session); the prompt just points at it +
passes the task and the relevant _workspace/ paths.
- Parallelize independent agents by sending multiple
Agent calls in one message
(or run_in_background: true).
Data passing โ file-based via _workspace/
Create _workspace/ at the repo root for inter-agent artifacts:
00_submission-spec.md โ architect โ everyone
01_migration-notes.md โ bundle-engineer โ QA/human
02_form-answers.md โ docs-author โ QA/human (paste-ready form draft)
03_qa-report.md โ QA โ human
Final deliverables (privacy page, edited repo files, tdmcp.mcpb) land in the
repo proper. _workspace/ is preserved for audit / re-runs.
Phase 0: context check (initial vs re-run)
- If
_workspace/ is absent โ initial run: full pipeline below.
- If
_workspace/ exists and the user asks to fix/update one part โ partial
re-run: re-invoke only the affected agent(s), pass the prior artifacts +
the new feedback (e.g. a directory rejection reason). E.g. "privacy page
rejected" โ docs-author only, then QA.
- If
_workspace/ exists and the user gives fresh inputs โ move it to
_workspace_prev/ and start a new initial run.
Pipeline (initial run)
- architect (solo, first). Produces
00_submission-spec.md. Everything
downstream depends on it โ do not parallelize anything before it finishes.
- docs-author โฅ bundle-engineer (parallel โ disjoint file sets):
- docs-author owns: privacy page(s),
config.ts nav additions,
02_form-answers.md. (Prose lane.)
- bundle-engineer owns:
dxt/manifest.json, scripts/build-dxt.mjs,
package.json scripts, scripts/setup.mjs, .dxtโ.mcpb text sweep in
existing docs, .github/ release workflow, 01_migration-notes.md. (Code
lane.)
- They never edit the same file โ that's why they can run together safely.
- submission-qa (solo, last). Runs builds + checks, writes
03_qa-report.md. If it reports blocking issues, loop back to the owning
agent (partial re-run), then re-run QA on the affected checks.
Error handling
- An agent failing once โ retry once with the failure context. Still failing โ
proceed and record the gap in the final summary; never silently drop it.
- Never bypass a failing gate (
--no-verify, deleting a check). A red QA gate is
the signal to fix, not to suppress.
- Conflicting facts (e.g. spec says manifest_version X, packer wants Y) โ trust
the live tool/repo, and have the architect update the spec rather than forcing
the stale value.
After the run
Summarize to the user (in Portuguese): what changed in the repo, the contents of
02_form-answers.md and the QA verdict, and the explicit Needs human before
submit list (support email, privacy contact, cutting a new release so the
.mcpb asset exists, and the actual form click โ which only the user can do).
Then offer to address any QA nits or feedback.
Test scenarios
- Happy path: no
_workspace/ โ architect spec โ privacy page + form draft +
.mcpb migration โ npm run docs:build and build:mcpb pass โ QA all-PASS
except human-input items โ summary lists those items.
- Rejection re-run: user says "directory rejected: privacy policy incomplete"
โ Phase 0 detects existing
_workspace/ โ re-invoke docs-author with that
feedback โ QA re-checks the privacy gate only โ updated summary.