Skip to content
Back to skills

Automation Shape Routing

ASecurity

Front door for agent automation: choose inline, bounded fanout, reusable skill/workflow/gate, persistent agent-native workers, or explicit Gas City. Triggers: "build automation", "which orchestration shape", "should this use NTM".

  • 446 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentsgobashapi

Works with

  • api

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add boshu2/agentops --skill automation-shape-routing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Automation Shape Routing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Automation Shape Routing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/boshu2-automation-shape-routing/badge)](https://www.skillsdirectory.com/skills/boshu2-automation-shape-routing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: automation-shape-routing
description: 'Front door for agent automation: choose inline, bounded fanout, reusable skill/workflow/gate, persistent agent-native workers, or explicit Gas City. Triggers: "build automation", "which orchestration shape", "should this use NTM".'
practices:
- hexagonal-architecture
- team-topologies
- pragmatic-programmer
hexagonal_role: supporting
consumes:
- task-intent
produces:
- automation-shape-verdict
context_rel:
- kind: supplier-to
  with: skill-builder
- kind: supplier-to
  with: workflow-builder
- kind: supplier-to
  with: agent-native
- kind: supplier-to
  with: using-gc
- kind: supplier-to
  with: operationalize
skill_api_version: 1
context:
  window: inherit
  intent:
    mode: task
metadata:
  capabilities: [automation_shape_routing]
  effects: []
  canonical_status: canonical
  disposition: keep_optional_adapter
  tier: meta
  dependencies: []
output_contract: a one-line routing verdict naming the shape and deciding axis
---

# Automation Shape Routing

Choose the smallest execution shape that preserves the required evidence and
control. This skill routes; it does not build or start a substrate.

Ordered routing works because each rung is strictly cheaper to operate than the
next: if the smallest shape truly preserves the evidence and control the task
needs, every larger shape can only add coordination cost, never correctness.

Named failure mode — **substrate romance**: routing to persistent workers
because the topology is interesting, not because any deciding axis demands it.

Anti-pattern: starting the chosen substrate as part of routing "to save a
step". Corrective: return the one-line verdict and let the owner start under
its own authority.

## Critical Constraints

- **Route only; do not start a substrate. Why:** choosing an execution shape is
  a judgment step, while launching NTM, Agent Mail, or Gas City changes runtime
  state and requires separate operator authority.
- **Prefer the smallest shape that preserves evidence. Why:** persistence and
  coordination add recovery and ownership costs that one-shot work cannot repay.
- **Partition write scopes before choosing concurrency. Why:** a larger worker
  topology cannot make overlapping production writes safe.

## Route in order

1. **One deliverable?** Do it inline. Use a small in-session fresh-context
   fanout only when independent perspectives are the product. Do not create a
   reusable artifact for a one-off task.
2. **Reusable sequential procedure?** Use `skill-builder`.
3. **Must-never-regress constraint?** Route through `operationalize` to a gate.
4. **Fixed typed DAG, headless, no attach/steer?** Use `workflow-builder` only
   where that runtime is explicitly selected and available.
5. **Persistent, attachable roles over caller-supplied packets?** Use
   `agent-native`. NTM is the pane adapter; Agent Mail coordinates only
   explicitly selected live actors.
6. **Durable city of quests with GC-native supervision/store?** Route to
   `using-gc` only when the operator explicitly selects Gas City. GC is not an
   automatic fallback or an `ao` runtime enum.

## Deciding axes

| Axis | Lightweight choice | Escalated choice |
|---|---|---|
| lifetime | current turn | persistent/attachable worker |
| topology | one writer or bounded fanout | durable role graph |
| control | no mid-run steering | observe/nudge/replace |
| output | one artifact | reusable skill/workflow/gate |
| store | caller-owned packet set | operator-selected GC quest store |
| contention | one writer | partition, then Agent Mail reservation |

Parallelism buys independence, not guaranteed speed. Refuse persistent
orchestration for one-shot work, colliding write scopes, or a sequential chain
that has no exploitable concurrency.

## Handoff

Return exactly one of:

- `inline` or `bounded-fanout`
- `skill-builder`
- `workflow-builder`
- `agent-native` with a named reason persistent panes help
- `using-gc` with explicit operator choice
- `operationalize:gate`

Name the deciding axis and owner, then stop. The caller may invoke that owner
separately; do not copy or start the delegated workflow from this router.

## Output Specification

- **Artifact directory:** stdout only; this routing decision creates no file.
- **Filename convention:** none. Emit exactly one routing-verdict line.
- **Serialization/schema format:** `shape=<allowed-shape>; axis=<deciding-axis>;
  owner=<owning-skill>` using one of the shapes listed under Handoff.
- **Owner mapping:** `inline` and `bounded-fanout` use `current-agent`;
  `skill-builder`, `workflow-builder`, `agent-native`, and `using-gc` use the
  same value for owner; `operationalize:gate` uses `operationalize`.
- **Validator command:** validate a captured `$verdict` as exactly one line
  with the declared shape/owner mapping:

  ```bash
  printf '%s\n' "$verdict" | awk '
    NR > 1 { extra = 1 }
    {
      valid = ($0 ~ /^shape=(inline|bounded-fanout); axis=[^;]+; owner=current-agent$/ ||
               $0 ~ /^shape=skill-builder; axis=[^;]+; owner=skill-builder$/ ||
               $0 ~ /^shape=workflow-builder; axis=[^;]+; owner=workflow-builder$/ ||
               $0 ~ /^shape=agent-native; axis=[^;]+; owner=agent-native$/ ||
               $0 ~ /^shape=using-gc; axis=[^;]+; owner=using-gc$/ ||
               $0 ~ /^shape=operationalize:gate; axis=[^;]+; owner=operationalize$/)
    }
    END { exit !(NR == 1 && !extra && valid) }
  '
  ```
- **Downstream handoff:** return the named owner to the caller without invoking
  it; `inline` and `bounded-fanout` describe the recommended execution shape but
  do not authorize this routing skill to begin execution.

## Quality Rubric

- [ ] The verdict names exactly one allowed shape and one deciding axis.
- [ ] Persistent or city-shaped routes cite the operator's explicit selection.
- [ ] Concurrent routes state that production write scopes do not overlap.
- [ ] The router delegates to the owner without copying or starting its workflow.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…