From dm-team
Decision framework for when to use Agent Teams vs Task() subagents vs single-session work. Use when facing delegation decisions to choose the right coordination mechanism.
npx claudepluginhub rbergman/dark-matter-marketplace --plugin dm-teamThis skill uses the workspace's default tool permissions.
Choose the right coordination mechanism for every task. Not everything needs a team, and not everything should stay in a single session.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Choose the right coordination mechanism for every task. Not everything needs a team, and not everything should stay in a single session.
| Tier | Mechanism | When | Token cost |
|---|---|---|---|
| Single session | Direct work | Simple tasks, <30 lines, <3 files | Lowest |
| Subagents (Task()) | Fire-and-forget | Focused result-only tasks, research, lint/test, no inter-agent coordination needed | Low-Medium |
| Agent Teams | Persistent teammates | Complex multi-perspective work, adversarial refinement, cross-layer coordination, debate | High |
Use Task() subagents when:
Subagents are fire-and-forget. The orchestrator dispatches, waits for the result, and moves on. There is no inter-agent communication.
Use Agent Teams when:
Teams are persistent. Teammates see each other's messages, react, challenge, and build on each other's work.
Work through these in order:
If you answer "subagents" to most but "teams" to even one, consider whether the team-worthy aspect can be isolated. Sometimes you run subagents for the bulk and a small team for the contentious part.
Start with subagents. Escalate to teams only when needed.
Task() subagentsThe cheapest correct answer wins. Don't reach for teams out of habit — reach for them when the problem demands collaboration.