원클릭으로
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.