Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/lucaperret/tidal-cli/claude-mdgit clone --depth 1 https://github.com/lucaperret/tidal-cliWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.01456 | $0.01456 |
| Opus 5 | $0.00728 | $0.00728 |
| Sonnet 5 | $0.00291 | $0.00291 |
| Haiku 4.5 | $0.00146 | $0.00146 |
Grade A, and why
tidal-cli CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 124 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
Project
tidal-cli — TypeScript CLI for Tidal music streaming. Designed for LLM agent automation via OpenClaw.
Architecture
- API:
@tidal-music/apiclient againsthttps://openapi.tidal.com/v2(JSON:API spec) - Auth: OAuth Authorization Code + PKCE. No client_secret. Client ID hardcoded (public OAuth pattern).
- Session: localStorage polyfill backed by
~/.tidal-cli/session.json. Tokens auto-refresh. - Country code: Auto-detected from user profile via
/users/me. Fallback:TIDAL_COUNTRYenv var, thenUS. - Playback: Uses
/trackManifests/{id}(DASH segments), not the legacy v1 API.
Source Layout
src/
├── index.ts # CLI entry point (commander)
├── auth.ts # OAuth, getApiClient(), getCountryCode()
├── session.ts # localStorage/EventTarget polyfills for Node.js
├── types.ts # Shared types for *Data() functions
├── search.ts # Search + suggestions
├── artist.ts # Artist info, tracks, albums, similar, radio
├── track.ts # Track info, similar, radio, ISRC lookup
├── album.ts # Album info, barcode lookup
├── playlist.ts # Playlist CRUD, track management, reorder
├── library.ts # Library/favorites + favorited playlists
├── playback.ts # Stream manifests, DASH download, local play
├── recommend.ts # User recommendations (mixes)
├── history.ts # Recently added items
├── user.ts # User profile
└── __tests__/ # Vitest unit tests (111 tests)
site/app/
├── .well-known/oauth-authorization-server/ # OAuth metadata discovery
├── api/authorize/ # OAuth authorize → redirects to Tidal
├── api/callback/ # Tidal OAuth callback → stores tokens
├── api/token/ # Token exchange (code → access token)
├── api/mcp/ # MCP Streamable HTTP handler (32 tools)
└── mcp-lib/ # Redis, Tidal OAuth, tool definitions, constants
Commands
Run npm run build then node dist/index.js --help for the full command list.
Testing
npm test # vitest run
npm run test:watch # vitest watch
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 124 lines · 1,456 tokens per session scan A e9ed384f2a97
tidal-cli CLAUDE.md is an instructions file published in the GitHub repository lucaperret/tidal-cli (10 stars, last pushed 2mo ago), licensed MIT. It adds 1,456 tokens to every session, about $0.0073 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
xhs-imagen AGENTS.md
Instructions for NimaChu/xhs-imagen, covering repository guidance, required checks and editing rules.
mcp-score AGENTS.md
Instructions for tskovlund/mcp-score, covering mcp-score, architecture, why two approaches?, dev environment and commands.
discogs-mcp CLAUDE.md
Instructions for rianvdm/discogs-mcp, covering claude.md, project, commands, architecture and key patterns.
laohan-skills CLAUDE.md
Instructions for hanzhcn/laohan-skills, covering laohan-skills project rules, brand name, talking-head video workflow and skill 维护.
mixx-dj-mcp AGENTS.md
Instructions for sandraschi/mixx-dj-mcp, covering mixx-dj-mcp agent context, quick ref, key files, portmanteau tools and standards.
band-play AGENTS.md
Instructions for borbiuk/band-play, covering repository agents (bandcamp play), product, architecture (mv3), messaging and build and manifest constraints.