Receber por email
← Voltar para o catálogo

automation-shape-routing

Ponto de entrada para automação de agentes, que decide a FORMA (Fluxo de Trabalho vs NTM vs skill) e então delega. Gatilhos incluem construir automação, converter skills em fluxos de trabalho e qual forma.

393estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: NOASSERTION

Como adicionar

/plugin marketplace add boshu2/agentops

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/automation-shape-routing-boshu2/svg)](https://www.skillteca.com.br/skills/automation-shape-routing-boshu2)

Skills relacionadas

Ver todas de Automação →

Alerta por categoria

Receba novas skills de Automação toda segunda

1 email curto, só com as skills novas de Automação. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Automation Shape Routing — Workflow vs NTM vs Skill

The trap this kills: "I built a lot of skills; they should become
workflows." Mostly false. Most orchestration-looking skills are either
long-lived/human-attachable (stay NTM) or hard-sequential (stay skills). The
win is the routing rule, not a migration project.

The three shapes

| Shape | What it is | Mechanism | |---|---|---| | Workflow | Deterministic, reproducible orchestration of subagents | Claude Workflow tool — agent({schema}), parallel(), pipeline(), phase(), loop-until-budget. In-process, headless, ~16 concurrent. | | NTM swarm | Long-lived, human-in-the-loop multi-agent run | ntm / *-with-ntm — persistent tmux panes, robot API, mail/locks, attach + nudge + kill/relaunch. | | Plain skill | One model reasoning through a procedure or knowledge | A single SKILL.md. No fan-out, or a strictly sequential edit-loop. |

The decision rule (three axes)

Ask in order:

  1. Is there real orchestration at all? (fan-out / barrier / multi-stage, OR a

loop with parallelism to exploit) — if no → plain skill. Stop.

  1. Must a human attach and steer mid-run? Or does it run for hours, do

open-ended file edits, juggle a fluid population (rate limits, kill/ relaunch, prompt-cache rounds), or relay between cross-model panes? — if yes → NTM swarm.

  1. Otherwise — fixed DAG, agents return structured JSON (not free-form edits

needing review), no attach needed, you want it reproducible + headless → Workflow.

One-line litmus:

deterministic DAG + structured JSON + no human-attach + headless-wanted → Workflow
long-lived + attachable + open-ended file edits / fluid population → NTM
no fan-out, or hard-sequential edit loop → plain skill

Spike-validated nuances (2026-05-29)

A live three-legged spike (~/dev/agentops-3cat-spike/) measured the same task on all three backends. Two findings refine the rule:

  1. The primary axis is control-plane vs in-session, not "parallel vs serial."

NTM is a control-plane that runs Claude/Codex/Gemini as panes — it is not a peer of the native runtimes, it is the supervisor tier above them. Choose NTM when you need the control plane (attach/steer, persistence, multi-vendor); choose in-session native (Workflow/Task) when you don't.

  1. Parallel buys quality/independence, NOT wall-clock — at small N. Measured: a

3-way Workflow fan-out tied a single sequential agent on wall-clock (191s vs 180s) and cost ~2.7× the tokens — because the synthesis barrier eats the parallel gain. What it bought was depth + independent fresh-eyes (the sequential leg self-reported "monoculture" bias). So: reach for parallel Workflow when you want independent verification / fresh eyes, not for speed. For speed, you need large N and no barrier — use pipeline() (no barrier), not parallel().

Degradation (NTM → Claude-native → beads floor) is governed by the OrchestrationPort selector; opt out entirely with AGENTOPS_ORCHESTRATION=off → beads floor, which always works.

Two traps to avoid

  • Don't workflow-ify a sequential edit-loop. If each pass must see the prior

pass's edits (progressive-deepening reapply, audit-fix-rescan), there's no concurrency to win — a Workflow wrapper adds a process boundary for nothing. Exception: it graduates to a loop-until-budget Workflow only once each step returns structured output instead of free-form edits, and you want it headless/reproducible.

  • **Don't NTM-ify a clean fan-out, and don't Workflow-ify an attach-and-steer

run.** The Workflow tool is in-process and cannot be tmux-attached; NTM is built for exactly the live-steering Workflow can't do. Picking wrong fights the tool the whole way.

Worked examples

→ Workflow (deterministic fan-out / synthesize, structured returns): council (N judges → consensus — near-trivial port), the planning half of rpi, judge/refutation panels, any "fan out N analyses → triangulate" task.

→ Stay NTM (long-lived, attachable, open-ended edits, fluid population): the *-with-ntm family (hypothesis research, cross-model review swarms, browser testing), plus swarm/crank in full epic-execution mode — they touch the working tree and need wave-validity gating + human review.

→ Stay plain skill (no exploitable parallelism, or knowledge/one-shot): deliberately one-at-a-time loops (progressive reapply, multi-pass bug hunting); all reference docs; all single-shot transforms (jargon scrub, README authoring).

Canonical Workflow template

.claude/workflows/operating-loop.js is the worked example — a real Workflow-tool script using agent(prompt,{schema}) with JSON schemas, parallel([thunks]) barriers (framing-lenses / judges / refutation / slices), phase() markers, budget-scaled FANOUT, and bounded re-plan/retry. Start from it when porting a Workflow. It is also the proof that the AgentOps operating loop has two conformant runtimes (skill-driven via rpi/crank/swarm/council, and Workflow-driven via this script) — the basis of the agentops-core-sdk portability thesis. See operating-loop-workflow for the install+run path.

Handoff — after the verdict, invoke the next skill

This skill is the front door. It does not build; it routes. Once the shape is decided, hand off:

| Verdict | Next | What it does | |---|---|---| | plain skill | skill-builder | Scaffold a new SKILL.md against the unified template → then skill-auditor → heal-skill. | | Workflow | workflow-builder | Scaffold a new .claude/workflows/*.js from the operating-loop.js template. | | NTM swarm | ntm + vibing-with-ntm | Stand up + tend a persistent, human-attachable tmux swarm. |

State the verdict and the deciding axis in one line, then invoke the chosen builder. Do not scaffold here.

Contract note (SDK)

A Workflow is a composite capability (an orchestration of sub-capabilities with typed control flow); a skill is a leaf. The portable contract for this — a shape: skill|workflow discriminator, a StepGraph, a control_flow enum, a budget, and an OrchestrationPort interface — is net-new SDK work. Port the shape, not the engine: keep concrete orchestrators (Codex subagents, swarm dispatch, scheduler — BC4/BC5) behind adapters.

Compartilhar X LinkedIn