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 `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.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/cosin/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How cosin Compares
| Feature / Agent | cosin | Standard Approach |
|---|---|---|
| Platform Support | multi | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Which AI agents support this skill?
This skill is compatible with multi.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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:
1. `skills`
Calls `https://skills.bankofuniverse.org/skills` directly and prints the upstream body directly.
2. Normal COS API paths such as `/v1/me`
These are sent directly to the COS API host.
3. 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-call` on 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 `--header` or `-H`
- Optional `--base-url` override for normal COS API calls
Ask for the token if the user has not provided one. Treat it as sensitive.
## Protect credentials
- Treat the `--key` value 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:
```sh
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 usage
Subcommand notes:
- `skills` does not accept `--json`
- `skills` does not accept custom headers
- `agent` does not accept `--json`
- `agent` does not accept custom headers
## Supported paths
### Built-in catalog
Use this to discover available skills:
```sh
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`:
- `BTC`
- `ETH`
- `HYPE`
- `SOL`
- `TRX`
- `USDT`
- `USDC`
### Direct COS API calls
Use normal API paths to call COS directly:
```sh
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:
```sh
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`.
```sh
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`, not `GET /skills`
- Ensure `--json` is valid JSON
- Ensure headers use `Name: value`
- For `/cos/crypto/chainlink/random`, only use `GET`
- For `/cos/crypto/price/:symbol`, only use `GET` and only the supported symbols
## Read the output
Expect the CLI to:
- Print an HTTP status line for normal API requests, `/cos/...` skill calls, and `agent`
- Print only the upstream body for the `skills` subcommand
- 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:
```sh
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:
```sh
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
```