[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-anthropic-tres-report-analyzer":3,"mdc--gh56ch-key":37,"related-repo-anthropic-tres-report-analyzer":1082,"related-org-anthropic-tres-report-analyzer":1186},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"tres-report-analyzer","analyze TRES Finance reports","Analyze any TRES Finance report XLSX and produce an automatic findings summary. Trigger this skill whenever a user uploads a .xlsx file that came from TRES Finance and asks to \"analyze\", \"summarize\", \"review\", \"check\", \"audit\", \"look at\", \"what does this show\", \"any issues\", \"anything interesting\", or \"walk me through\" the report. Also trigger when the user uploads an Excel file and mentions TRES, reconciliation, balances, transactions, cost basis, roll forward, or ERP sync. The skill identifies the report type from the file structure, runs targeted analysis based on report-specific logic, and produces a clear findings summary highlighting anomalies, key metrics, and action items.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"anthropic","Anthropic","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fanthropic.png","anthropics",[13,17,20,23],{"name":14,"slug":15,"type":16},"Finance","finance","tag",{"name":18,"slug":19,"type":16},"Accounting","accounting",{"name":21,"slug":22,"type":16},"Spreadsheets","spreadsheets",{"name":24,"slug":25,"type":16},"Data Analysis","data-analysis",294,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-plugins-community","2026-07-02T07:37:44.182704",null,69,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"Community plugin marketplace for Claude Cowork and Claude Code. Read-only mirror — submit plugins at clau.de\u002Fplugin-directory-submission.","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-plugins-community\u002Ftree\u002FHEAD\u002Ftres-finance-plugin\u002Fskills\u002Ftres-report-analyzer","---\nname: tres-report-analyzer\ndescription: Analyze any TRES Finance report XLSX and produce an automatic findings summary. Trigger this skill whenever a user uploads a .xlsx file that came from TRES Finance and asks to \"analyze\", \"summarize\", \"review\", \"check\", \"audit\", \"look at\", \"what does this show\", \"any issues\", \"anything interesting\", or \"walk me through\" the report. Also trigger when the user uploads an Excel file and mentions TRES, reconciliation, balances, transactions, cost basis, roll forward, or ERP sync. The skill identifies the report type from the file structure, runs targeted analysis based on report-specific logic, and produces a clear findings summary highlighting anomalies, key metrics, and action items.\n---\n\n# TRES Report Analyzer\n\nYou analyze TRES Finance report exports (XLSX files) and produce clear, actionable findings summaries. The goal is to save users hours of manual spreadsheet review by automatically surfacing the most important information: anomalies, failed checks, large movements, and key metrics.\n\n## How it works\n\n1. **Identify the report type** from the uploaded file's tab names and column headers\n2. **Run the analysis script** which performs report-specific checks\n3. **Present findings** in a structured summary with the most important items first\n\n## Step 1: Identify the report type\n\nWhen the user uploads an XLSX file, first identify which TRES report it is. Use the tab names as the primary signal:\n\n| Tab signature | Report type |\n|---|---|\n| `Summary`, `Inventory Reconciliation`, `Running Token Reconciliation`, `Running Fiat Reconciliation`, `Historical Token Reconciliation`, `Historical Fiat Reconciliation`, `Roll Forward Reconciliation` | Ledger Reconciliation |\n| `Summary Per Asset`, `Summary Per Year`, `Summary per Tx Activity`, `raw_data` (with Realized Gain column) | Realized Gains & Losses |\n| `By Asset`, `By Wallet`, `By Platform`, `By Position`, `Cost Basis`, `raw_data` (with Previous Amount column) | Balance Trends |\n| `By Asset`, `By Wallet`, `By Platform`, `By Position`, `Cost Basis`, `raw_data` (without Previous Amount) | Asset Balances |\n| `By Asset`, `By Wallet`, `By Platform`, `By Position`, `Cost Basis`, `raw_data` (with Historical Balance columns, Time Capsule enabled) | Historical Balance Format |\n| `Asset Balances - PT`, `Cost Basis`, `raw_data` | Asset Balances V2 |\n| `Fiat Value Summary`, `Amount Summary By Application`, `Amount Summary`, `raw_data` | Asset Balances - Archives |\n| `Overview`, `raw_data` (with Safety Check column) | Asset Roll Forward |\n| `Summary`, `Inventory Reconciliation`, `raw_data` (with Cost Basis columns, ~29 cols) | Cost Basis Roll Forward |\n| `Chart of Accounts Summary`, `raw_data` (with Configuration Status) | ERP Pre-Sync |\n| Single `raw_data` tab with COGS Lot columns | Cost Breakdown |\n| Single `raw_data` tab with Rollup Parent TX Hash | Rollup Breakdown |\n| Single `raw_data` tab with ~8 columns including Sync Status | ERP Post-Sync |\n| Single `raw_data` tab with Price Source column | Asset Fiat Values |\n| Single `raw_data` tab with Purchase Date, Remaining Quantity | Cost Basis Stack |\n| Single `raw_data` tab with Sub TX Index, Is Taxable | Cost Basis Inventory |\n| Single `raw_data` tab with wallet registry columns | Organization Wallets |\n| Single `raw_data` tab with basic tx columns | Transaction Ledger |\n\nIf you cannot identify the report type, tell the user and ask them to confirm which report it is.\n\n## Step 2: Run the analysis\n\nUse the Python script at `scripts\u002Fanalyze_report.py` to extract data from the XLSX file. Run it like this:\n\n```bash\npython \u002Fpath\u002Fto\u002Fskill\u002Fscripts\u002Fanalyze_report.py \"\u002Fpath\u002Fto\u002Fuploaded\u002Ffile.xlsx\" --output \u002Fpath\u002Fto\u002Foutput.json\n```\n\nThe script outputs a JSON file with extracted metrics. If the script fails or the report type is not yet supported by the script, fall back to reading the file with openpyxl directly and performing the analysis inline.\n\n### What to analyze per report type\n\nRead `references\u002Fanalysis-playbook.md` for the detailed analysis checklist for each report type. The general pattern is:\n\n**For reconciliation reports** (Ledger Reconciliation, Asset Roll Forward, Cost Basis Roll Forward):\n- Check columns: how many pass vs. fail?\n- Which assets\u002Fwallets have the largest discrepancies?\n- What is the total slippage or gap amount?\n- Are there patterns (same wallet, same asset, same platform)?\n\n**For balance reports** (Asset Balances, Historical Balance Format, V2, Archives, Balance Trends):\n- Total portfolio value\n- Top holdings by fiat value\n- Any zero-balance or negative-balance entries?\n- For Balance Trends: largest movers (biggest absolute change)\n- Unverified tokens or missing prices\n\n**For transaction reports** (Transaction Ledger, Realized Gains & Losses, Cost Breakdown):\n- Total transaction count and date range\n- Largest transactions by fiat value\n- Total realized gains\u002Flosses (if applicable)\n- Classification breakdown (how many of each type)\n- Any unclassified transactions?\n\n**For cost basis reports** (Cost Basis Stack, Cost Basis Inventory, Cost Basis Roll Forward):\n- Total cost basis and unrealized gains\n- Lots with largest unrealized losses (tax-loss harvesting candidates)\n- Age of lots (any very old lots?)\n- Impairment amounts if applicable\n\n**For ERP reports** (Pre-Sync, Post-Sync):\n- Configuration status breakdown (how many ready vs. misconfigured)\n- Missing account mappings\n- Failed syncs and error patterns\n- Debit\u002Fcredit balance check\n\n## Step 3: Present findings\n\nStructure your response as follows. Keep it concise -- the user wants insights, not a data dump.\n\n### Format\n\nStart with a one-line identification of what the report is and the period it covers.\n\nThen present findings in order of importance:\n\n1. **Red flags** (if any): failed checks, large discrepancies, missing data, failed syncs\n2. **Key metrics**: total value, count, gains\u002Flosses -- the headline numbers\n3. **Notable items**: largest transactions, top holdings, biggest movers -- things worth knowing\n4. **Action items** (if any): specific things the user should investigate or fix\n\nEnd with a brief note about what the user can ask as a follow-up (e.g. \"I can drill into any specific asset or wallet if you want a closer look\").\n\n### Style rules\n\n- Use actual numbers from the data, not vague descriptions\n- Round large numbers sensibly ($1,234,567.89 -> $1.23M)\n- No em-dashes or en-dashes (use -- instead)\n- Keep the total response under 500 words unless the user asks for more detail\n- If there are many findings, prioritize the top 5 and mention \"N more items\" the user can ask about\n",{"data":38,"body":39},{"name":4,"description":6},{"type":40,"children":41},"root",[42,50,56,63,99,105,110,687,692,698,711,766,771,778,791,801,825,835,863,873,901,911,934,944,967,973,978,984,989,994,1037,1042,1048,1076],{"type":43,"tag":44,"props":45,"children":46},"element","h1",{"id":4},[47],{"type":48,"value":49},"text","TRES Report Analyzer",{"type":43,"tag":51,"props":52,"children":53},"p",{},[54],{"type":48,"value":55},"You analyze TRES Finance report exports (XLSX files) and produce clear, actionable findings summaries. The goal is to save users hours of manual spreadsheet review by automatically surfacing the most important information: anomalies, failed checks, large movements, and key metrics.",{"type":43,"tag":57,"props":58,"children":60},"h2",{"id":59},"how-it-works",[61],{"type":48,"value":62},"How it works",{"type":43,"tag":64,"props":65,"children":66},"ol",{},[67,79,89],{"type":43,"tag":68,"props":69,"children":70},"li",{},[71,77],{"type":43,"tag":72,"props":73,"children":74},"strong",{},[75],{"type":48,"value":76},"Identify the report type",{"type":48,"value":78}," from the uploaded file's tab names and column headers",{"type":43,"tag":68,"props":80,"children":81},{},[82,87],{"type":43,"tag":72,"props":83,"children":84},{},[85],{"type":48,"value":86},"Run the analysis script",{"type":48,"value":88}," which performs report-specific checks",{"type":43,"tag":68,"props":90,"children":91},{},[92,97],{"type":43,"tag":72,"props":93,"children":94},{},[95],{"type":48,"value":96},"Present findings",{"type":48,"value":98}," in a structured summary with the most important items first",{"type":43,"tag":57,"props":100,"children":102},{"id":101},"step-1-identify-the-report-type",[103],{"type":48,"value":104},"Step 1: Identify the report type",{"type":43,"tag":51,"props":106,"children":107},{},[108],{"type":48,"value":109},"When the user uploads an XLSX file, first identify which TRES report it is. Use the tab names as the primary signal:",{"type":43,"tag":111,"props":112,"children":113},"table",{},[114,133],{"type":43,"tag":115,"props":116,"children":117},"thead",{},[118],{"type":43,"tag":119,"props":120,"children":121},"tr",{},[122,128],{"type":43,"tag":123,"props":124,"children":125},"th",{},[126],{"type":48,"value":127},"Tab signature",{"type":43,"tag":123,"props":129,"children":130},{},[131],{"type":48,"value":132},"Report type",{"type":43,"tag":134,"props":135,"children":136},"tbody",{},[137,199,239,292,340,388,417,454,479,509,534,554,573,592,611,630,649,668],{"type":43,"tag":119,"props":138,"children":139},{},[140,194],{"type":43,"tag":141,"props":142,"children":143},"td",{},[144,151,153,159,160,166,167,173,174,180,181,187,188],{"type":43,"tag":145,"props":146,"children":148},"code",{"className":147},[],[149],{"type":48,"value":150},"Summary",{"type":48,"value":152},", ",{"type":43,"tag":145,"props":154,"children":156},{"className":155},[],[157],{"type":48,"value":158},"Inventory Reconciliation",{"type":48,"value":152},{"type":43,"tag":145,"props":161,"children":163},{"className":162},[],[164],{"type":48,"value":165},"Running Token Reconciliation",{"type":48,"value":152},{"type":43,"tag":145,"props":168,"children":170},{"className":169},[],[171],{"type":48,"value":172},"Running Fiat Reconciliation",{"type":48,"value":152},{"type":43,"tag":145,"props":175,"children":177},{"className":176},[],[178],{"type":48,"value":179},"Historical Token Reconciliation",{"type":48,"value":152},{"type":43,"tag":145,"props":182,"children":184},{"className":183},[],[185],{"type":48,"value":186},"Historical Fiat Reconciliation",{"type":48,"value":152},{"type":43,"tag":145,"props":189,"children":191},{"className":190},[],[192],{"type":48,"value":193},"Roll Forward Reconciliation",{"type":43,"tag":141,"props":195,"children":196},{},[197],{"type":48,"value":198},"Ledger Reconciliation",{"type":43,"tag":119,"props":200,"children":201},{},[202,234],{"type":43,"tag":141,"props":203,"children":204},{},[205,211,212,218,219,225,226,232],{"type":43,"tag":145,"props":206,"children":208},{"className":207},[],[209],{"type":48,"value":210},"Summary Per Asset",{"type":48,"value":152},{"type":43,"tag":145,"props":213,"children":215},{"className":214},[],[216],{"type":48,"value":217},"Summary Per Year",{"type":48,"value":152},{"type":43,"tag":145,"props":220,"children":222},{"className":221},[],[223],{"type":48,"value":224},"Summary per Tx Activity",{"type":48,"value":152},{"type":43,"tag":145,"props":227,"children":229},{"className":228},[],[230],{"type":48,"value":231},"raw_data",{"type":48,"value":233}," (with Realized Gain column)",{"type":43,"tag":141,"props":235,"children":236},{},[237],{"type":48,"value":238},"Realized Gains & Losses",{"type":43,"tag":119,"props":240,"children":241},{},[242,287],{"type":43,"tag":141,"props":243,"children":244},{},[245,251,252,258,259,265,266,272,273,279,280,285],{"type":43,"tag":145,"props":246,"children":248},{"className":247},[],[249],{"type":48,"value":250},"By Asset",{"type":48,"value":152},{"type":43,"tag":145,"props":253,"children":255},{"className":254},[],[256],{"type":48,"value":257},"By Wallet",{"type":48,"value":152},{"type":43,"tag":145,"props":260,"children":262},{"className":261},[],[263],{"type":48,"value":264},"By Platform",{"type":48,"value":152},{"type":43,"tag":145,"props":267,"children":269},{"className":268},[],[270],{"type":48,"value":271},"By Position",{"type":48,"value":152},{"type":43,"tag":145,"props":274,"children":276},{"className":275},[],[277],{"type":48,"value":278},"Cost Basis",{"type":48,"value":152},{"type":43,"tag":145,"props":281,"children":283},{"className":282},[],[284],{"type":48,"value":231},{"type":48,"value":286}," (with Previous Amount column)",{"type":43,"tag":141,"props":288,"children":289},{},[290],{"type":48,"value":291},"Balance Trends",{"type":43,"tag":119,"props":293,"children":294},{},[295,335],{"type":43,"tag":141,"props":296,"children":297},{},[298,303,304,309,310,315,316,321,322,327,328,333],{"type":43,"tag":145,"props":299,"children":301},{"className":300},[],[302],{"type":48,"value":250},{"type":48,"value":152},{"type":43,"tag":145,"props":305,"children":307},{"className":306},[],[308],{"type":48,"value":257},{"type":48,"value":152},{"type":43,"tag":145,"props":311,"children":313},{"className":312},[],[314],{"type":48,"value":264},{"type":48,"value":152},{"type":43,"tag":145,"props":317,"children":319},{"className":318},[],[320],{"type":48,"value":271},{"type":48,"value":152},{"type":43,"tag":145,"props":323,"children":325},{"className":324},[],[326],{"type":48,"value":278},{"type":48,"value":152},{"type":43,"tag":145,"props":329,"children":331},{"className":330},[],[332],{"type":48,"value":231},{"type":48,"value":334}," (without Previous Amount)",{"type":43,"tag":141,"props":336,"children":337},{},[338],{"type":48,"value":339},"Asset Balances",{"type":43,"tag":119,"props":341,"children":342},{},[343,383],{"type":43,"tag":141,"props":344,"children":345},{},[346,351,352,357,358,363,364,369,370,375,376,381],{"type":43,"tag":145,"props":347,"children":349},{"className":348},[],[350],{"type":48,"value":250},{"type":48,"value":152},{"type":43,"tag":145,"props":353,"children":355},{"className":354},[],[356],{"type":48,"value":257},{"type":48,"value":152},{"type":43,"tag":145,"props":359,"children":361},{"className":360},[],[362],{"type":48,"value":264},{"type":48,"value":152},{"type":43,"tag":145,"props":365,"children":367},{"className":366},[],[368],{"type":48,"value":271},{"type":48,"value":152},{"type":43,"tag":145,"props":371,"children":373},{"className":372},[],[374],{"type":48,"value":278},{"type":48,"value":152},{"type":43,"tag":145,"props":377,"children":379},{"className":378},[],[380],{"type":48,"value":231},{"type":48,"value":382}," (with Historical Balance columns, Time Capsule enabled)",{"type":43,"tag":141,"props":384,"children":385},{},[386],{"type":48,"value":387},"Historical Balance Format",{"type":43,"tag":119,"props":389,"children":390},{},[391,412],{"type":43,"tag":141,"props":392,"children":393},{},[394,400,401,406,407],{"type":43,"tag":145,"props":395,"children":397},{"className":396},[],[398],{"type":48,"value":399},"Asset Balances - PT",{"type":48,"value":152},{"type":43,"tag":145,"props":402,"children":404},{"className":403},[],[405],{"type":48,"value":278},{"type":48,"value":152},{"type":43,"tag":145,"props":408,"children":410},{"className":409},[],[411],{"type":48,"value":231},{"type":43,"tag":141,"props":413,"children":414},{},[415],{"type":48,"value":416},"Asset Balances V2",{"type":43,"tag":119,"props":418,"children":419},{},[420,449],{"type":43,"tag":141,"props":421,"children":422},{},[423,429,430,436,437,443,444],{"type":43,"tag":145,"props":424,"children":426},{"className":425},[],[427],{"type":48,"value":428},"Fiat Value Summary",{"type":48,"value":152},{"type":43,"tag":145,"props":431,"children":433},{"className":432},[],[434],{"type":48,"value":435},"Amount Summary By Application",{"type":48,"value":152},{"type":43,"tag":145,"props":438,"children":440},{"className":439},[],[441],{"type":48,"value":442},"Amount Summary",{"type":48,"value":152},{"type":43,"tag":145,"props":445,"children":447},{"className":446},[],[448],{"type":48,"value":231},{"type":43,"tag":141,"props":450,"children":451},{},[452],{"type":48,"value":453},"Asset Balances - Archives",{"type":43,"tag":119,"props":455,"children":456},{},[457,474],{"type":43,"tag":141,"props":458,"children":459},{},[460,466,467,472],{"type":43,"tag":145,"props":461,"children":463},{"className":462},[],[464],{"type":48,"value":465},"Overview",{"type":48,"value":152},{"type":43,"tag":145,"props":468,"children":470},{"className":469},[],[471],{"type":48,"value":231},{"type":48,"value":473}," (with Safety Check column)",{"type":43,"tag":141,"props":475,"children":476},{},[477],{"type":48,"value":478},"Asset Roll Forward",{"type":43,"tag":119,"props":480,"children":481},{},[482,504],{"type":43,"tag":141,"props":483,"children":484},{},[485,490,491,496,497,502],{"type":43,"tag":145,"props":486,"children":488},{"className":487},[],[489],{"type":48,"value":150},{"type":48,"value":152},{"type":43,"tag":145,"props":492,"children":494},{"className":493},[],[495],{"type":48,"value":158},{"type":48,"value":152},{"type":43,"tag":145,"props":498,"children":500},{"className":499},[],[501],{"type":48,"value":231},{"type":48,"value":503}," (with Cost Basis columns, ~29 cols)",{"type":43,"tag":141,"props":505,"children":506},{},[507],{"type":48,"value":508},"Cost Basis Roll Forward",{"type":43,"tag":119,"props":510,"children":511},{},[512,529],{"type":43,"tag":141,"props":513,"children":514},{},[515,521,522,527],{"type":43,"tag":145,"props":516,"children":518},{"className":517},[],[519],{"type":48,"value":520},"Chart of Accounts Summary",{"type":48,"value":152},{"type":43,"tag":145,"props":523,"children":525},{"className":524},[],[526],{"type":48,"value":231},{"type":48,"value":528}," (with Configuration Status)",{"type":43,"tag":141,"props":530,"children":531},{},[532],{"type":48,"value":533},"ERP Pre-Sync",{"type":43,"tag":119,"props":535,"children":536},{},[537,549],{"type":43,"tag":141,"props":538,"children":539},{},[540,542,547],{"type":48,"value":541},"Single ",{"type":43,"tag":145,"props":543,"children":545},{"className":544},[],[546],{"type":48,"value":231},{"type":48,"value":548}," tab with COGS Lot columns",{"type":43,"tag":141,"props":550,"children":551},{},[552],{"type":48,"value":553},"Cost Breakdown",{"type":43,"tag":119,"props":555,"children":556},{},[557,568],{"type":43,"tag":141,"props":558,"children":559},{},[560,561,566],{"type":48,"value":541},{"type":43,"tag":145,"props":562,"children":564},{"className":563},[],[565],{"type":48,"value":231},{"type":48,"value":567}," tab with Rollup Parent TX Hash",{"type":43,"tag":141,"props":569,"children":570},{},[571],{"type":48,"value":572},"Rollup Breakdown",{"type":43,"tag":119,"props":574,"children":575},{},[576,587],{"type":43,"tag":141,"props":577,"children":578},{},[579,580,585],{"type":48,"value":541},{"type":43,"tag":145,"props":581,"children":583},{"className":582},[],[584],{"type":48,"value":231},{"type":48,"value":586}," tab with ~8 columns including Sync Status",{"type":43,"tag":141,"props":588,"children":589},{},[590],{"type":48,"value":591},"ERP Post-Sync",{"type":43,"tag":119,"props":593,"children":594},{},[595,606],{"type":43,"tag":141,"props":596,"children":597},{},[598,599,604],{"type":48,"value":541},{"type":43,"tag":145,"props":600,"children":602},{"className":601},[],[603],{"type":48,"value":231},{"type":48,"value":605}," tab with Price Source column",{"type":43,"tag":141,"props":607,"children":608},{},[609],{"type":48,"value":610},"Asset Fiat Values",{"type":43,"tag":119,"props":612,"children":613},{},[614,625],{"type":43,"tag":141,"props":615,"children":616},{},[617,618,623],{"type":48,"value":541},{"type":43,"tag":145,"props":619,"children":621},{"className":620},[],[622],{"type":48,"value":231},{"type":48,"value":624}," tab with Purchase Date, Remaining Quantity",{"type":43,"tag":141,"props":626,"children":627},{},[628],{"type":48,"value":629},"Cost Basis Stack",{"type":43,"tag":119,"props":631,"children":632},{},[633,644],{"type":43,"tag":141,"props":634,"children":635},{},[636,637,642],{"type":48,"value":541},{"type":43,"tag":145,"props":638,"children":640},{"className":639},[],[641],{"type":48,"value":231},{"type":48,"value":643}," tab with Sub TX Index, Is Taxable",{"type":43,"tag":141,"props":645,"children":646},{},[647],{"type":48,"value":648},"Cost Basis Inventory",{"type":43,"tag":119,"props":650,"children":651},{},[652,663],{"type":43,"tag":141,"props":653,"children":654},{},[655,656,661],{"type":48,"value":541},{"type":43,"tag":145,"props":657,"children":659},{"className":658},[],[660],{"type":48,"value":231},{"type":48,"value":662}," tab with wallet registry columns",{"type":43,"tag":141,"props":664,"children":665},{},[666],{"type":48,"value":667},"Organization Wallets",{"type":43,"tag":119,"props":669,"children":670},{},[671,682],{"type":43,"tag":141,"props":672,"children":673},{},[674,675,680],{"type":48,"value":541},{"type":43,"tag":145,"props":676,"children":678},{"className":677},[],[679],{"type":48,"value":231},{"type":48,"value":681}," tab with basic tx columns",{"type":43,"tag":141,"props":683,"children":684},{},[685],{"type":48,"value":686},"Transaction Ledger",{"type":43,"tag":51,"props":688,"children":689},{},[690],{"type":48,"value":691},"If you cannot identify the report type, tell the user and ask them to confirm which report it is.",{"type":43,"tag":57,"props":693,"children":695},{"id":694},"step-2-run-the-analysis",[696],{"type":48,"value":697},"Step 2: Run the analysis",{"type":43,"tag":51,"props":699,"children":700},{},[701,703,709],{"type":48,"value":702},"Use the Python script at ",{"type":43,"tag":145,"props":704,"children":706},{"className":705},[],[707],{"type":48,"value":708},"scripts\u002Fanalyze_report.py",{"type":48,"value":710}," to extract data from the XLSX file. Run it like this:",{"type":43,"tag":712,"props":713,"children":718},"pre",{"className":714,"code":715,"language":716,"meta":717,"style":717},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","python \u002Fpath\u002Fto\u002Fskill\u002Fscripts\u002Fanalyze_report.py \"\u002Fpath\u002Fto\u002Fuploaded\u002Ffile.xlsx\" --output \u002Fpath\u002Fto\u002Foutput.json\n","bash","",[719],{"type":43,"tag":145,"props":720,"children":721},{"__ignoreMap":717},[722],{"type":43,"tag":723,"props":724,"children":727},"span",{"class":725,"line":726},"line",1,[728,734,740,746,751,756,761],{"type":43,"tag":723,"props":729,"children":731},{"style":730},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[732],{"type":48,"value":733},"python",{"type":43,"tag":723,"props":735,"children":737},{"style":736},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[738],{"type":48,"value":739}," \u002Fpath\u002Fto\u002Fskill\u002Fscripts\u002Fanalyze_report.py",{"type":43,"tag":723,"props":741,"children":743},{"style":742},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[744],{"type":48,"value":745}," \"",{"type":43,"tag":723,"props":747,"children":748},{"style":736},[749],{"type":48,"value":750},"\u002Fpath\u002Fto\u002Fuploaded\u002Ffile.xlsx",{"type":43,"tag":723,"props":752,"children":753},{"style":742},[754],{"type":48,"value":755},"\"",{"type":43,"tag":723,"props":757,"children":758},{"style":736},[759],{"type":48,"value":760}," --output",{"type":43,"tag":723,"props":762,"children":763},{"style":736},[764],{"type":48,"value":765}," \u002Fpath\u002Fto\u002Foutput.json\n",{"type":43,"tag":51,"props":767,"children":768},{},[769],{"type":48,"value":770},"The script outputs a JSON file with extracted metrics. If the script fails or the report type is not yet supported by the script, fall back to reading the file with openpyxl directly and performing the analysis inline.",{"type":43,"tag":772,"props":773,"children":775},"h3",{"id":774},"what-to-analyze-per-report-type",[776],{"type":48,"value":777},"What to analyze per report type",{"type":43,"tag":51,"props":779,"children":780},{},[781,783,789],{"type":48,"value":782},"Read ",{"type":43,"tag":145,"props":784,"children":786},{"className":785},[],[787],{"type":48,"value":788},"references\u002Fanalysis-playbook.md",{"type":48,"value":790}," for the detailed analysis checklist for each report type. The general pattern is:",{"type":43,"tag":51,"props":792,"children":793},{},[794,799],{"type":43,"tag":72,"props":795,"children":796},{},[797],{"type":48,"value":798},"For reconciliation reports",{"type":48,"value":800}," (Ledger Reconciliation, Asset Roll Forward, Cost Basis Roll Forward):",{"type":43,"tag":802,"props":803,"children":804},"ul",{},[805,810,815,820],{"type":43,"tag":68,"props":806,"children":807},{},[808],{"type":48,"value":809},"Check columns: how many pass vs. fail?",{"type":43,"tag":68,"props":811,"children":812},{},[813],{"type":48,"value":814},"Which assets\u002Fwallets have the largest discrepancies?",{"type":43,"tag":68,"props":816,"children":817},{},[818],{"type":48,"value":819},"What is the total slippage or gap amount?",{"type":43,"tag":68,"props":821,"children":822},{},[823],{"type":48,"value":824},"Are there patterns (same wallet, same asset, same platform)?",{"type":43,"tag":51,"props":826,"children":827},{},[828,833],{"type":43,"tag":72,"props":829,"children":830},{},[831],{"type":48,"value":832},"For balance reports",{"type":48,"value":834}," (Asset Balances, Historical Balance Format, V2, Archives, Balance Trends):",{"type":43,"tag":802,"props":836,"children":837},{},[838,843,848,853,858],{"type":43,"tag":68,"props":839,"children":840},{},[841],{"type":48,"value":842},"Total portfolio value",{"type":43,"tag":68,"props":844,"children":845},{},[846],{"type":48,"value":847},"Top holdings by fiat value",{"type":43,"tag":68,"props":849,"children":850},{},[851],{"type":48,"value":852},"Any zero-balance or negative-balance entries?",{"type":43,"tag":68,"props":854,"children":855},{},[856],{"type":48,"value":857},"For Balance Trends: largest movers (biggest absolute change)",{"type":43,"tag":68,"props":859,"children":860},{},[861],{"type":48,"value":862},"Unverified tokens or missing prices",{"type":43,"tag":51,"props":864,"children":865},{},[866,871],{"type":43,"tag":72,"props":867,"children":868},{},[869],{"type":48,"value":870},"For transaction reports",{"type":48,"value":872}," (Transaction Ledger, Realized Gains & Losses, Cost Breakdown):",{"type":43,"tag":802,"props":874,"children":875},{},[876,881,886,891,896],{"type":43,"tag":68,"props":877,"children":878},{},[879],{"type":48,"value":880},"Total transaction count and date range",{"type":43,"tag":68,"props":882,"children":883},{},[884],{"type":48,"value":885},"Largest transactions by fiat value",{"type":43,"tag":68,"props":887,"children":888},{},[889],{"type":48,"value":890},"Total realized gains\u002Flosses (if applicable)",{"type":43,"tag":68,"props":892,"children":893},{},[894],{"type":48,"value":895},"Classification breakdown (how many of each type)",{"type":43,"tag":68,"props":897,"children":898},{},[899],{"type":48,"value":900},"Any unclassified transactions?",{"type":43,"tag":51,"props":902,"children":903},{},[904,909],{"type":43,"tag":72,"props":905,"children":906},{},[907],{"type":48,"value":908},"For cost basis reports",{"type":48,"value":910}," (Cost Basis Stack, Cost Basis Inventory, Cost Basis Roll Forward):",{"type":43,"tag":802,"props":912,"children":913},{},[914,919,924,929],{"type":43,"tag":68,"props":915,"children":916},{},[917],{"type":48,"value":918},"Total cost basis and unrealized gains",{"type":43,"tag":68,"props":920,"children":921},{},[922],{"type":48,"value":923},"Lots with largest unrealized losses (tax-loss harvesting candidates)",{"type":43,"tag":68,"props":925,"children":926},{},[927],{"type":48,"value":928},"Age of lots (any very old lots?)",{"type":43,"tag":68,"props":930,"children":931},{},[932],{"type":48,"value":933},"Impairment amounts if applicable",{"type":43,"tag":51,"props":935,"children":936},{},[937,942],{"type":43,"tag":72,"props":938,"children":939},{},[940],{"type":48,"value":941},"For ERP reports",{"type":48,"value":943}," (Pre-Sync, Post-Sync):",{"type":43,"tag":802,"props":945,"children":946},{},[947,952,957,962],{"type":43,"tag":68,"props":948,"children":949},{},[950],{"type":48,"value":951},"Configuration status breakdown (how many ready vs. misconfigured)",{"type":43,"tag":68,"props":953,"children":954},{},[955],{"type":48,"value":956},"Missing account mappings",{"type":43,"tag":68,"props":958,"children":959},{},[960],{"type":48,"value":961},"Failed syncs and error patterns",{"type":43,"tag":68,"props":963,"children":964},{},[965],{"type":48,"value":966},"Debit\u002Fcredit balance check",{"type":43,"tag":57,"props":968,"children":970},{"id":969},"step-3-present-findings",[971],{"type":48,"value":972},"Step 3: Present findings",{"type":43,"tag":51,"props":974,"children":975},{},[976],{"type":48,"value":977},"Structure your response as follows. Keep it concise -- the user wants insights, not a data dump.",{"type":43,"tag":772,"props":979,"children":981},{"id":980},"format",[982],{"type":48,"value":983},"Format",{"type":43,"tag":51,"props":985,"children":986},{},[987],{"type":48,"value":988},"Start with a one-line identification of what the report is and the period it covers.",{"type":43,"tag":51,"props":990,"children":991},{},[992],{"type":48,"value":993},"Then present findings in order of importance:",{"type":43,"tag":64,"props":995,"children":996},{},[997,1007,1017,1027],{"type":43,"tag":68,"props":998,"children":999},{},[1000,1005],{"type":43,"tag":72,"props":1001,"children":1002},{},[1003],{"type":48,"value":1004},"Red flags",{"type":48,"value":1006}," (if any): failed checks, large discrepancies, missing data, failed syncs",{"type":43,"tag":68,"props":1008,"children":1009},{},[1010,1015],{"type":43,"tag":72,"props":1011,"children":1012},{},[1013],{"type":48,"value":1014},"Key metrics",{"type":48,"value":1016},": total value, count, gains\u002Flosses -- the headline numbers",{"type":43,"tag":68,"props":1018,"children":1019},{},[1020,1025],{"type":43,"tag":72,"props":1021,"children":1022},{},[1023],{"type":48,"value":1024},"Notable items",{"type":48,"value":1026},": largest transactions, top holdings, biggest movers -- things worth knowing",{"type":43,"tag":68,"props":1028,"children":1029},{},[1030,1035],{"type":43,"tag":72,"props":1031,"children":1032},{},[1033],{"type":48,"value":1034},"Action items",{"type":48,"value":1036}," (if any): specific things the user should investigate or fix",{"type":43,"tag":51,"props":1038,"children":1039},{},[1040],{"type":48,"value":1041},"End with a brief note about what the user can ask as a follow-up (e.g. \"I can drill into any specific asset or wallet if you want a closer look\").",{"type":43,"tag":772,"props":1043,"children":1045},{"id":1044},"style-rules",[1046],{"type":48,"value":1047},"Style rules",{"type":43,"tag":802,"props":1049,"children":1050},{},[1051,1056,1061,1066,1071],{"type":43,"tag":68,"props":1052,"children":1053},{},[1054],{"type":48,"value":1055},"Use actual numbers from the data, not vague descriptions",{"type":43,"tag":68,"props":1057,"children":1058},{},[1059],{"type":48,"value":1060},"Round large numbers sensibly ($1,234,567.89 -> $1.23M)",{"type":43,"tag":68,"props":1062,"children":1063},{},[1064],{"type":48,"value":1065},"No em-dashes or en-dashes (use -- instead)",{"type":43,"tag":68,"props":1067,"children":1068},{},[1069],{"type":48,"value":1070},"Keep the total response under 500 words unless the user asks for more detail",{"type":43,"tag":68,"props":1072,"children":1073},{},[1074],{"type":48,"value":1075},"If there are many findings, prioritize the top 5 and mention \"N more items\" the user can ask about",{"type":43,"tag":1077,"props":1078,"children":1079},"style",{},[1080],{"type":48,"value":1081},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1083,"total":1185},[1084,1103,1122,1136,1148,1160,1172],{"slug":1085,"name":1085,"fn":1086,"description":1087,"org":1088,"tags":1089,"stars":26,"repoUrl":27,"updatedAt":1102},"quickdesign","generate AI media assets","Use the `quickdesign` CLI to generate AI media — UGC promo videos, image edits, product creatives, video upscales — through Seedance, Kling, Sora2, Nano Banana, and GPT Image. Invoke this skill whenever the user asks for a talking-avatar video, multi-segment ad \u002F promo \u002F explainer, image edit (object swap, angle change, state change), product photoshoot, or video upscale via QuickDesign.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1090,1093,1096,1099],{"name":1091,"slug":1092,"type":16},"Creative","creative",{"name":1094,"slug":1095,"type":16},"Image Generation","image-generation",{"name":1097,"slug":1098,"type":16},"Marketing","marketing",{"name":1100,"slug":1101,"type":16},"Video","video","2026-07-01T08:09:32.316182",{"slug":1104,"name":1104,"fn":1105,"description":1106,"org":1107,"tags":1108,"stars":26,"repoUrl":27,"updatedAt":1121},"testdino-audit","audit Playwright test code","Use only when the user explicitly asks for a TestDino audit of Playwright automated test code. Routes through the audit tools the TestDino MCP server exposes (get_audit_report + submit_audit_report, or the legacy test_audit). For generic code review or non-Playwright targets, do a normal review instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1109,1112,1115,1118],{"name":1110,"slug":1111,"type":16},"Audit","audit",{"name":1113,"slug":1114,"type":16},"Code Analysis","code-analysis",{"name":1116,"slug":1117,"type":16},"Playwright","playwright",{"name":1119,"slug":1120,"type":16},"Testing","testing","2026-07-02T07:37:17.341081",{"slug":1123,"name":1123,"fn":1124,"description":1125,"org":1126,"tags":1127,"stars":26,"repoUrl":27,"updatedAt":1135},"testdino-health","manage TestDino connection status","Use when the user wants to check TestDino connection status, validate their PAT, discover available organizations and projects, or find the right projectId. Always call this first when the project context is ambiguous before any other TestDino tool.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1128,1131,1134],{"name":1129,"slug":1130,"type":16},"Monitoring","monitoring",{"name":1132,"slug":1133,"type":16},"QA","qa",{"name":1119,"slug":1120,"type":16},"2026-07-02T07:37:18.566504",{"slug":1137,"name":1137,"fn":1138,"description":1139,"org":1140,"tags":1141,"stars":26,"repoUrl":27,"updatedAt":1147},"testdino-manual-runs","manage manual QA execution runs in TestDino","Use when the user wants to manage a manual execution run or update case-level results inside a run — listing runs, creating runs for a release, inspecting a run, assigning cases, or marking case results (passed\u002Ffailed\u002Fblocked\u002Fskipped\u002Fretest\u002Funtested). Accepts counter-style IDs like RUN-12 and TC-156.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1142,1145,1146],{"name":1143,"slug":1144,"type":16},"Operations","operations",{"name":1132,"slug":1133,"type":16},{"name":1119,"slug":1120,"type":16},"2026-07-02T07:37:23.446065",{"slug":1149,"name":1149,"fn":1150,"description":1151,"org":1152,"tags":1153,"stars":26,"repoUrl":27,"updatedAt":1159},"testdino-manual-tests","manage manual QA test cases in TestDino","Use when the user wants to create, update, or browse manual QA test cases and suites in TestDino — not execution runs. Covers list_manual_test_suites, list_manual_test_cases, get_manual_test_case, create_manual_test_case, update_manual_test_case, create_manual_test_suite.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1154,1157,1158],{"name":1155,"slug":1156,"type":16},"Documentation","documentation",{"name":1132,"slug":1133,"type":16},{"name":1119,"slug":1120,"type":16},"2026-07-02T07:37:22.247052",{"slug":1161,"name":1161,"fn":1162,"description":1163,"org":1164,"tags":1165,"stars":26,"repoUrl":27,"updatedAt":1171},"testdino-releases","manage TestDino releases and milestones","Use when the user wants to browse, inspect, create, or update releases\u002Fmilestones in a TestDino project. Covers list_releases, get_release, create_release, and update_release. Accepts counter-style IDs like MS-12.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1166,1169,1170],{"name":1167,"slug":1168,"type":16},"Project Management","project-management",{"name":1132,"slug":1133,"type":16},{"name":1119,"slug":1120,"type":16},"2026-07-02T07:37:19.793846",{"slug":1173,"name":1173,"fn":1174,"description":1175,"org":1176,"tags":1177,"stars":26,"repoUrl":27,"updatedAt":1184},"testdino-runs","inspect automated test runs","Use when the user wants to inspect automated test runs, list failed or flaky tests, debug a failing testcase with historical context, or filter runs by branch, commit, author, environment, browser, status, or tags. Includes list_testruns, get_run_details, list_testcase, get_testcase_details, and debug_testcase.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1178,1181,1182,1183],{"name":1179,"slug":1180,"type":16},"Debugging","debugging",{"name":1116,"slug":1117,"type":16},{"name":1132,"slug":1133,"type":16},{"name":1119,"slug":1120,"type":16},"2026-07-02T07:37:16.07175",30,{"items":1187,"total":1370},[1188,1207,1221,1233,1252,1263,1284,1304,1318,1333,1341,1354],{"slug":1189,"name":1189,"fn":1190,"description":1191,"org":1192,"tags":1193,"stars":1204,"repoUrl":1205,"updatedAt":1206},"algorithmic-art","create algorithmic art with p5.js","Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1194,1195,1198,1201],{"name":1091,"slug":1092,"type":16},{"name":1196,"slug":1197,"type":16},"Design","design",{"name":1199,"slug":1200,"type":16},"Generative Art","generative-art",{"name":1202,"slug":1203,"type":16},"JavaScript","javascript",161831,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills","2026-04-06T17:56:15.455818",{"slug":1208,"name":1208,"fn":1209,"description":1210,"org":1211,"tags":1212,"stars":1204,"repoUrl":1205,"updatedAt":1220},"brand-guidelines","apply Anthropic brand colors and typography","Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1213,1216,1217],{"name":1214,"slug":1215,"type":16},"Branding","branding",{"name":1196,"slug":1197,"type":16},{"name":1218,"slug":1219,"type":16},"Typography","typography","2026-04-06T17:56:05.042852",{"slug":1222,"name":1222,"fn":1223,"description":1224,"org":1225,"tags":1226,"stars":1204,"repoUrl":1205,"updatedAt":1232},"canvas-design","create posters and visual art as PNG or PDF","Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1227,1228,1229],{"name":1091,"slug":1092,"type":16},{"name":1196,"slug":1197,"type":16},{"name":1230,"slug":1231,"type":16},"PDF","pdf","2026-04-06T17:56:03.794732",{"slug":1234,"name":1234,"fn":1235,"description":1236,"org":1237,"tags":1238,"stars":1204,"repoUrl":1205,"updatedAt":1251},"claude-api","build apps with the Claude API","Reference for the Claude API \u002F Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching, token counting, model migration.\nTRIGGER — read BEFORE opening the target file; don't skip because it \"looks like a one-liner\" — whenever: the prompt names Claude\u002FAnthropic in any form (Claude, Anthropic, Fable, Opus, Sonnet, Haiku, `anthropic`, `@anthropic-ai`, `claude-*`, `us.anthropic.*`, `[1m]`); the user asks about an LLM (pricing\u002Fmodel choice\u002Flimits\u002Fcaching) — never answer from memory; OR the task is LLM-shaped with provider unstated (agent\u002FMCP\u002Ftool-definition\u002Fmulti-agent\u002FRAG\u002FLLM-judge\u002Fcomputer-use; generate\u002Fsummarize\u002Fextract\u002Fclassify\u002Frewrite\u002Fconverse over NL; debugging refusals\u002Fcutoffs\u002Fstreaming\u002Ftool-calls\u002Ftokens).\nSKIP only when another provider is being worked on (overrides all triggers): OpenAI\u002FGPT\u002FGemini\u002FLlama\u002FMistral\u002FCohere\u002FOllama named in the query; OR `grep -rE 'openai|langchain_openai|google.generativeai|genai|mistralai|cohere|ollama'` over the project hits (run this grep FIRST if no provider named — don't Read the file).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1239,1242,1243,1246,1248],{"name":1240,"slug":1241,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":1244,"slug":1245,"type":16},"Anthropic SDK","anthropic-sdk",{"name":1247,"slug":1234,"type":16},"Claude API",{"name":1249,"slug":1250,"type":16},"LLM","llm","2026-07-28T05:36:08.213335",{"slug":1253,"name":1253,"fn":1254,"description":1255,"org":1256,"tags":1257,"stars":1204,"repoUrl":1205,"updatedAt":1262},"doc-coauthoring","co-author documentation and technical specs","Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1258,1259],{"name":1155,"slug":1156,"type":16},{"name":1260,"slug":1261,"type":16},"Technical Writing","technical-writing","2026-04-06T17:56:14.18897",{"slug":1264,"name":1264,"fn":1265,"description":1266,"org":1267,"tags":1268,"stars":1204,"repoUrl":1205,"updatedAt":1283},"docx","create and edit Word documents","Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1269,1272,1274,1277,1280],{"name":1270,"slug":1271,"type":16},"Documents","documents",{"name":1273,"slug":1264,"type":16},"DOCX",{"name":1275,"slug":1276,"type":16},"Office","office",{"name":1278,"slug":1279,"type":16},"Templates","templates",{"name":1281,"slug":1282,"type":16},"Word","word","2026-07-18T05:16:23.136271",{"slug":1285,"name":1285,"fn":1286,"description":1287,"org":1288,"tags":1289,"stars":1204,"repoUrl":1205,"updatedAt":1303},"frontend-design","design production-grade frontend interfaces","Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1290,1291,1294,1297,1300],{"name":1196,"slug":1197,"type":16},{"name":1292,"slug":1293,"type":16},"Frontend","frontend",{"name":1295,"slug":1296,"type":16},"React","react",{"name":1298,"slug":1299,"type":16},"Tailwind CSS","tailwind-css",{"name":1301,"slug":1302,"type":16},"UI Components","ui-components","2026-04-06T17:56:16.723469",{"slug":1305,"name":1305,"fn":1306,"description":1307,"org":1308,"tags":1309,"stars":1204,"repoUrl":1205,"updatedAt":1317},"internal-comms","write internal company communications","A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1310,1313,1314],{"name":1311,"slug":1312,"type":16},"Communications","communications",{"name":1278,"slug":1279,"type":16},{"name":1315,"slug":1316,"type":16},"Writing","writing","2026-04-06T17:56:20.695522",{"slug":1319,"name":1319,"fn":1320,"description":1321,"org":1322,"tags":1323,"stars":1204,"repoUrl":1205,"updatedAt":1332},"mcp-builder","build MCP servers","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node\u002FTypeScript (MCP SDK).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1324,1325,1328,1329],{"name":1240,"slug":1241,"type":16},{"name":1326,"slug":1327,"type":16},"API Development","api-development",{"name":1249,"slug":1250,"type":16},{"name":1330,"slug":1331,"type":16},"MCP","mcp","2026-04-06T17:56:10.357665",{"slug":1231,"name":1231,"fn":1334,"description":1335,"org":1336,"tags":1337,"stars":1204,"repoUrl":1205,"updatedAt":1340},"read edit and manipulate PDF files","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1338,1339],{"name":1270,"slug":1271,"type":16},{"name":1230,"slug":1231,"type":16},"2026-04-06T17:56:02.483316",{"slug":1342,"name":1342,"fn":1343,"description":1344,"org":1345,"tags":1346,"stars":1204,"repoUrl":1205,"updatedAt":1353},"pptx","create and edit PowerPoint presentations","Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1347,1350],{"name":1348,"slug":1349,"type":16},"PowerPoint","powerpoint",{"name":1351,"slug":1352,"type":16},"Presentations","presentations","2026-07-18T05:16:24.1471",{"slug":1355,"name":1355,"fn":1356,"description":1357,"org":1358,"tags":1359,"stars":1204,"repoUrl":1205,"updatedAt":1369},"skill-creator","create and optimize agent skills","Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1360,1361,1362,1365,1368],{"name":1240,"slug":1241,"type":16},{"name":1155,"slug":1156,"type":16},{"name":1363,"slug":1364,"type":16},"Evals","evals",{"name":1366,"slug":1367,"type":16},"Performance","performance",{"name":1260,"slug":1261,"type":16},"2026-04-19T06:45:40.804",490]