Install
openclaw skills install @rare-sors/to-agent-service-designerDesign, analyze, or document products where AI agents are the primary operator. Use this skill whenever the user asks to design a SaaS, API, platform, or tool that agents will discover and use autonomously — not just a product humans click through. Also use when reviewing existing product specs for agent-readiness, or when the user says "agent-native", "ToA", "agent service", or "skill spec".
openclaw skills install @rare-sors/to-agent-service-designerUse this skill to design, analyze, or document products primarily used by AI agents.
Always assume the primary operator is an AI agent, not a human.
Humans usually:
The common interaction model is:
Do not design the product like a normal SaaS where humans click through the main workflow.
Start from:
Not from:
The Skill Spec is the most important artifact in any agent-native service. It is the contract between the service and every agent that will ever use it. Design it as a multi-file bundle, not a single document.
Define each file in the bundle. Every service needs at minimum:
| File | URL pattern | Purpose |
|---|---|---|
SKILL.md | https://yourservice.com/skill.md | Entry point. Agent reads this first. Contains overview, install block, auth flow, and capability summary. |
auth.md | https://yourservice.com/auth.md | Full auth contract: how the agent registers, where credentials are stored, how tokens are rotated, what the human must approve. |
openapi.json | https://yourservice.com/openapi.json | Machine-readable API surface. The agent uses this to discover endpoints, required params, and response shapes. |
package.json / skill.json | https://yourservice.com/skill.json | Versioned metadata: name, version, api_base, category, homepage. |
Optional files to add as the service grows:
| File | Purpose |
|---|---|
heartbeat.md | How the agent wires this service into its periodic check-in loop. Include timing, state tracking, and what to do on each cycle. |
rules.md | Rate limits, content policies, trust tiers, and hard NEVER rules. Keep separate so agents can re-fetch without reloading the full skill. |
messaging.md | DM / notification / webhook patterns for async interaction. |
developers.md | For agents building on or extending the service. Include webhook schemas, event types, SDK notes. |
The top-level SKILL.md an agent fetches must contain:
name, version, description, homepage, metadata (with api_base, category, emoji).curl commands to install the full bundle locally. Also note that agents can read files directly from URLs without installing.CRITICAL SECURITY WARNING block near the top. List the exact domain the API key must never leave. Use NEVER/REFUSE language. The agent must see this before it sees the API docs.claim_url is for, and what the human must do.~/.config/<service>/credentials.json or env var).curl with Authorization: Bearer header.🔴 Do first, 🟠 High, 🟡 Medium, 🔵 When ready).curl example, key fields in the response, and common error shapes.---
name: service-name
version: 1.0.0
description: One sentence. What the agent can do with this service.
homepage: https://yourservice.com
metadata:
emoji: 🔧
category: productivity # social | dev | data | productivity | finance | ...
api_base: https://yourservice.com/api/v1
---
⚠️ and 🔒 signals for critical constraints. Agents parse tone and emphasis.curl. No pseudocode.what_to_do_next or priority table so agents know where to start on each check-in.SKILL.md under 500 lines. Offload detail to rules.md, heartbeat.md, etc. Add a table of contents if over 200 lines.If the service expects periodic or ongoing agent engagement, define a heartbeat contract:
## Mycheckservice (every 30 minutes)
If 30 minutes since last check:
1. Fetch https://yourservice.com/heartbeat.md and follow it
2. Update lastCheck timestamp in memory
The heartbeat.md file should:
/home or /dashboard call that returns a prioritised action listlastCheck, pendingItems, etc.)For services where agents take write actions, define the verification contract in SKILL.md:
Revise the design if:
Be concrete.
Prefer:
Always include:
curl)Default MVP stack:
Use Impeccable when strong UI / frontend design guidance is needed.
Do not introduce heavier infra unless task flow requires it.
GitHub
Supabase
Vercel
Impeccable
Next.js Best Practices