HomeBrowseUpload
← Back to registry
// Skill profile

Cosin CLI

name: cosin

by 0xcipher0 · published 2026-04-01

API集成
Total installs
0
Stars
★ 0
Last updated
2026-04
// Install command
$ claw add gh:0xcipher0/0xcipher0-cosin
View on GitHub
// Full documentation

---

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:

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:

    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:

    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:

    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`, 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:

    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
    // Comments
    Sign in with GitHub to leave a comment.
    // Related skills

    More tools from the same signal band