do-agents
Skill0 starsChanged 6 months agoApache-2.0View on GitHub
Use when planning or configuring an hcom-based AI agent team for a real task, or when loading, starting, resuming, or reusing an existing `agents/<slug>.toml` with preserved runtime, model, routing, and reporting settings.
In this repository15 other files it gives its agents.
- agent-md-improverSkill
- do-amendSkill
- do-planSkill
- do-researchSkill
- do-startSkill
- do-wiki-addSkill
- do-wiki-alignSkill
- do-wiki-amendSkill
- do-wiki-buildSkill
- do-wiki-learningsSkill
- do-wiki-lintSkill
- do-wiki-querySkill
- do-wiki-reviewSkill
- revise-agent-mdSkill
- setup-obsidian-vaultSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
37 rules. About 0 are common, 27 are distinctive, and 10 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈27
Distinctive · estimate
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 29
Use this skill when the user wants any of the following:
- Distinctive: line 40
Do not use this skill for:
- Distinctive: line 47
If the user needs hcom installation or delivery troubleshooting, prefer the dedicated hcom messaging skill when it is available.
- Distinctive: line 83
If the user asks to build or run the project, do not pretend to execute it.
- Distinctive: line 90
If the user says any of these, treat the request as config loading instead of team redesign:
- Distinctive: line 102
read the existing config first
- Distinctive: line 103
keep the saved config as the source of truth for runtime, launch mode, provider-qualified model IDs, tags, thread strategy, intent …
- Distinctive: line 105
only redesign the config if the user explicitly asks to change the team or values inside it
- Distinctive: line 106
ask only for blocking information that the saved config and user request do not supply
- Very specific: line 108
read references/loading-configs.md and references/hcom-gotchas.md before composing loader guidance
- Distinctive: line 114
Ask a follow-up question only if the missing detail would materially change topology or safety.
- Distinctive: line 116
Do not stop for preferences that have a sensible default.
- Distinctive: line 118
If a user does not specify a tool pairing or reviewer model, choose a recommended default and record it as an assumption.
- Distinctive: line 133
Always resolve these decisions before producing the artifacts:
- Distinctive: line 147
Read references only when needed:
- Distinctive: line 171
Instead, return config-loading instructions:
- Distinctive: line 179
Do not substitute any of these with:
- Distinctive: line 187
If the user asked for a plan, return the plan and the design artifacts.
- Distinctive: line 201
If assumptions were needed:
- Distinctive: line 207
Always include the relevant equivalents of:
- Distinctive: line 225
Do not invent new intent names.
- Distinctive: line 227
When you show a launch sequence:
- Distinctive: line 231
only generate a new thread when the config explicitly allows generated threads
- Distinctive: line 232
do not regenerate the thread separately per launch command
- Very specific: line 233
do not pass --thread to hcom opencode spawn commands
- Very specific: line 234
if you use tag routing, show it in the real @<tag>- form such as @plan-
- Very specific: line 236
do not use bare model family names like gpt-5.5.
- Very specific: line 237
use --intent request for initial assignments and handoffs that require action
- Very specific: line 238
use --intent inform for status updates, reports, and final outcomes
- Very specific: line 239
use --intent ack only for explicit no-reply acknowledgments
- Very specific: line 240
use --thread on messages, waits, listeners, and other workflow coordination commands
- Distinctive: line 241
use tags as the stable addresses for group routing
- Distinctive: line 242
do not hardcode generated hcom agent names as stable addresses
- Very specific: line 243
when multiple providers offer similar IDs, mention opencode models <provider> as the narrowing step
- Very specific: line 244
if you could not actually run opencode models, say the provider-qualified IDs are assumptions or likely candidates rather than confirmed …
- Distinctive: line 245
if browser automation is configured, preserve the config's browser, session, and safety rules
- Distinctive: line 292
if the requested family appears under multiple providers, surface the top exact IDs and choose one assumption
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
do-agents
Overview
Plan an hcom team or reuse a saved config, and emit concrete outputs that match real hcom and OpenCode launch behavior.
Core principle: produce a usable agent architecture package or loader path, not just advice. This skill exists to prevent five baseline failures:
- stopping at design discussion or a clarifying question when safe defaults would work
- returning launch commands or repo changes without the requested
agents/<slug>artifacts - drifting into actual project implementation instead of staying in planning/configuration scope
- emitting launch guidance with invalid OpenCode spawn flags or ambiguous bare model names
- treating a saved-config load request like a brand new team design instead of reusing the existing config and loader path
When To Use
Use this skill when the user wants any of the following:
- an hcom team design
- agent topology selection
- model or role assignment
- a reviewer or evaluator loop
- sandboxed execution planning
- launch commands for a multi-agent workflow
- generated
agents/<slug>.tomlandagents/<slug>.mdoutputs - loading, starting, running, resuming, or reusing an existing
agents/<slug>.toml
Do not use this skill for:
- installing or troubleshooting hcom itself
- open-ended research
- building the target project
- executing the planned workflow
If the user needs hcom installation or delivery troubleshooting, prefer the dedicated hcom messaging skill when it is available. If it is not available, say that installation or troubleshooting is out of scope for this skill and keep the answer in planning/configuration scope.
Input
The planning request is: $ARGUMENTS
Quick Reference
| Signal | Default |
| Small, low-risk task | single agent |
| Code change with mandatory review | worker-reviewer |
| Risky implementation or mixed roles | planner-executor-reviewer |
| 3+ distinct responsibilities | hub-spoke |
| User does not specify runtime | hcom opencode --headless |
| User does not specify models | resolve exact OpenCode IDs with opencode models; narrow with opencode models <provider> when needed |
| Same family appears under multiple providers | surface top exact IDs and choose one assumption |
| User does not specify thread strategy | one unique thread per workflow |
| Missing non-critical preference | choose recommended default and label assumption |
| User asks to load/start/reuse a saved config | read the existing agents/<slug>.toml first and keep it as the source of truth |
| User asks for executable automation | provide a script only if they explicitly request automation; otherwise give the loader invocation |
Workflow
1. Resolve scope first
Decide whether the user is asking for:
- a new single-agent plan
- a new multi-agent team plan
- generated planning artifacts
- loading or reusing an existing config
- immediate implementation
This skill only handles the planning/configuration layer and the config-loading layer.
If the user asks to build or run the project, do not pretend to execute it. Reframe the request into either:
- the hcom planning deliverable for a new design, or
- the loader path for a saved config that would be used for execution
2. Branch by request type
If the user says any of these, treat the request as config loading instead of team redesign:
loadstartrunresumereuseexisting config- a direct reference to
agents/<slug>.toml
For config-loading requests:
- read the existing config first
- keep the saved config as the source of truth for runtime, launch mode, provider-qualified model IDs, tags, thread strategy, intent strategy, and reporting model
- preserve browser automation, session, and safety rules from the config when they exist
- only redesign the config if the user explicitly asks to change the team or values inside it
- ask only for blocking information that the saved config and user request do not supply
- otherwise use safe defaults, state the assumptions, and keep the existing config intact
- read
references/loading-configs.mdandreferences/hcom-gotchas.mdbefore composing loader guidance
For new design requests, continue with the planning path below.
3. Ask only when truly blocked
Ask a follow-up question only if the missing detail would materially change topology or safety.
Do not stop for preferences that have a sensible default.
If a user does not specify a tool pairing or reviewer model, choose a recommended default and record it as an assumption.
Default assumptions:
- code change with review gate:
worker-reviewer - risky implementation:
planner-executor-reviewer - mixed-model risky work: strong OpenCode planner, headless OpenCode executor, separate reviewer
- runtime:
hcom opencode --headless - exact model IDs: resolve with
opencode models, narrow withopencode models <provider>when needed, and record provider-qualified IDs; if live discovery is unavailable, label chosen IDs as assumptions - duplicate provider families: surface top candidates and choose one explicit assumption
- group routing: stable tags
- workflow isolation: one unique thread per workflow
4. Gather the architecture decisions for new designs
Always resolve these decisions before producing the artifacts:
- task complexity
- topology
- runtime and launch mode
- model strategy
- exact model resolution
- role assignments
- reviewer/evaluator requirement
- sandbox requirement
- communication and routing strategy
- bundle depth and handoff points
- launch sequence
Read references only when needed:
references/topologies.mdfor topology tradeoffsreferences/model-selection.mdfor cost/capability tradeoffsreferences/roles-and-reviewers.mdfor role boundaries and quality gatesreferences/loading-configs.mdfor saved-config loader behaviorreferences/hcom-primitives.mdfor messaging, bundles, transcript, and launch primitivesreferences/hcom-gotchas.mdbefore finalizing any launch guidancereferences/output-contract.mdimmediately before generating outputs
5. Produce the right output for the request type
For new design or redesign requests, you must generate both outputs:
agents/<slug>.tomlagents/<slug>.md
Use these templates:
assets/agents-template.tomlreferences/agents-template.md
For config-loading requests, do not replace the saved config with freshly generated artifacts unless the user explicitly asked to redesign or update them.
Instead, return config-loading instructions:
- the exact command to load the saved config, or the generic loader invocation when the user did not name a slug
- the preserved values that the loader must keep from the config
- any assumptions or blocking gaps that still matter
Optional script generation is allowed only when the user explicitly asks for executable automation.
Do not substitute any of these with:
- a prose-only answer
- launch commands alone for new design requests
- a
.hcom/directory design - a shell script unless the user explicitly asked for automation
- repo documentation
If the user asked for a plan, return the plan and the design artifacts.
Derive <slug> from the task as short kebab-case, for example:
review-looprisky-implementationmigration-squad
6. Output rules
In design mode, the TOML must be machine-readable and the markdown must explain the rationale.
In loading mode, the response must explain how to load the saved config without redesigning it.
If assumptions were needed:
- include them under
## Assumptionsin the markdown artifact - reflect them in the TOML values instead of leaving blanks
- for config loading, state them next to the loader instructions and keep the saved config as the source of truth
Always include the relevant equivalents of:
- runtime choice and launch mode
- provider-qualified model IDs
- thread strategy
- intent strategy
- launch commands or loader invocation
- reviewer/evaluator guidance when quality matters
- sandbox notes when risky execution is proposed
- concrete routing examples when tags are part of the design
- reporting path when the config routes reports back to the spawning agent
Intent values are limited to:
requestinformack
Do not invent new intent names.
When you show a launch sequence:
- initialize the workflow thread once, or reuse the configured thread when the saved config already defines it
- reuse the same thread value across the workflow
- only generate a new thread when the config explicitly allows generated threads
- do not regenerate the thread separately per launch command
- do not pass
--threadtohcom opencodespawn commands - if you use tag routing, show it in the real
@<tag>-form such as@plan- - for OpenCode launch examples, prefer
HCOM_OPENCODE_ARGS="--model <provider/model>"and--headlessunless the user asked for another runtime or a visible terminal - do not use bare model family names like
gpt-5.5; record full provider-qualified IDs such asopenai/gpt-5.5 - use
--intent requestfor initial assignments and handoffs that require action - use
--intent informfor status updates, reports, and final outcomes - use
--intent ackonly for explicit no-reply acknowledgments - use
--threadon messages, waits, listeners, and other workflow coordination commands - use tags as the stable addresses for group routing
- do not hardcode generated hcom agent names as stable addresses
- when multiple providers offer similar IDs, mention
opencode models <provider>as the narrowing step - if you could not actually run
opencode models, say the provider-qualified IDs are assumptions or likely candidates rather than confirmed local availability - if browser automation is configured, preserve the config's browser, session, and safety rules
7. Final response format
For a new design or redesign request, return the answer in this order:
- short summary of the chosen topology and why it fits
- short assumptions list if defaults were chosen
- a literal heading line containing
agents/<slug>.toml, followed by a fencedtomlblock - a literal heading line containing
agents/<slug>.md, followed by a fencedmdblock - short risks or follow-up notes
For a config-loading request, return the answer in this order:
- short summary of which saved config is being loaded and why redesign is unnecessary
- short preserved-values list covering runtime, model IDs, tags, thread strategy, intent strategy, and reporting model, plus browser/session/safety rules when present
- a short
Config loading instructionssection with the exact command or generic loader invocation, such ashcom run agent-config <slug> "<task>" - concise loader notes covering thread handling, routing, intents, and report flow
- short assumptions or blocking gaps
- an optional script only if the user explicitly asked for executable automation
Common Mistakes
| Failure pattern | Counter-rule |
| "I need the exact tool pairing before I can generate artifacts" | Choose the recommended pairing and label it as an assumption unless safety truly depends on the choice. |
| "I will give launch guidance but not the artifacts yet" | In design mode, always emit both agents/<slug> artifacts in the same answer. |
| Treating "load this config" as a new team design | Read the existing config and provide or run the loader path instead. |
"I should set up .hcom/ scripts and docs instead" | This skill produces planning/configuration artifacts, not repo changes. |
| "The user asked to build the project, so I should start inspecting it" | Stay in planning scope and provide the hcom team/config that would enable execution. |
| "Threading is obvious, I can omit it" | Always include explicit thread and intent strategy. |
"I can invent my own intent label like review" | Only use the actual hcom intent values: request, inform, or ack. |
"I can put --thread on every hcom command, including agent spawn" | Use --thread on workflow messaging and wait commands, not on hcom opencode spawn lines. |
| "I can create a fresh thread inside every launch command" | Create the workflow thread once, then reuse it across launches, sends, waits, and cleanup. |
"The tag syntax is obvious, I can write @tag-plan or another made-up form" | Use the real hcom group-routing syntax: @<tag>-, such as @plan- or @review-. |
| "I can use generated hcom names as stable addresses in the loader" | Use tags as stable addresses and only resolve generated names ephemerally when absolutely necessary. |
"I can write just gpt-5.5 or glm-5.1 and the runtime will know what I mean" | Resolve and record the exact provider-qualified OpenCode model ID. |
| "If multiple providers expose the same family, I should silently pick one" | Surface the top exact IDs, then choose one explicit assumption in the artifacts. |
| "I can present provider-qualified IDs as confirmed even when I did not run discovery" | If opencode models was not actually run, label the IDs as assumptions or likely candidates. |
Example Default
For a risky implementation request with no model preferences:
- planner: strong OpenCode reasoning model resolved from
opencode models - executor: headless OpenCode worker by default
- reviewer: separate strong reviewer
- if the requested family appears under multiple providers, surface the top exact IDs and choose one assumption
That should normally become a planner-executor-reviewer plan with a unique workflow thread, headless OpenCode launch commands, tag-based routing, and reviewer signoff before completion.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

