بنقرة واحدة
capability-development
Guide for creating, registering, and managing CCOS/RTFS capabilities
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Guide for creating, registering, and managing CCOS/RTFS capabilities
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | Capability Development |
| description | Guide for creating, registering, and managing CCOS/RTFS capabilities |
Capabilities are the core building blocks of CCOS - typed, auditable units of functionality.
Capabilities are defined in .rtfs files using S-expression syntax:
(capability "domain.capability-name"
:description "What this capability does"
:input-schema [:map
[:param1 :string]
[:param2 [:and :int [:> 0]]]]
:output-schema [:map [:result :any]]
:effects [:network] ; Declared effects
:implementation (fn [inputs]
;; Pure logic + host calls
(let [url (str "https://api.example.com/" (:param1 inputs))]
(call "ccos.network.http-fetch" {:url url}))))
Use RTFS type expressions for validation:
:input-schema [:map
[:required_param :string] ; Required string
[:optional_param {:optional true} :int] ; Optional int
[:bounded [:and :int [:>= 0] [:< 100]]] ; Constrained int
[:enum_field [:union "a" "b" "c"]] ; Enum values
[:nested [:map [:inner :string]]]] ; Nested map
:output-schema [:map
[:data [:vector :any]]
[:count :int]
[:metadata {:optional true} :any]]
For external API integrations, create a server.rtfs file:
(server
:id "weather_api"
:server_info {
"name" "Weather API"
"endpoint" "https://api.weather.com"
"description" "Weather data service"
"auth_env_var" "WEATHER_API_KEY"
}
:capability_files ["openapi/v1/get_forecast.rtfs"
"openapi/v1/get_current.rtfs"]
:source {"type" "OpenAPI"
"entry" {"url" "https://api.weather.com/openapi.json"}}
)
Use MCP tools to discover and register external APIs:
ccos_suggest_apis { query: "weather forecast API" }
ccos_introspect_remote_api {
endpoint: "https://api.openweathermap.org/data/3.0/openapi.json",
name: "OpenWeatherMap",
auth_env_var: "OPENWEATHERMAP_API_KEY"
}
# User approves via /approvals UI, then:
ccos_register_server { approval_id: "..." }
For multi-step workflows, use the :agent kind:
(capability "agent.daily-reporter"
:description "Generates consolidated daily report"
:input-schema [:map
[:city :string?]
[:btc_symbol :string?]]
:output-schema [:map
[:weather :any]
[:btc :any]]
:meta {
:kind :agent
:planning false
:source-session "session_123"
}
:implementation (fn [inputs]
(let [city (:city inputs "Paris")
weather (call "weather.get_current" {:city city})
btc (call "crypto.get_price" {:symbol (:btc_symbol inputs "BTC")})]
{:weather weather :btc btc})))
Generate capabilities programmatically:
ccos_synthesize_capability {
description: "Fetch and format cryptocurrency prices",
capability_name: "crypto.formatted_prices",
input_schema: {
type: "object",
properties: {
symbols: { type: "array", items: { type: "string" } }
}
}
}
Convert interactive sessions into reusable agents:
1. ccos_session_start { goal: "Build weather+crypto reporter" }
2. ccos_execute_capability { ... } # Execute steps
3. ccos_execute_capability { ... }
4. ccos_session_end { session_id: "...", save_as: "workflow.rtfs" }
5. ccos_consolidate_session {
session_id: "...",
agent_name: "daily_reporter"
}
capabilities/
├── core/ # Built-in capabilities
├── servers/
│ ├── approved/ # Approved external APIs
│ │ └── weather_api/
│ │ ├── server.rtfs
│ │ └── openapi/v1/
│ │ └── get_forecast.rtfs
│ └── pending/ # Pending approval
├── agents/ # Agent capabilities
│ └── daily-reporter.rtfs
└── learned/ # Auto-synthesized
Declare effects for governance:
| Effect | Description |
|---|---|
:network | HTTP requests, API calls |
:io | Console, logging |
:fs | File system access |
:state | Key-value store, database |
:time | Current time access |
:random | Random number generation |
domain.action format (e.g., github.list_issues)(call ...)Front-door lead agent for ambiguous goals.
Validation and testing autonomous agent.
Software engineering autonomous agent.
Installs new durable agents into the runtime.
Design, structure, and task decomposition agent.
Audit, review, and promotion gate agent.