[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6PDYP8WM75SP7WVFGQGAZ17":3,"skill-same:01M6PDYP8WM75SP7WVFGQGAZ17":75},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":48,"install":49,"resources":62},"01M6PDYP8WM75SP7WVFGQGAZ17","session-report",null,"Generate an explorable HTML report of Claude Code session usage (tokens, cache, subagents, skills, expensive prompts) from ~\u002F.claude\u002Fprojects transcripts.","pedrol-cmd\u002Fbrain-drin","pedrol-cmd","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F269090167?v=4","01M6PDG3CXWN1PR3GXREEXK69F","01M6PDG3HHBGEWDJ1STF9Z9ER6",12,"MIT","https:\u002F\u002Fgithub.com\u002Fpedrol-cmd\u002Fbrain-drin\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fdrin-session-report\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[23,24,25,26,27,28,29,30,31,32,33,34,35,36],"report","session report","session","generate","code","cache","projects","html report","subagents","html","prompts","tokens","transcripts","usage","2026-11-10 10:12:30",false,"---\nname: session-report\ndescription: Generate an explorable HTML report of Claude Code session usage (tokens, cache, subagents, skills, expensive prompts) from ~\u002F.claude\u002Fprojects transcripts.\n---\n\n# Session Report\n\nProduce a self-contained HTML report of Claude Code usage and save it to the current working directory.\n\n## Steps\n\n1. **Get data.** Run the bundled analyzer (default window: last 7 days; honor a different range if the user passed one, e.g. `24h`, `30d`, or `all`). The script `analyze-sessions.mjs` lives in the same directory as this SKILL.md — use its absolute path:\n   ```sh\n   node \u003Cskill-dir>\u002Fanalyze-sessions.mjs --json --since 7d > \u002Ftmp\u002Fsession-report.json\n   ```\n   For all-time, omit `--since`.\n\n2. **Read** `\u002Ftmp\u002Fsession-report.json`. Skim `overall`, `by_project`, `by_subagent_type`, `by_skill`, `cache_breaks`, `top_prompts`.\n\n3. **Copy the template** (also bundled alongside this SKILL.md) to the output path in the current working directory:\n   ```sh\n   cp \u003Cskill-dir>\u002Ftemplate.html .\u002Fsession-report-$(date +%Y%m%d-%H%M).html\n   ```\n\n4. **Edit the output file** (use Edit, not Write — preserve the template's JS\u002FCSS):\n   - Replace the contents of `\u003Cscript id=\"report-data\" type=\"application\u002Fjson\">` with the full JSON from step 1. The page's JS renders the hero total, all tables, bars, and drill-downs from this blob automatically.\n   - Fill the `\u003C!-- AGENT: anomalies -->` block with **3–5 one-line findings**. Express figures as a **% of total tokens** wherever possible (total = `overall.input_tokens.total + overall.output_tokens`). One line per finding, exact markup:\n     ```html\n     \u003Cdiv class=\"take bad\">\u003Cdiv class=\"fig\">41.2%\u003C\u002Fdiv>\u003Cdiv class=\"txt\">\u003Cb>cc-monitor\u003C\u002Fb> consumed 41% of the week across just 3 sessions\u003C\u002Fdiv>\u003C\u002Fdiv>\n     ```\n     Classes: `.take bad` for waste\u002Fanomalies (red), `.take good` for healthy signals (green), `.take info` for neutral facts (blue). The `.fig` is one short number (a %, a count, or a multiplier like `12×`). The `.txt` is one plain-English sentence naming the project\u002Fskill\u002Fprompt; wrap the subject in `\u003Cb>`. Look for: a project or skill eating a disproportionate share, cache-hit \u003C85%, a single prompt >2% of total, subagent types averaging >1M tokens\u002Fcall, cache breaks clustering.\n   - Fill the `\u003C!-- AGENT: optimizations -->` block (at the **bottom** of the page) with 1–4 `\u003Cdiv class=\"callout\">` suggestions tied to specific rows (e.g. \"`\u002Fweekly-status` spawned 7 subagents for 8.1% of total — scope it to fewer parallel agents\").\n   - Do not restructure existing sections.\n\n5. **Report** the saved file path to the user. Do not open it or render it.\n\n## Notes\n\n- The template is the source of interactivity (sorting, expand\u002Fcollapse, block-char bars). Your job is data + narrative, not markup.\n- Keep commentary terse and specific — reference actual project names, numbers, timestamps from the JSON.\n- `top_prompts` already includes subagent tokens and rolls task-notification continuations into the originating prompt.\n- If the JSON is >2MB, trim `top_prompts` to 100 entries and `cache_breaks` to 100 before embedding (they should already be capped).\n","# Session Report\n\nProduce a self-contained HTML report of Claude Code usage and save it to the current working directory.\n\n## Steps\n\n1. **Get data.** Run the bundled analyzer (default window: last 7 days; honor a different range if the user passed one, e.g. `24h`, `30d`, or `all`). The script `analyze-sessions.mjs` lives in the same directory as this SKILL.md — use its absolute path:\n   ```sh\n   node \u003Cskill-dir>\u002Fanalyze-sessions.mjs --json --since 7d > \u002Ftmp\u002Fsession-report.json\n   ```\n   For all-time, omit `--since`.\n\n2. **Read** `\u002Ftmp\u002Fsession-report.json`. Skim `overall`, `by_project`, `by_subagent_type`, `by_skill`, `cache_breaks`, `top_prompts`.\n\n3. **Copy the template** (also bundled alongside this SKILL.md) to the output path in the current working directory:\n   ```sh\n   cp \u003Cskill-dir>\u002Ftemplate.html .\u002Fsession-report-$(date +%Y%m%d-%H%M).html\n   ```\n\n4. **Edit the output file** (use Edit, not Write — preserve the template's JS\u002FCSS):\n   - Replace the contents of `\u003Cscript id=\"report-data\" type=\"application\u002Fjson\">` with the full JSON from step 1. The page's JS renders the hero total, all tables, bars, and drill-downs from this blob automatically.\n   - Fill the `\u003C!-- AGENT: anomalies -->` block with **3–5 one-line findings**. Express figures as a **% of total tokens** wherever possible (total = `overall.input_tokens.total + overall.output_tokens`). One line per finding, exact markup:\n     ```html\n     \u003Cdiv class=\"take bad\">\u003Cdiv class=\"fig\">41.2%\u003C\u002Fdiv>\u003Cdiv class=\"txt\">\u003Cb>cc-monitor\u003C\u002Fb> consumed 41% of the week across just 3 sessions\u003C\u002Fdiv>\u003C\u002Fdiv>\n     ```\n     Classes: `.take bad` for waste\u002Fanomalies (red), `.take good` for healthy signals (green), `.take info` for neutral facts (blue). The `.fig` is one short number (a %, a count, or a multiplier like `12×`). The `.txt` is one plain-English sentence naming the project\u002Fskill\u002Fprompt; wrap the subject in `\u003Cb>`. Look for: a project or skill eating a disproportionate share, cache-hit \u003C85%, a single prompt >2% of total, subagent types averaging >1M tokens\u002Fcall, cache breaks clustering.\n   - Fill the `\u003C!-- AGENT: optimizations -->` block (at the **bottom** of the page) with 1–4 `\u003Cdiv class=\"callout\">` suggestions tied to specific rows (e.g. \"`\u002Fweekly-status` spawned 7 subagents for 8.1% of total — scope it to fewer parallel agents\").\n   - Do not restructure existing sections.\n\n5. **Report** the saved file path to the user. Do not open it or render it.\n\n## Notes\n\n- The template is the source of interactivity (sorting, expand\u002Fcollapse, block-char bars). Your job is data + narrative, not markup.\n- Keep commentary terse and specific — reference actual project names, numbers, timestamps from the JSON.\n- `top_prompts` already includes subagent tokens and rolls task-notification continuations into the originating prompt.\n- If the JSON is >2MB, trim `top_prompts` to 100 entries and `cache_breaks` to 100 before embedding (they should already be capped).\n",{"name":5,"description":7},"master","49f9153042a67a088b119042fa3aae8ede872e4d",".claude\u002Fskills\u002Fdrin-session-report",1,"https:\u002F\u002Fgithub.com\u002Fpedrol-cmd\u002Fbrain-drin","https:\u002F\u002Fgithub.com\u002Fpedrol-cmd","2026-04-11 06:42:15",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add pedrol-cmd\u002Fbrain-drin --skill session-report",{"tool":55,"command":56},"bunx","bunx skills add pedrol-cmd\u002Fbrain-drin --skill session-report",{"tool":58,"command":59},"pnpm","pnpm dlx skills add pedrol-cmd\u002Fbrain-drin --skill session-report","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpedrol-cmd\u002Fbrain-drin\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fdrin-session-report\u002FSKILL.md",true,[63,69],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"analyze-sessions.mjs","SCRIPT","脚本",25902,"https:\u002F\u002Fgithub.com\u002Fpedrol-cmd\u002Fbrain-drin\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fdrin-session-report\u002Fanalyze-sessions.mjs",{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"template.html","REFERENCE","参考文档",20386,"https:\u002F\u002Fgithub.com\u002Fpedrol-cmd\u002Fbrain-drin\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fdrin-session-report\u002Ftemplate.html",[76,96,117,138,154,174],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":37},"01M6PE0X17DRJBTK67GGQXAGG9","drin-whatsapp-outbound-engine","Specialized workflow for sales and engagement via WhatsApp, focused on speed and intimacy.","https:\u002F\u002Fgithub.com\u002Fpedrol-cmd\u002Fbrain-drin\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fdrin-whatsapp-outbound-engine\u002FSKILL.md",[],[83,84,85,86,87,88,89,90,91,92,93,94,95],"engine","whatsapp","drin whatsapp outbound engine","outbound","speed","intimacy","for","Production","via","workflow","engagement","sales","specialized",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":107,"publishedAt":37},"01M6PE0NJQNWJATM9B1AJRAV1P","drin-vector-database-sync","Specialized workflow for managing, syncing, and optimizing data in Vector DBs for RAG systems.","https:\u002F\u002Fgithub.com\u002Fpedrol-cmd\u002Fbrain-drin\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fdrin-vector-database-sync\u002FSKILL.md",[102],{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[108,109,110,111,112,92,113,114,115,90,95,116,89],"vector database","drin vector database sync","vector","database","sync","rag","data","dbs","systems",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":126,"publishedAt":37},"01M6PE0JPYMXKG7C382KVQT3RB","drin-ux-interaction-standard","Definition of standards for micro-interactions, animations, and UI feedback states.","https:\u002F\u002Fgithub.com\u002Fpedrol-cmd\u002Fbrain-drin\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fdrin-ux-interaction-standard\u002FSKILL.md",[123],{"categoryNo":124,"categoryName":125,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000032","设计师",[127,128,129,130,131,132,133,134,90,135,136,137,89],"ux","interaction","drin ux interaction standard","standard","animations","ui","definition","micro","feedback","standards","states",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":145,"publishedAt":37},"01M6PE0DP0501D6V3D4062E30K","drin-ux-audit-framework","Heuristic evaluation framework for identifying usability issues in digital products.","https:\u002F\u002Fgithub.com\u002Fpedrol-cmd\u002Fbrain-drin\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fdrin-ux-audit-framework\u002FSKILL.md",[144],{"categoryNo":124,"categoryName":125,"taxonomyType":20,"taxonomyTypeDesc":21},[146,127,147,148,149,150,151,152,90,153,89],"ux audit","framework","audit","drin ux audit framework","evaluation framework","issues","Evaluation","usability",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":163,"publishedAt":37},"01M6PE07XV8WYQCKJM8S9KZ7SE","drin-user-story-generator","Automated generator for well-structured user stories following the INVEST principles.","https:\u002F\u002Fgithub.com\u002Fpedrol-cmd\u002Fbrain-drin\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fdrin-user-story-generator\u002FSKILL.md",[160],{"categoryNo":161,"categoryName":162,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000031","产品经理",[164,165,166,167,168,169,170,90,171,172,173,89],"generator","drin user story generator","Story","user story generator","user","user story","stories","structured","principles","user stories",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":37},"01M6PE01VXR0BN5SBYQRP6AJ5W","drin-user-feedback-synthesizer","Workflow for aggregating and summarizing user feedback from support tickets, social media, and interviews.","https:\u002F\u002Fgithub.com\u002Fpedrol-cmd\u002Fbrain-drin\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fdrin-user-feedback-synthesizer\u002FSKILL.md",[],[135,168,181,182,183,184,90,185,186,187,188,189,89,92],"feedback synthesizer","synthesizer","drin user feedback synthesizer","support","Media","social media","social","tickets","interviews"]