Skip to content

Conversation

@tommy-ca
Copy link

@tommy-ca tommy-ca commented Dec 2, 2025

Summary

  • add Droid agent manifest/registry with .factory commands/droids and DROID.md
  • include spec-quick sub-droid and manifest tests plus doc path alignment
  • add spec-quick install test to ensure command/sub-droid wiring

Testing

  • pnpm test -- --runInBand realManifestDroid

- `tools/cc-sdd/templates/agents/droid/droids/spec-quick.md:1-4` is structured like a slash command (only `description`, `allowed-tools`, `argument-hint`) instead of a sub-droid manifest (`name`, `tools`, `model`, `color`). Every other droid (for example `spec-design` in the same folder) declares a `name` and capability list so the Task runtime knows which subagent to invoke. Without that metadata the Factory Droid runtime cannot register the “spec-quick” helper, so any attempt to run it headlessly (`droid exec spec-quick` or a future `Task(subagent_type="...")`) will never resolve the file.
- Even if you add the missing front‑matter, the body of `spec-quick.md` (lines 18‑32) still assumes slash-command semantics: it parses `$ARGUMENTS`, manipulates TodoWrite, prompts the user interactively, and shells out to `/kiro:spec-*` via `SlashCommand`. Sub-droids invoked through `Task(...)` get a structured prompt (see `spec-design.md:1-37`) and do not have `$ARGUMENTS`, TodoWrite, or the SlashCommand tool in their sandbox. As written, the “sub-droid” can’t be executed by the Task runner—it needs to be rewritten to accept Task input (feature name, mode flags, file patterns) and perform the orchestration itself, or the file should be removed to avoid shipping a broken automation.
- Documentation still tells users that Factory AI Droid is “planned”, so nobody installing from README will know this agent now ships. The English README (`tools/cc-sdd/README.md:120-133`) and both localized READMEs (`README_ja.md:120-133`, `README_zh-TW.md:121-129`) all mark Droid as “📅 Planned/予定/規劃中` instead of “✅ Full” and don’t mention the new manifest. That’s inconsistent with the code/tests you just added and will confuse people comparing release notes to actual behavior.

**Open Questions**
- Was the intent to expose a Task-addressable `spec-quick` sub-droid, or should this command only exist in `.factory/commands`? Clarifying that will determine whether the broken file should be fixed or discarded.

**Verification**
- `npm test` (tools/cc-sdd)
- Removed the unused Factory Droid sub-agent file (`tools/cc-sdd/templates/agents/droid/droids/spec-quick.md`) so only Task-ready droids remain in the library.
- Updated the manifest regression test to reflect the new footprint; it now just asserts the `/spec-quick` command is emitted (`tools/cc-sdd/test/realManifestDroidSpecQuick.test.ts:41-58`).

**Command/Sub-agent Mapping Snapshot**
- Commands (directories: `.../droid/commands` vs `.../claude-code/commands`): all eleven core `/kiro:*` commands align one-to-one (spec-init, requirements, design, tasks, impl, status, steering, steering-custom, validate-gap/design/impl). Droid additionally ships `spec-quick.md`, which does not exist for Claude Code; keeping this documented helps set expectations while you work on cross-agent parity.
- Sub-agents (directories: `.../droid/droids` vs `.../claude-code-agent/agents`): after deleting the spec-quick helper, every remaining file has an exact Claude counterpart (spec-requirements/design/tasks/impl, steering/steering-custom, validate-gap/design/impl). That gives you a clean mapping table for future docs or automation scripts.

| Domain | Droid Artifact | Claude Counterpart | Notes |
|--------|----------------|--------------------|-------|
| Commands | `.factory/commands/spec-init.md` (etc.) | `.claude/commands/spec-init.md` (etc.) | Parity across 11 commands; only Droid has `spec-quick.md`. |
| Sub-agents | `.factory/droids/spec-design.md`, ... | `.claude/agents/kiro/spec-design.md`, ... | Now 1:1 after dropping spec-quick helper. |
| Manifest | `templates/manifests/droid.json` | (none; Claude uses `claude-code.json`) | Manifest already copies commands + droids + settings; keep crosswalk doc handy for users switching agents. |

**Outstanding Findings**
- Documentation still tells users that Factory Droid support is “planned” (`tools/cc-sdd/README.md:120-133`, `tools/cc-sdd/README_ja.md:120-133`, `tools/cc-sdd/README_zh-TW.md:121-129`). Please update these tables (and any related text) so the repo advertises the new agent correctly.
- The `/spec-quick` slash command remains Droid-only. If you intend Claude Code (or others) to keep using its own spec-quick workflow, note that explicitly in docs; otherwise plan the remaining parity work (e.g., either adding spec-quick to other agents or documenting why it’s Droid-exclusive).

**Tests**
- `npm test -- realManifestDroidSpecQuick.test.ts`

**Next Steps**
1. Update the READMEs (EN/JA/ZH-TW) and any marketing copy so Factory Droid shows as fully supported and links to `DROID.md`.
2. Decide whether `/spec-quick` should stay Droid-exclusive; if so, add a short note to `DROID.md` and the README tables, otherwise plan the Claude Code command parity.
3. Produce the final mapping artifact (table or doc) for internal reference so future contributors know every Droid file’s Claude counterpart.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant