[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-anthropic-deck-refresh":3,"mdc-86r6m-key":36,"related-org-anthropic-deck-refresh":632,"related-repo-anthropic-deck-refresh":817},{"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":34,"mdContent":35},"deck-refresh","refresh presentation data with quarterly updates","Updates a presentation with new numbers — quarterly refreshes, earnings updates, comp rolls, rebased market data. Use whenever the user asks to \"update the deck with Q4 numbers\", \"refresh the comps\", \"roll this forward\", \"swap in the new earnings\", \"change all the $485M to $512M\", or any request to swap figures across an existing deck without rebuilding it.",{"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},"Presentations","presentations","tag",{"name":18,"slug":19,"type":16},"Reporting","reporting",{"name":21,"slug":22,"type":16},"PowerPoint","powerpoint",{"name":24,"slug":25,"type":16},"Finance","finance",33636,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Ffinancial-services","2026-05-15T06:08:44.058925",null,4964,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":29},[],"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Ffinancial-services\u002Ftree\u002FHEAD\u002Fplugins\u002Fagent-plugins\u002Fpitch-agent\u002Fskills\u002Fdeck-refresh","---\nname: deck-refresh\ndescription: Updates a presentation with new numbers — quarterly refreshes, earnings updates, comp rolls, rebased market data. Use whenever the user asks to \"update the deck with Q4 numbers\", \"refresh the comps\", \"roll this forward\", \"swap in the new earnings\", \"change all the $485M to $512M\", or any request to swap figures across an existing deck without rebuilding it.\n---\n\n# Deck Refresh\n\nUpdate numbers across the deck. The deck is the source of truth for formatting; you're only changing values.\n\n## Environment check\n\nThis skill works in both the PowerPoint add-in and chat. Identify which you're in before starting — the edit mechanism differs, the intent doesn't:\n\n- **Add-in** — the deck is open live; edit text runs, table cells, and chart data directly.\n- **Chat** — the deck is an uploaded file; edit it by regenerating the affected slides with the new values and writing the result back.\n\nEither way: smallest possible change, existing formatting stays intact.\n\nThis is a four-phase process and the third phase is an approval gate. Don't edit until the user has seen the plan.\n\n## Phase 1 — Get the data\n\nUse `ask_user_question` to find out how the new numbers are arriving:\n\n- **Pasted mapping** — user types or pastes \"revenue $485M → $512M, EBITDA $120M → $135M.\" The clearest case.\n- **Uploaded Excel** — old\u002Fnew columns, or a fresh output sheet the user wants pulled from. Read it, confirm which column is which before you trust it.\n- **Just the new values** — \"Q4 revenue was $512M, margins were 22%.\" You figure out what each one replaces. Workable, but confirm the mapping before you touch anything — a \"$512M\" that you map to revenue but the user meant for gross profit is a quiet disaster.\n\nAlso ask about **derived numbers**: if revenue moves, does the user want growth rates and share percentages recalculated, or left alone? Most decks have \"+15% YoY\" baked in somewhere that's now stale. Whether to touch those is a judgment call the user should make, not you.\n\n## Phase 2 — Read everything, find everything\n\nRead every slide. For each old value, find every instance — including the ones that don't look the same:\n\n| Variant | Example |\n|---|---|\n| Scale | `$485M`, `$0.485B`, `$485,000,000` |\n| Precision | `$485M`, `$485.0M`, `~$485M` |\n| Unit style | `$485M`, `$485MM`, `$485 million`, `485M` |\n| Embedded | \"revenue grew to $485M\", \"a $485M business\", axis labels |\n\nA deck that says `$485M` on slide 3, `485` on slide 8's chart axis, and `$485.0 million` in a footnote on slide 15 has three instances of the same number. Find-replace misses two of them. You shouldn't.\n\n**Where numbers hide:**\n- Text boxes (obvious)\n- Table cells\n- Chart data labels and axis labels\n- Chart source data — the numbers driving the bars, not just the labels on them\n- Footnotes, source lines, small print\n- Speaker notes, if the user cares about those\n\nBuild a list: for each old value, every location it appears, the exact text it appears as, and what it'll become. This list is the plan.\n\n## Phase 3 — Present the plan, get approval\n\n**This is a destructive operation on a deck someone spent time on.** Show the full change list before editing a single thing. Format it so it's scannable:\n\n```\n$485M → $512M (Revenue)\n  Slide 3  — Title box: \"Revenue grew to $485M\"\n  Slide 8  — Chart axis label: \"485\"\n  Slide 15 — Footnote: \"$485.0 million in FY24 revenue\"\n\n$120M → $135M (Adj. EBITDA)\n  Slide 3  — Table cell\n  Slide 11 — Body text: \"$120M of Adj. EBITDA\"\n\nFLAGGED — possibly derived, not in your mapping:\n  Slide 3  — \"+15% YoY\" (growth rate — stale if base year didn't change?)\n  Slide 7  — \"12% market share\" (was this computed from $485M \u002F market size?)\n```\n\nThe flagged section matters. You're not just executing a find-replace — you're catching the second-order effects the user would've missed at 11pm. If the mapping says `$485M → $512M` and slide 3 also has `+15% YoY` right next to it, that growth rate is probably wrong now. Flag it; don't silently fix it, don't silently leave it.\n\nUse `ask_user_question` for the approval: proceed as shown, proceed but skip the flagged items, or let them revise the mapping first.\n\n## Phase 4 — Execute, preserve, report\n\nFor each change, make the smallest edit that accomplishes it. How that happens depends on your environment:\n\n- **Add-in** — edit the specific run, cell, or chart series directly in the live deck.\n- **Chat** — regenerate the affected slide with the new value in place, preserving every other element exactly as it was, and write it back to the file.\n\nEither way, the standard is the same:\n\n- **Text in a shape** — change the value, leave font\u002Fsize\u002Fcolor\u002Fbold state exactly as they were. If `$485M` is 14pt navy bold inside a sentence, `$512M` is 14pt navy bold inside the same sentence.\n- **Table cell** — change the cell, leave the table alone.\n- **Chart data** — update the underlying series values so the bars\u002Flines actually move. Editing just the label without the data leaves a chart that lies.\n\nDon't reformat anything you didn't need to touch. The deck's existing style is correct by definition; you're a surgeon, not a renovator.\n\nAfter the last edit, report what actually happened:\n\n```\nUpdated 11 values across 8 slides.\n\nChanged:\n  [the list from Phase 3, now past-tense]\n\nStill flagged — did NOT change:\n  Slide 3 — \"+15% YoY\" (derived; confirm separately)\n  Slide 7 — \"12% market share\"\n```\n\nRun standard visual verification checks on every edited slide. A number that got longer (`$485M` → `$1,205M`) might now overflow its text box or push a table column width. Catch it before the user does.\n\n## What you're not doing\n\n- **Not rebuilding slides** — if a slide's narrative no longer makes sense with the new numbers (\"margins compressed\" but margins went up), flag it, don't rewrite it.\n- **Not recalculating unless asked** — derived numbers are the user's call. Your Phase 1 question covers this.\n- **Not touching formatting** — if the deck uses `$MM` and the user's mapping says `$M`, match the deck, not the mapping. Values change; style stays.\n",{"data":37,"body":38},{"name":4,"description":6},{"type":39,"children":40},"root",[41,49,55,62,67,93,98,103,109,123,156,168,174,179,319,347,355,388,393,399,409,421,442,453,459,464,485,490,538,543,548,557,577,583],{"type":42,"tag":43,"props":44,"children":45},"element","h1",{"id":4},[46],{"type":47,"value":48},"text","Deck Refresh",{"type":42,"tag":50,"props":51,"children":52},"p",{},[53],{"type":47,"value":54},"Update numbers across the deck. The deck is the source of truth for formatting; you're only changing values.",{"type":42,"tag":56,"props":57,"children":59},"h2",{"id":58},"environment-check",[60],{"type":47,"value":61},"Environment check",{"type":42,"tag":50,"props":63,"children":64},{},[65],{"type":47,"value":66},"This skill works in both the PowerPoint add-in and chat. Identify which you're in before starting — the edit mechanism differs, the intent doesn't:",{"type":42,"tag":68,"props":69,"children":70},"ul",{},[71,83],{"type":42,"tag":72,"props":73,"children":74},"li",{},[75,81],{"type":42,"tag":76,"props":77,"children":78},"strong",{},[79],{"type":47,"value":80},"Add-in",{"type":47,"value":82}," — the deck is open live; edit text runs, table cells, and chart data directly.",{"type":42,"tag":72,"props":84,"children":85},{},[86,91],{"type":42,"tag":76,"props":87,"children":88},{},[89],{"type":47,"value":90},"Chat",{"type":47,"value":92}," — the deck is an uploaded file; edit it by regenerating the affected slides with the new values and writing the result back.",{"type":42,"tag":50,"props":94,"children":95},{},[96],{"type":47,"value":97},"Either way: smallest possible change, existing formatting stays intact.",{"type":42,"tag":50,"props":99,"children":100},{},[101],{"type":47,"value":102},"This is a four-phase process and the third phase is an approval gate. Don't edit until the user has seen the plan.",{"type":42,"tag":56,"props":104,"children":106},{"id":105},"phase-1-get-the-data",[107],{"type":47,"value":108},"Phase 1 — Get the data",{"type":42,"tag":50,"props":110,"children":111},{},[112,114,121],{"type":47,"value":113},"Use ",{"type":42,"tag":115,"props":116,"children":118},"code",{"className":117},[],[119],{"type":47,"value":120},"ask_user_question",{"type":47,"value":122}," to find out how the new numbers are arriving:",{"type":42,"tag":68,"props":124,"children":125},{},[126,136,146],{"type":42,"tag":72,"props":127,"children":128},{},[129,134],{"type":42,"tag":76,"props":130,"children":131},{},[132],{"type":47,"value":133},"Pasted mapping",{"type":47,"value":135}," — user types or pastes \"revenue $485M → $512M, EBITDA $120M → $135M.\" The clearest case.",{"type":42,"tag":72,"props":137,"children":138},{},[139,144],{"type":42,"tag":76,"props":140,"children":141},{},[142],{"type":47,"value":143},"Uploaded Excel",{"type":47,"value":145}," — old\u002Fnew columns, or a fresh output sheet the user wants pulled from. Read it, confirm which column is which before you trust it.",{"type":42,"tag":72,"props":147,"children":148},{},[149,154],{"type":42,"tag":76,"props":150,"children":151},{},[152],{"type":47,"value":153},"Just the new values",{"type":47,"value":155}," — \"Q4 revenue was $512M, margins were 22%.\" You figure out what each one replaces. Workable, but confirm the mapping before you touch anything — a \"$512M\" that you map to revenue but the user meant for gross profit is a quiet disaster.",{"type":42,"tag":50,"props":157,"children":158},{},[159,161,166],{"type":47,"value":160},"Also ask about ",{"type":42,"tag":76,"props":162,"children":163},{},[164],{"type":47,"value":165},"derived numbers",{"type":47,"value":167},": if revenue moves, does the user want growth rates and share percentages recalculated, or left alone? Most decks have \"+15% YoY\" baked in somewhere that's now stale. Whether to touch those is a judgment call the user should make, not you.",{"type":42,"tag":56,"props":169,"children":171},{"id":170},"phase-2-read-everything-find-everything",[172],{"type":47,"value":173},"Phase 2 — Read everything, find everything",{"type":42,"tag":50,"props":175,"children":176},{},[177],{"type":47,"value":178},"Read every slide. For each old value, find every instance — including the ones that don't look the same:",{"type":42,"tag":180,"props":181,"children":182},"table",{},[183,202],{"type":42,"tag":184,"props":185,"children":186},"thead",{},[187],{"type":42,"tag":188,"props":189,"children":190},"tr",{},[191,197],{"type":42,"tag":192,"props":193,"children":194},"th",{},[195],{"type":47,"value":196},"Variant",{"type":42,"tag":192,"props":198,"children":199},{},[200],{"type":47,"value":201},"Example",{"type":42,"tag":203,"props":204,"children":205},"tbody",{},[206,239,269,306],{"type":42,"tag":188,"props":207,"children":208},{},[209,215],{"type":42,"tag":210,"props":211,"children":212},"td",{},[213],{"type":47,"value":214},"Scale",{"type":42,"tag":210,"props":216,"children":217},{},[218,224,226,232,233],{"type":42,"tag":115,"props":219,"children":221},{"className":220},[],[222],{"type":47,"value":223},"$485M",{"type":47,"value":225},", ",{"type":42,"tag":115,"props":227,"children":229},{"className":228},[],[230],{"type":47,"value":231},"$0.485B",{"type":47,"value":225},{"type":42,"tag":115,"props":234,"children":236},{"className":235},[],[237],{"type":47,"value":238},"$485,000,000",{"type":42,"tag":188,"props":240,"children":241},{},[242,247],{"type":42,"tag":210,"props":243,"children":244},{},[245],{"type":47,"value":246},"Precision",{"type":42,"tag":210,"props":248,"children":249},{},[250,255,256,262,263],{"type":42,"tag":115,"props":251,"children":253},{"className":252},[],[254],{"type":47,"value":223},{"type":47,"value":225},{"type":42,"tag":115,"props":257,"children":259},{"className":258},[],[260],{"type":47,"value":261},"$485.0M",{"type":47,"value":225},{"type":42,"tag":115,"props":264,"children":266},{"className":265},[],[267],{"type":47,"value":268},"~$485M",{"type":42,"tag":188,"props":270,"children":271},{},[272,277],{"type":42,"tag":210,"props":273,"children":274},{},[275],{"type":47,"value":276},"Unit style",{"type":42,"tag":210,"props":278,"children":279},{},[280,285,286,292,293,299,300],{"type":42,"tag":115,"props":281,"children":283},{"className":282},[],[284],{"type":47,"value":223},{"type":47,"value":225},{"type":42,"tag":115,"props":287,"children":289},{"className":288},[],[290],{"type":47,"value":291},"$485MM",{"type":47,"value":225},{"type":42,"tag":115,"props":294,"children":296},{"className":295},[],[297],{"type":47,"value":298},"$485 million",{"type":47,"value":225},{"type":42,"tag":115,"props":301,"children":303},{"className":302},[],[304],{"type":47,"value":305},"485M",{"type":42,"tag":188,"props":307,"children":308},{},[309,314],{"type":42,"tag":210,"props":310,"children":311},{},[312],{"type":47,"value":313},"Embedded",{"type":42,"tag":210,"props":315,"children":316},{},[317],{"type":47,"value":318},"\"revenue grew to $485M\", \"a $485M business\", axis labels",{"type":42,"tag":50,"props":320,"children":321},{},[322,324,329,331,337,339,345],{"type":47,"value":323},"A deck that says ",{"type":42,"tag":115,"props":325,"children":327},{"className":326},[],[328],{"type":47,"value":223},{"type":47,"value":330}," on slide 3, ",{"type":42,"tag":115,"props":332,"children":334},{"className":333},[],[335],{"type":47,"value":336},"485",{"type":47,"value":338}," on slide 8's chart axis, and ",{"type":42,"tag":115,"props":340,"children":342},{"className":341},[],[343],{"type":47,"value":344},"$485.0 million",{"type":47,"value":346}," in a footnote on slide 15 has three instances of the same number. Find-replace misses two of them. You shouldn't.",{"type":42,"tag":50,"props":348,"children":349},{},[350],{"type":42,"tag":76,"props":351,"children":352},{},[353],{"type":47,"value":354},"Where numbers hide:",{"type":42,"tag":68,"props":356,"children":357},{},[358,363,368,373,378,383],{"type":42,"tag":72,"props":359,"children":360},{},[361],{"type":47,"value":362},"Text boxes (obvious)",{"type":42,"tag":72,"props":364,"children":365},{},[366],{"type":47,"value":367},"Table cells",{"type":42,"tag":72,"props":369,"children":370},{},[371],{"type":47,"value":372},"Chart data labels and axis labels",{"type":42,"tag":72,"props":374,"children":375},{},[376],{"type":47,"value":377},"Chart source data — the numbers driving the bars, not just the labels on them",{"type":42,"tag":72,"props":379,"children":380},{},[381],{"type":47,"value":382},"Footnotes, source lines, small print",{"type":42,"tag":72,"props":384,"children":385},{},[386],{"type":47,"value":387},"Speaker notes, if the user cares about those",{"type":42,"tag":50,"props":389,"children":390},{},[391],{"type":47,"value":392},"Build a list: for each old value, every location it appears, the exact text it appears as, and what it'll become. This list is the plan.",{"type":42,"tag":56,"props":394,"children":396},{"id":395},"phase-3-present-the-plan-get-approval",[397],{"type":47,"value":398},"Phase 3 — Present the plan, get approval",{"type":42,"tag":50,"props":400,"children":401},{},[402,407],{"type":42,"tag":76,"props":403,"children":404},{},[405],{"type":47,"value":406},"This is a destructive operation on a deck someone spent time on.",{"type":47,"value":408}," Show the full change list before editing a single thing. Format it so it's scannable:",{"type":42,"tag":410,"props":411,"children":415},"pre",{"className":412,"code":414,"language":47},[413],"language-text","$485M → $512M (Revenue)\n  Slide 3  — Title box: \"Revenue grew to $485M\"\n  Slide 8  — Chart axis label: \"485\"\n  Slide 15 — Footnote: \"$485.0 million in FY24 revenue\"\n\n$120M → $135M (Adj. EBITDA)\n  Slide 3  — Table cell\n  Slide 11 — Body text: \"$120M of Adj. EBITDA\"\n\nFLAGGED — possibly derived, not in your mapping:\n  Slide 3  — \"+15% YoY\" (growth rate — stale if base year didn't change?)\n  Slide 7  — \"12% market share\" (was this computed from $485M \u002F market size?)\n",[416],{"type":42,"tag":115,"props":417,"children":419},{"__ignoreMap":418},"",[420],{"type":47,"value":414},{"type":42,"tag":50,"props":422,"children":423},{},[424,426,432,434,440],{"type":47,"value":425},"The flagged section matters. You're not just executing a find-replace — you're catching the second-order effects the user would've missed at 11pm. If the mapping says ",{"type":42,"tag":115,"props":427,"children":429},{"className":428},[],[430],{"type":47,"value":431},"$485M → $512M",{"type":47,"value":433}," and slide 3 also has ",{"type":42,"tag":115,"props":435,"children":437},{"className":436},[],[438],{"type":47,"value":439},"+15% YoY",{"type":47,"value":441}," right next to it, that growth rate is probably wrong now. Flag it; don't silently fix it, don't silently leave it.",{"type":42,"tag":50,"props":443,"children":444},{},[445,446,451],{"type":47,"value":113},{"type":42,"tag":115,"props":447,"children":449},{"className":448},[],[450],{"type":47,"value":120},{"type":47,"value":452}," for the approval: proceed as shown, proceed but skip the flagged items, or let them revise the mapping first.",{"type":42,"tag":56,"props":454,"children":456},{"id":455},"phase-4-execute-preserve-report",[457],{"type":47,"value":458},"Phase 4 — Execute, preserve, report",{"type":42,"tag":50,"props":460,"children":461},{},[462],{"type":47,"value":463},"For each change, make the smallest edit that accomplishes it. How that happens depends on your environment:",{"type":42,"tag":68,"props":465,"children":466},{},[467,476],{"type":42,"tag":72,"props":468,"children":469},{},[470,474],{"type":42,"tag":76,"props":471,"children":472},{},[473],{"type":47,"value":80},{"type":47,"value":475}," — edit the specific run, cell, or chart series directly in the live deck.",{"type":42,"tag":72,"props":477,"children":478},{},[479,483],{"type":42,"tag":76,"props":480,"children":481},{},[482],{"type":47,"value":90},{"type":47,"value":484}," — regenerate the affected slide with the new value in place, preserving every other element exactly as it was, and write it back to the file.",{"type":42,"tag":50,"props":486,"children":487},{},[488],{"type":47,"value":489},"Either way, the standard is the same:",{"type":42,"tag":68,"props":491,"children":492},{},[493,518,528],{"type":42,"tag":72,"props":494,"children":495},{},[496,501,503,508,510,516],{"type":42,"tag":76,"props":497,"children":498},{},[499],{"type":47,"value":500},"Text in a shape",{"type":47,"value":502}," — change the value, leave font\u002Fsize\u002Fcolor\u002Fbold state exactly as they were. If ",{"type":42,"tag":115,"props":504,"children":506},{"className":505},[],[507],{"type":47,"value":223},{"type":47,"value":509}," is 14pt navy bold inside a sentence, ",{"type":42,"tag":115,"props":511,"children":513},{"className":512},[],[514],{"type":47,"value":515},"$512M",{"type":47,"value":517}," is 14pt navy bold inside the same sentence.",{"type":42,"tag":72,"props":519,"children":520},{},[521,526],{"type":42,"tag":76,"props":522,"children":523},{},[524],{"type":47,"value":525},"Table cell",{"type":47,"value":527}," — change the cell, leave the table alone.",{"type":42,"tag":72,"props":529,"children":530},{},[531,536],{"type":42,"tag":76,"props":532,"children":533},{},[534],{"type":47,"value":535},"Chart data",{"type":47,"value":537}," — update the underlying series values so the bars\u002Flines actually move. Editing just the label without the data leaves a chart that lies.",{"type":42,"tag":50,"props":539,"children":540},{},[541],{"type":47,"value":542},"Don't reformat anything you didn't need to touch. The deck's existing style is correct by definition; you're a surgeon, not a renovator.",{"type":42,"tag":50,"props":544,"children":545},{},[546],{"type":47,"value":547},"After the last edit, report what actually happened:",{"type":42,"tag":410,"props":549,"children":552},{"className":550,"code":551,"language":47},[413],"Updated 11 values across 8 slides.\n\nChanged:\n  [the list from Phase 3, now past-tense]\n\nStill flagged — did NOT change:\n  Slide 3 — \"+15% YoY\" (derived; confirm separately)\n  Slide 7 — \"12% market share\"\n",[553],{"type":42,"tag":115,"props":554,"children":555},{"__ignoreMap":418},[556],{"type":47,"value":551},{"type":42,"tag":50,"props":558,"children":559},{},[560,562,567,569,575],{"type":47,"value":561},"Run standard visual verification checks on every edited slide. A number that got longer (",{"type":42,"tag":115,"props":563,"children":565},{"className":564},[],[566],{"type":47,"value":223},{"type":47,"value":568}," → ",{"type":42,"tag":115,"props":570,"children":572},{"className":571},[],[573],{"type":47,"value":574},"$1,205M",{"type":47,"value":576},") might now overflow its text box or push a table column width. Catch it before the user does.",{"type":42,"tag":56,"props":578,"children":580},{"id":579},"what-youre-not-doing",[581],{"type":47,"value":582},"What you're not doing",{"type":42,"tag":68,"props":584,"children":585},{},[586,596,606],{"type":42,"tag":72,"props":587,"children":588},{},[589,594],{"type":42,"tag":76,"props":590,"children":591},{},[592],{"type":47,"value":593},"Not rebuilding slides",{"type":47,"value":595}," — if a slide's narrative no longer makes sense with the new numbers (\"margins compressed\" but margins went up), flag it, don't rewrite it.",{"type":42,"tag":72,"props":597,"children":598},{},[599,604],{"type":42,"tag":76,"props":600,"children":601},{},[602],{"type":47,"value":603},"Not recalculating unless asked",{"type":47,"value":605}," — derived numbers are the user's call. Your Phase 1 question covers this.",{"type":42,"tag":72,"props":607,"children":608},{},[609,614,616,622,624,630],{"type":42,"tag":76,"props":610,"children":611},{},[612],{"type":47,"value":613},"Not touching formatting",{"type":47,"value":615}," — if the deck uses ",{"type":42,"tag":115,"props":617,"children":619},{"className":618},[],[620],{"type":47,"value":621},"$MM",{"type":47,"value":623}," and the user's mapping says ",{"type":42,"tag":115,"props":625,"children":627},{"className":626},[],[628],{"type":47,"value":629},"$M",{"type":47,"value":631},", match the deck, not the mapping. Values change; style stays.",{"items":633,"total":816},[634,655,669,681,700,713,734,754,768,783,791,800],{"slug":635,"name":635,"fn":636,"description":637,"org":638,"tags":639,"stars":652,"repoUrl":653,"updatedAt":654},"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},[640,643,646,649],{"name":641,"slug":642,"type":16},"Creative","creative",{"name":644,"slug":645,"type":16},"Design","design",{"name":647,"slug":648,"type":16},"Generative Art","generative-art",{"name":650,"slug":651,"type":16},"JavaScript","javascript",161831,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills","2026-04-06T17:56:15.455818",{"slug":656,"name":656,"fn":657,"description":658,"org":659,"tags":660,"stars":652,"repoUrl":653,"updatedAt":668},"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},[661,664,665],{"name":662,"slug":663,"type":16},"Branding","branding",{"name":644,"slug":645,"type":16},{"name":666,"slug":667,"type":16},"Typography","typography","2026-04-06T17:56:05.042852",{"slug":670,"name":670,"fn":671,"description":672,"org":673,"tags":674,"stars":652,"repoUrl":653,"updatedAt":680},"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},[675,676,677],{"name":641,"slug":642,"type":16},{"name":644,"slug":645,"type":16},{"name":678,"slug":679,"type":16},"PDF","pdf","2026-04-06T17:56:03.794732",{"slug":682,"name":682,"fn":683,"description":684,"org":685,"tags":686,"stars":652,"repoUrl":653,"updatedAt":699},"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},[687,690,691,694,696],{"name":688,"slug":689,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":692,"slug":693,"type":16},"Anthropic SDK","anthropic-sdk",{"name":695,"slug":682,"type":16},"Claude API",{"name":697,"slug":698,"type":16},"LLM","llm","2026-07-28T05:36:08.213335",{"slug":701,"name":701,"fn":702,"description":703,"org":704,"tags":705,"stars":652,"repoUrl":653,"updatedAt":712},"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},[706,709],{"name":707,"slug":708,"type":16},"Documentation","documentation",{"name":710,"slug":711,"type":16},"Technical Writing","technical-writing","2026-04-06T17:56:14.18897",{"slug":714,"name":714,"fn":715,"description":716,"org":717,"tags":718,"stars":652,"repoUrl":653,"updatedAt":733},"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},[719,722,724,727,730],{"name":720,"slug":721,"type":16},"Documents","documents",{"name":723,"slug":714,"type":16},"DOCX",{"name":725,"slug":726,"type":16},"Office","office",{"name":728,"slug":729,"type":16},"Templates","templates",{"name":731,"slug":732,"type":16},"Word","word","2026-07-18T05:16:23.136271",{"slug":735,"name":735,"fn":736,"description":737,"org":738,"tags":739,"stars":652,"repoUrl":653,"updatedAt":753},"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},[740,741,744,747,750],{"name":644,"slug":645,"type":16},{"name":742,"slug":743,"type":16},"Frontend","frontend",{"name":745,"slug":746,"type":16},"React","react",{"name":748,"slug":749,"type":16},"Tailwind CSS","tailwind-css",{"name":751,"slug":752,"type":16},"UI Components","ui-components","2026-04-06T17:56:16.723469",{"slug":755,"name":755,"fn":756,"description":757,"org":758,"tags":759,"stars":652,"repoUrl":653,"updatedAt":767},"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},[760,763,764],{"name":761,"slug":762,"type":16},"Communications","communications",{"name":728,"slug":729,"type":16},{"name":765,"slug":766,"type":16},"Writing","writing","2026-04-06T17:56:20.695522",{"slug":769,"name":769,"fn":770,"description":771,"org":772,"tags":773,"stars":652,"repoUrl":653,"updatedAt":782},"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},[774,775,778,779],{"name":688,"slug":689,"type":16},{"name":776,"slug":777,"type":16},"API Development","api-development",{"name":697,"slug":698,"type":16},{"name":780,"slug":781,"type":16},"MCP","mcp","2026-04-06T17:56:10.357665",{"slug":679,"name":679,"fn":784,"description":785,"org":786,"tags":787,"stars":652,"repoUrl":653,"updatedAt":790},"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},[788,789],{"name":720,"slug":721,"type":16},{"name":678,"slug":679,"type":16},"2026-04-06T17:56:02.483316",{"slug":792,"name":792,"fn":793,"description":794,"org":795,"tags":796,"stars":652,"repoUrl":653,"updatedAt":799},"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},[797,798],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},"2026-07-18T05:16:24.1471",{"slug":801,"name":801,"fn":802,"description":803,"org":804,"tags":805,"stars":652,"repoUrl":653,"updatedAt":815},"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},[806,807,808,811,814],{"name":688,"slug":689,"type":16},{"name":707,"slug":708,"type":16},{"name":809,"slug":810,"type":16},"Evals","evals",{"name":812,"slug":813,"type":16},"Performance","performance",{"name":710,"slug":711,"type":16},"2026-04-19T06:45:40.804",490,{"items":818,"total":930},[819,836,853,872,887,904,914],{"slug":820,"name":820,"fn":821,"description":822,"org":823,"tags":824,"stars":26,"repoUrl":27,"updatedAt":835},"3-statement-model","fill out 3-statement financial models","Complete, populate and fill out 3-statement financial model templates (Income Statement, Balance Sheet, Cash Flow Statement) . Use when asked to fill out model templates, complete existing model frameworks, populate financial models with data, complete a partially filled IS\u002FBS\u002FCF framework, or link integrated financial statements within an existing template structure. Triggers include requests to fill in, complete, or populate a 3-statement model template",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[825,828,829,832],{"name":826,"slug":827,"type":16},"Excel","excel",{"name":24,"slug":25,"type":16},{"name":830,"slug":831,"type":16},"Financial Modeling","financial-modeling",{"name":833,"slug":834,"type":16},"Financial Statements","financial-statements","2026-05-15T06:08:35.416766",{"slug":837,"name":837,"fn":838,"description":839,"org":840,"tags":841,"stars":26,"repoUrl":27,"updatedAt":852},"accrual-schedule","build period-end accrual schedules","Build the period-end accrual schedule — for each accrual, compute the entry, cite the support, and draft the JE. Use during month-end close; the JE is a draft for controller approval, not a posting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[842,845,846,849],{"name":843,"slug":844,"type":16},"Accounting","accounting",{"name":24,"slug":25,"type":16},{"name":847,"slug":848,"type":16},"Journal Entry","journal-entry",{"name":850,"slug":851,"type":16},"Month-End Close","month-end-close","2026-05-06T05:38:41.445686",{"slug":854,"name":854,"fn":855,"description":856,"org":857,"tags":858,"stars":26,"repoUrl":27,"updatedAt":871},"ai-readiness","identify AI opportunities in portfolio companies","Scan the portfolio for the highest-leverage AI opportunities and rank where to deploy operating-partner time. Ingests quarterly updates and financials across multiple portfolio companies, identifies quick wins at each, and stacks them into a single ranked action list. Use during quarterly portfolio reviews, annual planning, or when deciding which companies get AI investment first. Triggers on \"AI readiness\", \"AI opportunity scan\", \"where should we deploy AI\", \"AI across the portfolio\", \"AI quick wins\", or \"which portcos are ready for AI\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[859,862,865,868],{"name":860,"slug":861,"type":16},"AI Infrastructure","ai-infrastructure",{"name":863,"slug":864,"type":16},"Operations","operations",{"name":866,"slug":867,"type":16},"Private Equity","private-equity",{"name":869,"slug":870,"type":16},"Strategy","strategy","2026-05-21T06:50:36.056814",{"slug":873,"name":873,"fn":874,"description":875,"org":876,"tags":877,"stars":26,"repoUrl":27,"updatedAt":886},"audit-xls","audit spreadsheets for formula accuracy","Audit a spreadsheet for formula accuracy, errors, and common mistakes. Scopes to a selected range, a single sheet, or the entire model (including financial-model integrity checks like BS balance, cash tie-out, and logic sanity). Triggers on \"audit this sheet\", \"check my formulas\", \"find formula errors\", \"QA this spreadsheet\", \"sanity check this\", \"debug model\", \"model check\", \"model won't balance\", \"something's off in my model\", \"model review\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[878,881,882,883],{"name":879,"slug":880,"type":16},"Audit","audit",{"name":826,"slug":827,"type":16},{"name":24,"slug":25,"type":16},{"name":884,"slug":885,"type":16},"Spreadsheets","spreadsheets","2026-05-15T06:07:23.536125",{"slug":888,"name":888,"fn":889,"description":890,"org":891,"tags":892,"stars":26,"repoUrl":27,"updatedAt":903},"bond-futures-basis","analyze bond futures basis","Analyze the bond futures basis by pricing futures, identifying the cheapest-to-deliver, and comparing with yield curves to assess delivery option value and basis trading opportunities. Use when analyzing bond futures, computing the basis, identifying CTD bonds, calculating implied repo rates, or evaluating basis trades.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[893,896,897,900],{"name":894,"slug":895,"type":16},"Derivatives","derivatives",{"name":24,"slug":25,"type":16},{"name":898,"slug":899,"type":16},"Fixed Income","fixed-income",{"name":901,"slug":902,"type":16},"Trading","trading","2026-05-15T06:08:13.647174",{"slug":905,"name":905,"fn":906,"description":907,"org":908,"tags":909,"stars":26,"repoUrl":27,"updatedAt":913},"bond-relative-value","perform bond relative value analysis","Perform relative value analysis on bonds by combining pricing, yield curve context, credit spreads, and scenario stress testing. Use when analyzing bond richness\u002Fcheapness, computing spread decomposition, comparing bonds, assessing bond value vs curves, or running rate shock scenarios.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[910,911,912],{"name":24,"slug":25,"type":16},{"name":898,"slug":899,"type":16},{"name":901,"slug":902,"type":16},"2026-05-15T06:08:11.151011",{"slug":915,"name":915,"fn":916,"description":917,"org":918,"tags":919,"stars":26,"repoUrl":27,"updatedAt":929},"break-trace","trace reconciliation breaks to source transactions","Root-cause a reconciliation break to its source transaction or posting — follow the audit trail from the break row back to the originating entry on each side and state what differs and why. Use after gl-recon has classified a break.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[920,921,922,925,926],{"name":843,"slug":844,"type":16},{"name":879,"slug":880,"type":16},{"name":923,"slug":924,"type":16},"Debugging","debugging",{"name":24,"slug":25,"type":16},{"name":927,"slug":928,"type":16},"Reconciliation","reconciliation","2026-05-06T05:37:42.364074",62]