codex/skills/mesh/SKILL.md
Use `$mesh` only for homogeneous leaf-batch execution over `spawn_agents_on_csv`: once planning has shaped repeated independent units, prefer one substantive row per unit with structured results and explicit concurrency.
npx skillsauth add tkersey/dotfiles meshInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
$mesh is the high-fanout batch-execution path for Codex once repeated leaf work has been shaped.
It is for already-shaped leaf work, not for planning or decomposition.
Use it when:
$mesh, or repeated leaf work is already clearly row-shapedDo not use it when:
$teams or local execution is clearer$mesh maps to spawn_agents_on_csv, not a separate runtime protocol.report_agent_job_result exactly once.output_csv_path or a default output CSV.$mesh executes the already-shaped rows.$select or $teams has already shaped the waveIf the work is heterogeneous, use $teams or local execution instead.
Use $mesh only when every row is already a leaf task:
If you still need to decide the row schema, challenge the approach, or compare strategies, do that work before $mesh, usually with $teams or locally.
reducer, mentor, locksmith, applier) are never valid fresh rows.$st is the default handoff for non-trivial OrchPlan execution: import and claim the selected wave before building the CSV.$st handoff. If a helper still exists, it must auto-route into the same durable path internally.id_column; keep one row per substantive unit.
task_id as the stable row id when the batch came from an OrchPlan or $st claim set.{column} placeholders and one primary deliverable per row.output_schema, output_csv_path, max_concurrency, max_runtime_seconds; set max_concurrency to the safe row count unless a lower cap is required.spawn_agents_on_csv.$teams.
$st owns execution state, reconcile the export with st import-mesh-results --input <output.csv> before closing the wave.Goal:
Check every markdown file for required frontmatter keys and export one result row per file.
Example CSV:
id,path
1,docs/intro.md
2,docs/setup.md
Example instruction template:
Inspect {path}. Report whether the required frontmatter keys exist and list any missing keys.
Why $mesh:
Goal:
Classify 2,000 support tickets by product area and urgency, then export the labels to CSV.
Example CSV:
ticket_id,text
T-1001,"Billing page shows a 500 error"
T-1002,"How do I rotate an API key?"
Example output schema:
{
"type": "object",
"properties": {
"area": { "type": "string" },
"urgency": { "type": "string" },
"needs_human": { "type": "boolean" }
},
"required": ["area", "urgency", "needs_human"]
}
Why $mesh:
Goal:
Rewrite a large set of generated summaries, one output file per input file, with no shared destinations.
Good $mesh setup:
id,input_path,output_path{input_path} and writes only {output_path}Why $mesh:
Goal:
Execute the first safe implementation wave from an OrchPlan where each task already owns a disjoint scope.
Good $mesh setup:
id,objective,write_scope,proof_commandmax_concurrency set to the number of safe disjoint unitsWhy $mesh:
Do not use $mesh for:
Add a feature that changes shared parser logic, server behavior, and the UI.
Why not:
$teams or local execution the safer pathwrite_scope aligned with the canonical lock-root contract in codex/skills/select/references/lock-roots.md.coder by setting approach=reduce; do not resurrect reducer as a new row type.$mesh.report_agent_job_result.output_schema, keep it minimal and aligned with the fields you actually need.See references/output-contract.md.
$mesh as a general replacement for $teamscsv_path and output_csv_pathSee references/orchestration-anti-patterns.md.
When mesh actually ran, include a short Orchestration Ledger in prose.
Good fields:
Skills usedSubagentsArtifacts producedCleanup statusOmit the section entirely when no orchestration ran.
$teamsIf $teams hands work to $mesh, the handoff should include:
Do not add extra lane, quorum, or state-machine protocols unless the runtime actually provides them.
tools
Convert markdown plans into beads with dependencies using br CLI. Use when creating task graphs, polishing beads before implementation, or bridging planning to agent swarm execution.
development
Orchestrate Codex skill optimization during active sessions through $cas goal control, $shadow single-session evidence, $tune diagnosis/refinement briefs, and the skill-optimizer custom subagent. Trigger for $opt, skill optimization loops, session-driven skill tuning, meta-skill audits, or explicit validated skill edits. Do not use for general code optimization, product optimization, or performance tuning.
development
Run a targeted fresh-eyes blunder pass over code, specs, plans, adjudications, closure gates, skill edits, or negative-evidence ledgers. Trigger when asked to reread with fresh eyes, find obvious bugs, catch mistakes/oversights/omissions, check for embarrassing misses, or perform a second independent blunder pass before closure. Do not use as a substitute for implementation, adjudication, or verification; use it as the final falsification/check pass for those workflows.
development
Explicitly shadow, tail, watch, follow, monitor, supervise, or companion exactly one Codex session id/path through `$seq`, then apply a named target skill as an interpretation/reporting/proposal/action lens until the watched session stops.