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.
Use cosin to call the COS API and COS-backed skills from the terminal.
cosin now accepts only relative paths.
There are three request styles:
skills
Calls https://skills.bankofuniverse.org/skills directly and prints the upstream body directly.
Normal COS API paths such as /v1/me
These are sent directly to the COS API host.
Skill paths under /cos/...
These are converted internally into x402 pay-and-call requests:
SKILLS_BASE_URLPOST /agent/pay-and-call on the COS API hostUsers should not pass absolute URLs to the CLI anymore.
Collect these inputs before running the CLI:
--key/--json--header or -H--base-url override for normal COS API callsAsk for the token if the user has not provided one. Treat it as sensitive.
--key value as sensitiveUse 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--version or -v to print the installed CLI version--help or -h to print usageSubcommand notes:
skills does not accept --jsonskills does not accept custom headersagent does not accept --jsonagent does not accept custom headersUse this to discover available skills:
cosin --key <token> skills
Expected upstream skills include:
/cos/crypto/chainlink/random
Returns a random value from the Chainlink-based skill endpoint./cos/crypto/price/:symbol
Returns the latest price for a supported token symbol.Supported symbols for /cos/crypto/price/:symbol:
BTCETHHYPESOLTRXUSDTUSDCUse normal API paths to call COS directly:
cosin --key <token> GET /v1/me
cosin --key <token> POST /v1/orders --json '{"symbol":"BTCUSDT"}'
/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 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.
/skills, not GET /skills--json is valid JSONName: value/cos/crypto/chainlink/random, only use GET/cos/crypto/price/:symbol, only use GET and only the supported symbolsExpect the CLI to:
/cos/... skill calls, and agentskills subcommand<empty response body> for empty responsesUse 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