Runtype Build Product
Use this skill when the user wants to create or materially change a Runtype product.
MCP is the source of truth for schemas, catalogs, and current platform rules.
Required First Calls
Before designing or creating resources:
- Product build:
get_build_instructions(task="build-product", description=...).
- Flow build:
get_build_instructions(task="generate-flow", description=..., name=...).
- Capability scoping:
get_build_instructions(task="explain-capabilities").
Then fetch only the docs needed for the current design:
get_platform_documentation(topic="surface-types")
get_platform_documentation(topic="flow-step-types")
get_platform_documentation(topic="product-schema")
get_platform_documentation(topic="types-fpo")
get_platform_documentation(topic="types-flow-steps")
get_platform_documentation(topic="types-entities")
get_platform_documentation(topic="types-surface-configs")
get_platform_documentation(topic="builtin-tools")
get_platform_documentation(topic="agent-skills")
get_platform_documentation(topic="orthogonal-tools")
get_platform_documentation(topic="external-tools")
get_platform_documentation(topic="models")
get_platform_documentation(topic="dashboard-links")
get_platform_documentation(topic="mock-ecommerce")
get_platform_documentation(topic="persona-embed")
get_platform_documentation(topic="persona-fullscreen-assistant")
get_platform_documentation(topic="sdk-reference")
Also read MCP resources directly when available for richer coverage:
runtype://types/fpo-template, runtype://guide/subagent-delegation,
runtype://catalog/skills, runtype://catalog/provider-native-search, and
runtype://catalog/ucp-commerce.
Design Policy
Answer these before building:
- Who is the product for: personal, internal team, external customers, machines, or agents?
- Where do users work: website chat, Slack, email, SMS, messaging apps, webhook, API, MCP,
schedule, or A2A?
- What is the capability: agent, flow, existing agent, existing flow, or external agent?
- What tools and state does it need: built-ins, Orthogonal tools, MCP servers, external
HTTP tools, custom code, local SDK tools, WebMCP page tools, records, secrets?
Start with an agent unless the work is a fixed sequence. Use flows for deterministic
pipelines, indexing, batch processing, artifact rendering, and hot paths that should be
cheap and fast. Use subagents or multiple capabilities instead of one giant prompt.
For commerce products, check UCP support when a merchant domain is known, summarize the
finding, and ask whether to use UCP or the traditional commerce path before proceeding.
Build Loop
- Discover account state with
get_me, list_products, list_agents, list_flows,
list_tools, list_model_configs, and product-scoped list_surfaces when relevant.
- Pick surfaces from the live
surface-types docs. Include messaging as the generic
multi-channel surface, and prefer dedicated surfaces when channel constraints matter.
For browser-side WebMCP tools, use a chat surface with behavior.webmcp rather
than an mcp surface. For the WebMCP mechanics and the advanced non-Persona
raw-/v1/dispatch clientTools[] path, use runtype-persona.
- Prefer first-party/built-in tools, then Orthogonal tools, then MCP servers, then custom
HTTP/JS tools.
- Validate before creating:
validate_product, validate_flow, validate_product_flow,
validate_product_agent, validate_product_surface, validate_product_tool, and
validate_code for custom JS or transform code.
- Create in a reviewable order: tools/secrets, agents/flows, product, capabilities,
surfaces, surface items, schedules, client tokens, and evals.
- Test at the user-facing layer. Use
execute_agent, dispatch, execute_tool,
run_flow, submit_batch, submit_eval, trace_execution, and
trace_conversation as appropriate.
Guardrails
- Never invent schemas or model IDs; fetch docs and model configs.
- Do not inline credentials. Use
{{secret:KEY}} and secret intake.
- Read before update; preserve fields the user did not ask to change.
- Treat
update_agent as wholesale replacement unless live docs say otherwise.
- Surface-level evals catch orchestration and formatting issues that per-agent evals miss.
- If a product needs deeper or newer platform rules than this skill names, fetch
platform-catalog and focused direct resources instead of appending feature
notes here.
If the umbrella runtype skill is installed alongside this focused skill, its durable
references provide deeper fallback notes. This skill must still work when installed by
itself; prefer live MCP docs over local sibling files.
Source: hashgraph-online/awesome-codex-plugins → plugins/runtypelabs/skills/skills/runtype-build-product/SKILL.md
1---2name: runtype-build-product3description: >- Use when building, designing, validating, or deploying Runtype AI products with agents, flows, tools, surfaces, records, secrets, schedules, evals, orchestration, webhooks, Slack/email/SMS/Telegram/Discord/WhatsApp/iMessage/messaging/chat/API/MCP/A2A/hosted-page surfaces, commerce tools, agent skills, or hosted product generation. Always fetch current MCP build instructions before creating resources.4---567# Runtype Build Product89Use this skill when the user wants to create or materially change a Runtype product.10MCP is the source of truth for schemas, catalogs, and current platform rules.1112## Required First Calls1314Before designing or creating resources:1516- Product build: `get_build_instructions(task="build-product", description=...)`.17- Flow build: `get_build_instructions(task="generate-flow", description=..., name=...)`.18- Capability scoping: `get_build_instructions(task="explain-capabilities")`.1920Then fetch only the docs needed for the current design:2122- `get_platform_documentation(topic="surface-types")`23- `get_platform_documentation(topic="flow-step-types")`24- `get_platform_documentation(topic="product-schema")`25- `get_platform_documentation(topic="types-fpo")`26- `get_platform_documentation(topic="types-flow-steps")`27- `get_platform_documentation(topic="types-entities")`28- `get_platform_documentation(topic="types-surface-configs")`29- `get_platform_documentation(topic="builtin-tools")`30- `get_platform_documentation(topic="agent-skills")`31- `get_platform_documentation(topic="orthogonal-tools")`32- `get_platform_documentation(topic="external-tools")`33- `get_platform_documentation(topic="models")`34- `get_platform_documentation(topic="dashboard-links")`35- `get_platform_documentation(topic="mock-ecommerce")`36- `get_platform_documentation(topic="persona-embed")`37- `get_platform_documentation(topic="persona-fullscreen-assistant")`38- `get_platform_documentation(topic="sdk-reference")`3940Also read MCP resources directly when available for richer coverage:41`runtype://types/fpo-template`, `runtype://guide/subagent-delegation`,42`runtype://catalog/skills`, `runtype://catalog/provider-native-search`, and43`runtype://catalog/ucp-commerce`.4445## Design Policy4647Answer these before building:4849- Who is the product for: personal, internal team, external customers, machines, or agents?50- Where do users work: website chat, Slack, email, SMS, messaging apps, webhook, API, MCP,51 schedule, or A2A?52- What is the capability: agent, flow, existing agent, existing flow, or external agent?53- What tools and state does it need: built-ins, Orthogonal tools, MCP servers, external54 HTTP tools, custom code, local SDK tools, WebMCP page tools, records, secrets?5556Start with an agent unless the work is a fixed sequence. Use flows for deterministic57pipelines, indexing, batch processing, artifact rendering, and hot paths that should be58cheap and fast. Use subagents or multiple capabilities instead of one giant prompt.5960For commerce products, check UCP support when a merchant domain is known, summarize the61finding, and ask whether to use UCP or the traditional commerce path before proceeding.6263## Build Loop64651. Discover account state with `get_me`, `list_products`, `list_agents`, `list_flows`,66 `list_tools`, `list_model_configs`, and product-scoped `list_surfaces` when relevant.672. Pick surfaces from the live `surface-types` docs. Include `messaging` as the generic68 multi-channel surface, and prefer dedicated surfaces when channel constraints matter.69 For browser-side WebMCP tools, use a `chat` surface with `behavior.webmcp` rather70 than an `mcp` surface. For the WebMCP mechanics and the advanced non-Persona71 raw-`/v1/dispatch` `clientTools[]` path, use `runtype-persona`.723. Prefer first-party/built-in tools, then Orthogonal tools, then MCP servers, then custom73 HTTP/JS tools.744. Validate before creating: `validate_product`, `validate_flow`, `validate_product_flow`,75 `validate_product_agent`, `validate_product_surface`, `validate_product_tool`, and76 `validate_code` for custom JS or transform code.775. Create in a reviewable order: tools/secrets, agents/flows, product, capabilities,78 surfaces, surface items, schedules, client tokens, and evals.796. Test at the user-facing layer. Use `execute_agent`, `dispatch`, `execute_tool`,80 `run_flow`, `submit_batch`, `submit_eval`, `trace_execution`, and81 `trace_conversation` as appropriate.8283## Guardrails8485- Never invent schemas or model IDs; fetch docs and model configs.86- Do not inline credentials. Use `{{secret:KEY}}` and secret intake.87- Read before update; preserve fields the user did not ask to change.88- Treat `update_agent` as wholesale replacement unless live docs say otherwise.89- Surface-level evals catch orchestration and formatting issues that per-agent evals miss.90- If a product needs deeper or newer platform rules than this skill names, fetch91 `platform-catalog` and focused direct resources instead of appending feature92 notes here.9394If the umbrella `runtype` skill is installed alongside this focused skill, its durable95references provide deeper fallback notes. This skill must still work when installed by96itself; prefer live MCP docs over local sibling files.9798---99100**Source:** [`hashgraph-online/awesome-codex-plugins`](https://github.com/hashgraph-online/awesome-codex-plugins) → `plugins/runtypelabs/skills/skills/runtype-build-product/SKILL.md`