Cosin
Use this skill when an agent needs to operate the `cosin` CLI from the terminal. `cosin` accepts only relative paths, lists available skills through the `ski...
Install
openclaw skills install cosinLatest Release
Compatibility
{}Capabilities
{}Verification
{}Tags
{
"latest": "1.0.2"
}name: cosin
description: "Use this skill when an agent needs to operate the cosin CLI from the terminal. cosin accepts only relative paths, lists available skills through the skills subcommand, can call COS API paths directly, and can call /cos/... skills by turning them into x402 pay-and-call requests to the COS backend. This skill is for using the CLI, not for editing the cosin source code."
Cosin CLI
Use cosin to call the COS API and COS-backed skills from the terminal.
What the CLI does
cosin now accepts only relative paths.
There are three request styles:
-
skillsCallshttps://skills.bankofuniverse.org/skillsdirectly and prints the upstream body directly. -
Normal COS API paths such as
/v1/meThese are sent directly to the COS API host. -
Skill paths under
/cos/...These are converted internally into x402 pay-and-call requests:
- keeps the same request path
- builds the target URL from
SKILLS_BASE_URL - sends that target URL to
POST /agent/pay-and-callon the COS API host
Users should not pass absolute URLs to the CLI anymore.
Gather inputs
Collect these inputs before running the CLI:
- A COS bearer token for
--key - An HTTP method
- A relative path starting with
/ - Optional JSON for
--json - Optional repeatable headers for
--headeror-H - Optional
--base-urloverride for normal COS API calls
Ask for the token if the user has not provided one. Treat it as sensitive.
Protect credentials
- Treat the
--keyvalue as sensitive - Do not print, commit, or hardcode the token
- Keep the token in the command line argument, not in repo files
Run the CLI
Use one of these command shapes:
cosin --key <token> <METHOD> <PATH> [--json '<json>'] [--header 'Name: value'] [--base-url <url>]
cosin --key <token> agent [status|me] [--base-url <url>]
cosin --key <token> skills
Important flags:
--key <token>for the required bearer token--json <json>for an optional JSON request body--header 'Name: value'or-H 'Name: value'for repeatable custom headers--base-url <url>to override the default COS API base URL for direct API calls--versionor-vto print the installed CLI version--helpor-hto print usage
Subcommand notes:
skillsdoes not accept--jsonskillsdoes not accept custom headersagentdoes not accept--jsonagentdoes not accept custom headers
Supported paths
Built-in catalog
Use this to discover available skills:
cosin --key <token> skills
Expected upstream skills include:
/cos/crypto/chainlink/randomReturns a random value from the Chainlink-based skill endpoint./cos/crypto/price/:symbolReturns the latest price for a supported token symbol.
Supported symbols for /cos/crypto/price/:symbol:
BTCETHHYPESOLTRXUSDTUSDC
Direct COS API calls
Use normal API paths to call COS directly:
cosin --key <token> GET /v1/me
cosin --key <token> POST /v1/orders --json '{"symbol":"BTCUSDT"}'
Skill calls through /cos/...
Use /cos/... when you want to call a skill through COS:
cosin --key <token> GET /cos/crypto/chainlink/random
cosin --key <token> GET /cos/crypto/price/BTC
Internally, the CLI turns those into x402 pay-and-call requests to the COS backend.
Use the agent shortcut
Use agent, agent status, or agent me as a convenience alias for GET /agent/me.
cosin --key <token> agent
cosin --key <token> agent status
cosin --key <token> agent me
Do not combine agent with --json or custom headers.
Validate inputs before running
- Ensure the path starts with
/ - Do not pass absolute URLs
- Use
skills, notGET /skills - Ensure
--jsonis valid JSON - Ensure headers use
Name: value - For
/cos/crypto/chainlink/random, only useGET - For
/cos/crypto/price/:symbol, only useGETand only the supported symbols
Read the output
Expect the CLI to:
- Print an HTTP status line for normal API requests,
/cos/...skill calls, andagent - Print only the upstream body for the
skillssubcommand - Pretty-print JSON response bodies
- Print
<empty response body>for empty responses - Return a non-zero exit code for unsuccessful HTTP responses or CLI argument errors
Work locally in this repo
Use the local build when working inside this repository:
bun run build
./dist/index.js --key <token> agent
./dist/index.js --key <token> skills
./dist/index.js --key <token> GET /v1/me
./dist/index.js --key <token> GET /cos/crypto/chainlink/random
Use the published command shape locally when that is more convenient:
bun x cosin --key <token> agent
bun x cosin --key <token> skills
bun x cosin --key <token> GET /v1/me
bun x cosin --key <token> GET /cos/crypto/price/BTC
