workflow_creation

workflow_creation is a skill for Claude Code, Codex from rome-os/rome. It costs 0 tokens per session (6,270 once invoked), scanned A, original, MIT.

A skill for building workflow apps in Rome, where one TypeScript function coordinates several actions. A workflow is an automated sequence that can run steps in order, in parallel, or conditionally.

In plain words
What is it for?
Use it to scaffold a workflow app, transform incoming data, call APIs or other actions, run steps concurrently, add conditions, or delegate subtasks to an agent.
Why use it?
It provides a standard app structure for multi-step automation and lets the workflow reuse existing actions, including handing work to an AI agent.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/rome-os/rome/workflow_creation
Any agent
npx skills add rome-os/rome --skill workflow_creation
Clone the repo
git clone --depth 1 https://github.com/rome-os/rome

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for workflow_creation

README.md
[![agentmods](https://agentmods.dev/badge/skills/rome-os/rome/workflow_creation.svg)](https://agentmods.dev/skills/rome-os/rome/workflow_creation)
Your own site
<a href="https://agentmods.dev/skills/rome-os/rome/workflow_creation"><img src="https://agentmods.dev/badge/skills/rome-os/rome/workflow_creation.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 6,270 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.06270
Opus 5 $0.00000 $0.03135
Sonnet 5 $0.00000 $0.01254
Haiku 4.5 $0.00000 $0.00627

Measured 5d ago against content hash 4a38239a61bc, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

workflow_creation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

rome_apps/coding/src/skills/workflow_creation/SKILL.md · 236 lines

How it starts

The opening of the file, as written. The whole thing — 236 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Workflow Creation

A workflow is a single Rome action whose body is plain author-written code: one async function, runWorkflow(input, ctx), that transforms the value flowing in and implements its own control flow — sequencing, concurrency, conditionals, fan-out — directly in TypeScript. The run action calls runWorkflow directly, and the function reaches reusable work through ctx.runAction(canonicalId, args), which can invoke any registered action — system:send_message, a SaaS API via connector:connector_proxy, or system:summon (hand a piece of work to an LLM agent).

Each workflow is its own Rome app, scaffolded from the bundled workflow template. The template ships the entire shell — run action, trigger API, web page, run-history table — already wired and buildable. You write the one thing that differs per workflow: the body of runWorkflow().

Artifact identity — never use bare names

The scaffold is formatVersion: 2. Definitions use app-local names (name: run); every reference and runtime call uses <app-id>:<local-name>, even for an action owned by this workflow. Never emit a bare artifact name or self:<name>.

Use the real canonical ids for shared platform artifacts:

  • LLM work: ctx.runAction("system:summon", { agentName: "assistant:assistant", prompt })
  • Connected provider API: ctx.runAction("connector:connector_proxy", args)
  • Messaging: ctx.runAction("system:send_message", args)
  • Routine creation: ctx.runAction("system:create_routine", { actionName: "<workflow-app-id>:run", ... })
  • Core orchestrator, only when the workflow explicitly needs it: core:main

Three principles that decide most of the design

These come up on nearly every workflow, so internalize them before writing anything — the rest of the skill assumes them.

  1. Generative work is a system:summon call, never a bespoke agent or action. When the request is "write me a recap / draft replies / summarize these / decide what matters," the tempting move is to stand up a custom writer agent plus a generate action plus a DB of past results. Resist it — that whole apparatus collapses to one line: await ctx.runAction("system:summon", { agentName: "assistant:assistant", prompt }). Put the voice, persona, and instructions in the prompt, not a custom agent. A hand-written action.yaml/agent.yaml is also an error surface: one wrong field fails the whole app to load, and the run then throws "action not found." system:summon is the agent entry point.

Read the full file on GitHub · 236 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 236 lines · 0 tokens per session scan A 4a38239a61bc

Subscribe to this mod's changes

workflow_creation is a skill published in the GitHub repository rome-os/rome (451 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 6,270 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

aos-router

Route one inbound user message to exactly one enabled AOS capability. This skill is a strategy contract only. Transport normalization, queueing, permissions, idempotency, audit events, retries, and capability execution stay in Rust.

programming-pupil/aos · 0 tokens

code-studio-spec

Kiro-style Spec Mode for Code Studio: requirements, design, tasks, implementation, verification, and final report. Runtime sessions, candidate workspaces, diff approval, tests, and cancellation stay in Rust.

programming-pupil/aos · 0 tokens

watchdog

Parse natural-language WatchDog questions into structured AgentOps queries. This skill documents the intent contract. Rust rules, permission checks, action guards, and fallback answers remain authoritative.

programming-pupil/aos · 0 tokens

code-studio-code

Cursor/Codex-style coding workspace contract for ordinary Code Mode. This skill documents the behavior expected from the coding agent. Runtime sessions, workspace isolation, process execution, diff validation, and apply/reject actions stay in Rust.

programming-pupil/aos · 0 tokens

nl2sql-reference

Strategy contract for user-bound reference files in Data Exploration. References can be README files, SQL demos, Python scripts, notebooks exported as text, metric dictionaries, or any UTF-8 text that explains business query patterns. Storage, upload validation, SQL safety, datasource permissions, and query execution…

programming-pupil/aos · 0 tokens

pm-assistant

Product operations assistant strategy contract. PM short answers and deep analysis should be evidence-grounded and should separate facts from hypotheses. Model calls, hooks, queueing, cancellation, notifications, and staged task execution stay in Rust.

programming-pupil/aos · 0 tokens