Runtype Build Product
SkillCloud & infraBuild, deploy, validate, or modify Runtype-hosted AI products, agents, flows, tools, surfaces, schedules, and eval suites, including from example templates.
Use Runtype Build Product in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Runtype Build Product and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Runtype Build Product skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by hashgraph-online/awesome-codex-plugins in plugins/runtypelabs/skills/skills/runtype-build-product/SKILL.md and read by Ahel’s review.
Use this skill when the user wants to create or materially change a Runtype product. The Runtype MCP server is the source of truth for schemas, catalogs, and current platform rules.
Prerequisites
If the Runtype MCP tools are not available, run runtype install-mcp for the current
agent harness. Until the tools appear, call them through the CLI with runtype mcp tools
and runtype mcp call <tool>. For sign-in and account setup, use the runtype skill.
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").
For a product build, pass focus as a comma-separated list when the product clearly
needs one of these areas: commerce, embed, subagents, skills, search, or
retrieval. The response then includes those full guides instead of pointers to them.
Then fetch only the get_platform_documentation topics the task needs:
| Need | Topics |
|---|---|
| Product shape (FPO, the product definition) | product-schema, types-fpo, types-fpo-template |
| Flow step configs | flow-step-types, types-flow-steps |
| Delivery and embeds | surface-types, types-surface-configs, persona-embed |
| Slack workspace connection | slack-setup |
| Tools and credentials | builtin-tools, orthogonal-tools, external-tools; pass vendor instead of a topic for one Orthogonal vendor |
| Models | models plus the account's list_model_configs |
| Agent that runs outside Runtype | external-agents, or the runtype-external-agents skill |
| Validation or go-live blockers | validation-errors, setup-readiness |
The build instructions point to deeper topics, such as evals, when the task needs them. Do not fetch every catalog in advance, and do not read the same topic again as a resource.
Design policy
Answer these questions before building:
- Who is the product for: personal use, an internal team, external customers, machines, or other agents?
- Where do users work: website chat, Slack, email, SMS, messaging apps, webhook, API, MCP, schedule, or A2A?
- What is the capability: a new agent, a new flow, an existing agent or flow, or an agent that runs outside Runtype?
- What tools and state does it need? Options are built-in tools, Orthogonal tools (paid third-party APIs from the Orthogonal catalog), MCP servers, external HTTP tools, custom code, local tools that run in the caller's own code through the SDK, WebMCP page tools, records, and secrets.
Start with an agent unless the work is a fixed sequence. Use flows for deterministic pipelines, indexing, batch processing, artifact rendering, and high-volume steps that must be fast and cheap. Split large jobs into subagents or several capabilities instead of one long 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 you continue.
Build loop
- Check for a ready-made example. If the request matches a gallery example, or the user
gives an example or
/nowlink, calllist_example_templatesand thencreate_product_from_examplewith one ofslug,session, orurl. If required variables are missing, the tool creates nothing and returns the variable specs. Ask the user for the values and call it again. The example creates the product and its resources, so skip to readingget_product_setupin step 6, then test in step 7. - Discover only the account state the task needs.
- Call
get_me,list_products,list_agents,list_flows,list_tools,list_model_configs, and, for an existing product,list_surfaces. list_products,list_agents,list_flows, andlist_toolsreturn compact string previews by default. Keep that shape for discovery. Passview: "full"only when you need complete strings for every row.- Use
agent_typeto narrowlist_agents. Call the matchingget_*tool for one resource's full configuration.
- Call
- Pick surfaces from the live
surface-typesdocs.messagingis the generic multi-channel surface. Prefer a dedicated surface such asslack,email, orsmswhen you need channel-specific setup or formatting. For browser-side WebMCP tools, use achatsurface withbehavior.webmcp, not anmcpsurface. For WebMCP details and client-side tools outside the Persona widget, use theruntype-personaskill. - Choose tools in this order: built-in tools, then Orthogonal tools, then MCP servers, then external HTTP or custom JavaScript tools.
- Validate before creating. Use
validate_product,validate_flow,validate_product_flow,validate_product_agent,validate_product_surface,validate_product_tool, andvalidate_codefor custom JavaScript or transform code. Requirevalid: truewith no errors. Fix only the reported fields, not the whole definition. - Create the resources.
create_productcreates an empty product. It does not import an FPO definition.- Create the agents, flows, and tools. Before
create_toolfor a custom tool (anexternalHTTP tool,customcode, or a flow exposed as a tool), apply thetool-designskill checklist. If that skill is not installed, it is public athttps://github.com/runtypelabs/skills/tree/main/skills/tool-design. - Call
add_product_capabilityfor each capability,create_surfacefor each channel, andadd_surface_itemto route capabilities to each surface. Use the returned IDs.create_surfacedoes not accept every surface type; check its schema. Forimessage, use the REST endpointPOST /v1/products/{id}/surfaces. - Create schedules or credentials only when the requested delivery needs them.
- Read
get_product_setupbefore testing integrations. Complete authorized setup, or return the remaining human-action links. A bare flow does not need product setup.
- Test at the user-facing layer.
- Use
execute_agent,dispatch,execute_tool,run_flow,submit_batch,trace_execution, andtrace_conversationas appropriate. - A direct
execute_agentrun does not prove surface routing or formatting. Fortelegram,slack,sms, andimessagesurfaces, usetest_surfaceto check formatting and message chunking without delivering anything. For a chat widget, create a client token withcreate_client_tokenand generate the snippet withgenerate_persona_embed_code. - Use fixtures or sandbox targets for side effects. Do not send live messages, charge money, or turn on recurring work only to run a smoke test.
- Use
- Add a graded eval suite for any agent or flow the user will run repeatedly. Create it
with
create_eval_suite, add realistic cases withadd_eval_cases, and run it withrun_eval_suite. Run it again after each prompt, step, or tool change, and passmodel_overrideto compare models. Turn a real failed agent run into a case withadd_eval_case_from_execution.submit_evalruns an ungraded, one-off comparison. - Report the results. Give validation, setup readiness, tested behavior, and untested
paths separately. Share resource IDs and dashboard links. If readiness is
needs_setup, say that the product is built but setup remains, and give the user the checklist. Create a surface key only when the surface requires one, and never print it.
If something fails
- Validation error (400): correct the reported fields. Do not regenerate the whole object.
- Not found (404): check the ID, the account, and whether the feature is available. A 404 does not prove that the resource was deleted.
- Execution error: inspect the trace, fix the named step or config, validate again, and test again safely. Do not retry a write that is not safe to repeat after an unclear timeout.
- Missing secret, surface not installed, or integration error: call
get_product_setuporget_surface_setupbefore you guess. - If the same error remains after one targeted fix, inspect the schema or report the blocker. Do not retry unchanged.
Guardrails
- Never invent schemas or model IDs. Fetch the docs and the account's model configs.
- Set an explicit, enabled model on every agent and prompt step. Choose it from
list_model_configsand themodelstopic. Never leave it to account defaults. - Never ask for secret values in chat, and never put credentials inline. Reference
secrets as
{{secret:KEY}}and callcheck_secretsfor missing keys. Give the user the dashboard link fromget_secret_intake_manifestorget_product_setup. - Read before you update. Keep fields the user did not ask to change.
- Check update behavior in the live schema. When you replace a nested object, keep its
other fields.
update_flow.stepsreplaces the entire step list. - Surface-level evals catch routing and formatting issues that per-agent evals miss.
- If the product needs platform rules this skill does not cover, fetch
platform-catalogand the focused topic it points to.
If the runtype skill is installed, its references hold more background. The live MCP
docs take precedence.
Signals
- GitHub stars
- 1k
- Forks
- 316
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
runtype-build-product- Source
- github.com/hashgraph-online/awesome-codex-plugins
github.com/hashgraph-online/awesome-codex-plugins
Related picks
Skill · thedaviddias
The pick for JavaScriptmodern-javascript-patterns
Skill · wshobson
The pick for JavaScriptslack-gif-creator
Skill · anthropics
The pick for Slackhive.slack-notifications-setup
Skill · aden-hive
The pick for Slackvercel-react-best-practices
Skill · vercel-labs
More in Cloud & infraweb-design-guidelines
Skill · vercel-labs
More in Cloud & infra