cwb-profile

cwb-profile is a skill for Claude Code, Codex from jaychempan/coding-with-beat. It costs 41 tokens per session (621 once invoked), scanned A, original, MIT.

A music-listening analysis skill that creates reports about your listening history and gives personalised recommendations. Reports can cover a day, week, month, or year, with an optional activity or mood such as coding or relaxing.

In plain words
What is it for?
Use it to generate daily, weekly, monthly, or yearly listening reports and recommendations based on your history.
Why use it?
It turns a list of recently played music into a summary of your listening habits. This helps you understand your preferences and find music suited to a particular situation.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/jaychempan/coding-with-beat/cwb-profile
Any agent
npx skills add jaychempan/coding-with-beat --skill cwb-profile
Clone the repo
git clone --depth 1 https://github.com/jaychempan/coding-with-beat

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for cwb-profile

README.md
[![agentmods](https://agentmods.dev/badge/skills/jaychempan/coding-with-beat/cwb-profile.svg)](https://agentmods.dev/skills/jaychempan/coding-with-beat/cwb-profile)
Your own site
<a href="https://agentmods.dev/skills/jaychempan/coding-with-beat/cwb-profile"><img src="https://agentmods.dev/badge/skills/jaychempan/coding-with-beat/cwb-profile.svg" alt="Measured on agentmods" height="20"></a>
Per session 41 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 621 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5 $0.00041 $0.00621
Opus 5 $0.00020 $0.00311
Sonnet 5 $0.00008 $0.00124
Haiku 4.5 $0.00004 $0.00062

Measured 5d ago against content hash 661a5d6cec49, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

cwb-profile 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 5d 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.

codex_skills/cwb-profile/SKILL.md · 67 lines

What it actually says

coding-with-beat — Music Profile & Listening Report

You have access to the generate_profile MCP tool. Use it to analyse the user's listening history and generate personalised reports and recommendations.

When to activate

  • 听歌报告 · 音乐画像 · 本周报告 · 本月报告 · 年度报告 · 日报告
  • music profile · listening report · music report · my music taste
  • 分析我的听歌 · 我最近在听什么 · 推荐基于历史
  • history profile · what have I been listening to
  • 给我推荐基于历史 · 根据我的喜好推荐

Dispatch logic

  1. Detect period from the user's message:

    • 今天 / 日 / today / daily → "daily"
    • 本周 / 这周 / week / weekly → "weekly" (default)
    • 本月 / 这个月 / month / monthly → "monthly"
    • 今年 / 年度 / year / yearly → "yearly"
    • No mention → default "weekly"
  2. Extract context (optional scene/mood words the user mentions):

    • 写代码 / coding / 跑步 / 放松 / 通勤 etc. → pass as context
    • If no scene mentioned → context = ""
  3. Call the tool:

    generate_profile(period=<detected>, context=<extracted>)
    
  4. Display the returned report in full.

  5. After the report, present the recommendation queries and ask:

    "要播放推荐吗?说"播放推荐1"或直接告诉我你想听哪个方向。"

  6. If user agrees to play:

    • Extract the query strings from the report's recommendation section
    • Call smart_search(queries=[<those queries>])
    • Show results and let user pick by number with play_number(n)

Example exchanges

User: 帮我生成本周的听歌报告 → generate_profile(period="weekly", context="")

User: 我最近都在听什么,帮我分析一下,适合写代码的 → generate_profile(period="weekly", context="写代码")

User: 给我出一份年度音乐画像 → generate_profile(period="yearly", context="")

User: 今天听了什么 → generate_profile(period="daily", context="")

Error handling

If the tool returns "不足 5 首", tell the user:

"还没有足够的听歌记录来生成画像,先多听几首再来吧 🎵" Do not retry automatically.

Changes

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.

  1. 5d ago First seen · 67 lines · 41 tokens per session scan A 661a5d6cec49

Subscribe to this mod's changes

cwb-profile is a skill published in the GitHub repository jaychempan/coding-with-beat (114 stars, last pushed 2mo ago), licensed MIT. It adds 41 tokens to every session and 621 once invoked, about $0.0002 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-30.