[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-uniswap-debug-issue":3,"mdc-s0ytoe-key":30,"related-org-uniswap-debug-issue":472,"related-repo-uniswap-debug-issue":633},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":19,"repoUrl":20,"updatedAt":21,"license":22,"forks":23,"topics":24,"repo":25,"sourceUrl":28,"mdContent":29},"debug-issue","debug code errors and crashes","Systematic debugging workflow for any code error, crash, test failure, or unexpected behavior. Use this skill whenever a user mentions an error, bug, exception, crash, test failure, or says something \"isn't working\", \"is broken\", \"keeps failing\", or \"isn't behaving as expected\" — even if they haven't used the word \"debug\". Also trigger when the user pastes a stack trace, error message, or unexpected output and asks why. Don't wait for the user to say \"debug\"; if they're describing a problem with running code, this skill applies. Trigger phrases include: \"getting an error\", \"this crashes\", \"why is this failing\", \"help me fix this\", \"it broke\", \"not working\", \"exception thrown\", \"stack trace\", \"test is failing\", \"something is wrong with\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"uniswap","Uniswap","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Funiswap.png",[12,16],{"name":13,"slug":14,"type":15},"Code Analysis","code-analysis","tag",{"name":17,"slug":18,"type":15},"Debugging","debugging",39,"https:\u002F\u002Fgithub.com\u002FUniswap\u002Fai-toolkit","2026-07-17T06:08:14.044038",null,10,[],{"repoUrl":20,"stars":19,"forks":23,"topics":26,"description":27},[],"🤖 AI Toolkit - Standardized setup for Claude Code AI workflows. Nx monorepo with reusable agents, commands, and generators for enhanced AI-assisted development.","https:\u002F\u002Fgithub.com\u002FUniswap\u002Fai-toolkit\u002Ftree\u002FHEAD\u002Fpackages\u002Fplugins\u002Fdevelopment-codebase-tools\u002Fskills\u002Fdebug-issue","---\nname: debug-issue\ndescription: >-\n  Systematic debugging workflow for any code error, crash, test failure, or unexpected behavior. Use this\n  skill whenever a user mentions an error, bug, exception, crash, test failure, or says something \"isn't working\",\n  \"is broken\", \"keeps failing\", or \"isn't behaving as expected\" — even if they haven't used the word \"debug\".\n  Also trigger when the user pastes a stack trace, error message, or unexpected output and asks why. Don't wait\n  for the user to say \"debug\"; if they're describing a problem with running code, this skill applies. Trigger\n  phrases include: \"getting an error\", \"this crashes\", \"why is this failing\", \"help me fix this\", \"it broke\",\n  \"not working\", \"exception thrown\", \"stack trace\", \"test is failing\", \"something is wrong with\".\nallowed-tools: >-\n  Read, Glob, Grep, Edit, Write, Bash(git log:*), Bash(git diff:*), Bash(git blame:*), Bash(git status:*),\n  Task(subagent_type:debug-assistant-agent)\nmodel: opus\n---\n\n# Debug Issue\n\nDiagnose and fix any code problem — from vague symptoms to full stack traces — using a structured\ninvestigation workflow backed by the `debug-assistant-agent`.\n\nThe skill accepts any form of bug report: a raw error message, a test failure output, a symptom\ndescription (\"the app freezes when I click save\"), or a combination. Its job is to gather the right\ncontext and translate that rough report into a root cause and a concrete fix.\n\n## When to Activate\n\n- User pastes an error message, exception, or stack trace\n- A test is failing and the reason isn't obvious\n- Something works locally but fails in CI or production\n- Unexpected output that doesn't match what the code should do\n- User says \"this broke after my last change\" — or doesn't know what changed\n\n## Step 1: Capture the Problem\n\nBefore looking at any files, nail down what you're actually dealing with:\n\n- **Symptoms** — what goes wrong? Extract the exact error type and message if there is one.\n- **Trigger** — when does it fail? (always, sometimes, only after a specific action, only in prod)\n- **Stack trace** — if present, read it carefully: the first project-owned frame (not a library frame)\n  is the origin point and your starting location.\n\nIf the user gave vague symptoms only (\"it just crashes\"), ask one targeted clarifying question before\ncontinuing — something like \"do you have the error message or a stack trace?\" But keep the interaction\nshort; once you have enough to locate the origin, move forward.\n\n## Step 2: Locate the Origin\n\nWith the origin file and line in hand, read the code around the failure. The goal here is not to read\nevery related file — it's to form a working hypothesis fast.\n\n- Read the relevant function or module: 10–20 lines around the error site give more useful context\n  than the single failing line.\n- Check whether this code changed recently (`git log -10 --oneline \u003Cfile>` and `git diff HEAD~3 -- \u003Cfile>`)\n- Look for obvious candidates: null dereferences, incorrect assumptions about async ordering,\n  missing env vars, changed interface contracts, off-by-one conditions.\n\nWrite your working hypothesis before moving to Step 3 — for example, \"I believe this fails because\n`userId` is undefined when `getUser()` is called on logout.\" A stated hypothesis keeps the\ninvestigation from drifting into unfocused file-reading.\n\n## Step 3: Gather Supporting Context\n\nWith a hypothesis in hand, collect the evidence that confirms or refutes it. Aim for depth over\nbreadth — three closely related files read carefully beat ten files skimmed.\n\nGather what the `debug-assistant-agent` needs:\n\n| Piece                      | Where to find it                                                                         |\n| -------------------------- | ---------------------------------------------------------------------------------------- |\n| Full error and stack trace | User input, test output, or CI logs                                                      |\n| Failing code               | Read the origin file; note surrounding functions if they're part of the call chain       |\n| Recent changes             | `git log --oneline -5` on package.json, go.mod, requirements.txt, or the affected module |\n| Config \u002F env               | Check relevant .env files, config objects, or framework setup near the failure           |\n| Logs                       | logs\u002F directory, stdout captures, or ask the user                                        |\n\nIf the evidence already strongly supports your hypothesis, you can delegate immediately. There's no\nvalue in gathering everything available if you already understand the problem.\n\n## Step 4: Analyze with debug-assistant-agent\n\nInvoke the `debug-assistant-agent` with the structured context. Format your prompt to the agent as:\n\n```\nerror: \u003Cexact error message and type, or \"no explicit error — symptom: ...\">\nlogs: \u003Crelevant log output, or \"not available\">\ncontext: \u003Cthe failing code and any related code you read — include file path and function name>\nhistory: \u003Crecent git changes to this area, or \"no recent changes\">\nenvironment: \u003Cruntime\u002Fframework\u002Fversion info, or \"standard dev environment\">\n```\n\nThe agent returns ranked root-cause hypotheses (with confidence scores), an error pattern\nclassification, a three-phase fix plan (immediate change → validation → deployment), and concrete\ncode patches.\n\nPick the highest-confidence hypothesis and fix plan. If two hypotheses are close in confidence,\nnote both and proceed with the more likely one — you can revisit if the first fix doesn't hold.\n\n## Step 5: Apply and Validate\n\nApply the agent's recommended fix, then confirm it works:\n\n1. Make the code changes the agent recommended (Edit\u002FWrite the affected files).\n2. Run the relevant test or reproduce the original trigger.\n3. If the error is gone, summarize for the user:\n   - Root cause in plain language\n   - What was changed and why it fixes the problem\n   - Any follow-up to consider (adding a regression test, updating docs, monitoring a metric)\n4. If the error persists or a different error appears, treat the new state as updated input and\n   return to Step 2. What failed is useful information about where the real root cause lies.\n\n## Staying on Track\n\nDebugging can drift into exploration. Two guardrails that keep it productive:\n\n- **One hypothesis at a time.** Pick the most likely cause, apply the fix, verify. Only move to\n  the next hypothesis if verification fails. Trying to fix multiple hypotheses simultaneously\n  muddies the signal.\n- **Distinguish code bugs from environment issues.** If the root cause is a missing env variable,\n  wrong Node\u002FPython version, corrupted cache, or a service that's down — say so clearly. The fix\n  is outside the code and applying a code patch won't help.\n",{"data":31,"body":34},{"name":4,"description":6,"allowed-tools":32,"model":33},"Read, Glob, Grep, Edit, Write, Bash(git log:*), Bash(git diff:*), Bash(git blame:*), Bash(git status:*), Task(subagent_type:debug-assistant-agent)","opus",{"type":35,"children":36},"root",[37,45,60,65,72,102,108,113,147,152,158,163,197,218,224,229,241,340,345,351,363,375,380,385,391,396,438,444,449],{"type":38,"tag":39,"props":40,"children":41},"element","h1",{"id":4},[42],{"type":43,"value":44},"text","Debug Issue",{"type":38,"tag":46,"props":47,"children":48},"p",{},[49,51,58],{"type":43,"value":50},"Diagnose and fix any code problem — from vague symptoms to full stack traces — using a structured\ninvestigation workflow backed by the ",{"type":38,"tag":52,"props":53,"children":55},"code",{"className":54},[],[56],{"type":43,"value":57},"debug-assistant-agent",{"type":43,"value":59},".",{"type":38,"tag":46,"props":61,"children":62},{},[63],{"type":43,"value":64},"The skill accepts any form of bug report: a raw error message, a test failure output, a symptom\ndescription (\"the app freezes when I click save\"), or a combination. Its job is to gather the right\ncontext and translate that rough report into a root cause and a concrete fix.",{"type":38,"tag":66,"props":67,"children":69},"h2",{"id":68},"when-to-activate",[70],{"type":43,"value":71},"When to Activate",{"type":38,"tag":73,"props":74,"children":75},"ul",{},[76,82,87,92,97],{"type":38,"tag":77,"props":78,"children":79},"li",{},[80],{"type":43,"value":81},"User pastes an error message, exception, or stack trace",{"type":38,"tag":77,"props":83,"children":84},{},[85],{"type":43,"value":86},"A test is failing and the reason isn't obvious",{"type":38,"tag":77,"props":88,"children":89},{},[90],{"type":43,"value":91},"Something works locally but fails in CI or production",{"type":38,"tag":77,"props":93,"children":94},{},[95],{"type":43,"value":96},"Unexpected output that doesn't match what the code should do",{"type":38,"tag":77,"props":98,"children":99},{},[100],{"type":43,"value":101},"User says \"this broke after my last change\" — or doesn't know what changed",{"type":38,"tag":66,"props":103,"children":105},{"id":104},"step-1-capture-the-problem",[106],{"type":43,"value":107},"Step 1: Capture the Problem",{"type":38,"tag":46,"props":109,"children":110},{},[111],{"type":43,"value":112},"Before looking at any files, nail down what you're actually dealing with:",{"type":38,"tag":73,"props":114,"children":115},{},[116,127,137],{"type":38,"tag":77,"props":117,"children":118},{},[119,125],{"type":38,"tag":120,"props":121,"children":122},"strong",{},[123],{"type":43,"value":124},"Symptoms",{"type":43,"value":126}," — what goes wrong? Extract the exact error type and message if there is one.",{"type":38,"tag":77,"props":128,"children":129},{},[130,135],{"type":38,"tag":120,"props":131,"children":132},{},[133],{"type":43,"value":134},"Trigger",{"type":43,"value":136}," — when does it fail? (always, sometimes, only after a specific action, only in prod)",{"type":38,"tag":77,"props":138,"children":139},{},[140,145],{"type":38,"tag":120,"props":141,"children":142},{},[143],{"type":43,"value":144},"Stack trace",{"type":43,"value":146}," — if present, read it carefully: the first project-owned frame (not a library frame)\nis the origin point and your starting location.",{"type":38,"tag":46,"props":148,"children":149},{},[150],{"type":43,"value":151},"If the user gave vague symptoms only (\"it just crashes\"), ask one targeted clarifying question before\ncontinuing — something like \"do you have the error message or a stack trace?\" But keep the interaction\nshort; once you have enough to locate the origin, move forward.",{"type":38,"tag":66,"props":153,"children":155},{"id":154},"step-2-locate-the-origin",[156],{"type":43,"value":157},"Step 2: Locate the Origin",{"type":38,"tag":46,"props":159,"children":160},{},[161],{"type":43,"value":162},"With the origin file and line in hand, read the code around the failure. The goal here is not to read\nevery related file — it's to form a working hypothesis fast.",{"type":38,"tag":73,"props":164,"children":165},{},[166,171,192],{"type":38,"tag":77,"props":167,"children":168},{},[169],{"type":43,"value":170},"Read the relevant function or module: 10–20 lines around the error site give more useful context\nthan the single failing line.",{"type":38,"tag":77,"props":172,"children":173},{},[174,176,182,184,190],{"type":43,"value":175},"Check whether this code changed recently (",{"type":38,"tag":52,"props":177,"children":179},{"className":178},[],[180],{"type":43,"value":181},"git log -10 --oneline \u003Cfile>",{"type":43,"value":183}," and ",{"type":38,"tag":52,"props":185,"children":187},{"className":186},[],[188],{"type":43,"value":189},"git diff HEAD~3 -- \u003Cfile>",{"type":43,"value":191},")",{"type":38,"tag":77,"props":193,"children":194},{},[195],{"type":43,"value":196},"Look for obvious candidates: null dereferences, incorrect assumptions about async ordering,\nmissing env vars, changed interface contracts, off-by-one conditions.",{"type":38,"tag":46,"props":198,"children":199},{},[200,202,208,210,216],{"type":43,"value":201},"Write your working hypothesis before moving to Step 3 — for example, \"I believe this fails because\n",{"type":38,"tag":52,"props":203,"children":205},{"className":204},[],[206],{"type":43,"value":207},"userId",{"type":43,"value":209}," is undefined when ",{"type":38,"tag":52,"props":211,"children":213},{"className":212},[],[214],{"type":43,"value":215},"getUser()",{"type":43,"value":217}," is called on logout.\" A stated hypothesis keeps the\ninvestigation from drifting into unfocused file-reading.",{"type":38,"tag":66,"props":219,"children":221},{"id":220},"step-3-gather-supporting-context",[222],{"type":43,"value":223},"Step 3: Gather Supporting Context",{"type":38,"tag":46,"props":225,"children":226},{},[227],{"type":43,"value":228},"With a hypothesis in hand, collect the evidence that confirms or refutes it. Aim for depth over\nbreadth — three closely related files read carefully beat ten files skimmed.",{"type":38,"tag":46,"props":230,"children":231},{},[232,234,239],{"type":43,"value":233},"Gather what the ",{"type":38,"tag":52,"props":235,"children":237},{"className":236},[],[238],{"type":43,"value":57},{"type":43,"value":240}," needs:",{"type":38,"tag":242,"props":243,"children":244},"table",{},[245,264],{"type":38,"tag":246,"props":247,"children":248},"thead",{},[249],{"type":38,"tag":250,"props":251,"children":252},"tr",{},[253,259],{"type":38,"tag":254,"props":255,"children":256},"th",{},[257],{"type":43,"value":258},"Piece",{"type":38,"tag":254,"props":260,"children":261},{},[262],{"type":43,"value":263},"Where to find it",{"type":38,"tag":265,"props":266,"children":267},"tbody",{},[268,282,295,314,327],{"type":38,"tag":250,"props":269,"children":270},{},[271,277],{"type":38,"tag":272,"props":273,"children":274},"td",{},[275],{"type":43,"value":276},"Full error and stack trace",{"type":38,"tag":272,"props":278,"children":279},{},[280],{"type":43,"value":281},"User input, test output, or CI logs",{"type":38,"tag":250,"props":283,"children":284},{},[285,290],{"type":38,"tag":272,"props":286,"children":287},{},[288],{"type":43,"value":289},"Failing code",{"type":38,"tag":272,"props":291,"children":292},{},[293],{"type":43,"value":294},"Read the origin file; note surrounding functions if they're part of the call chain",{"type":38,"tag":250,"props":296,"children":297},{},[298,303],{"type":38,"tag":272,"props":299,"children":300},{},[301],{"type":43,"value":302},"Recent changes",{"type":38,"tag":272,"props":304,"children":305},{},[306,312],{"type":38,"tag":52,"props":307,"children":309},{"className":308},[],[310],{"type":43,"value":311},"git log --oneline -5",{"type":43,"value":313}," on package.json, go.mod, requirements.txt, or the affected module",{"type":38,"tag":250,"props":315,"children":316},{},[317,322],{"type":38,"tag":272,"props":318,"children":319},{},[320],{"type":43,"value":321},"Config \u002F env",{"type":38,"tag":272,"props":323,"children":324},{},[325],{"type":43,"value":326},"Check relevant .env files, config objects, or framework setup near the failure",{"type":38,"tag":250,"props":328,"children":329},{},[330,335],{"type":38,"tag":272,"props":331,"children":332},{},[333],{"type":43,"value":334},"Logs",{"type":38,"tag":272,"props":336,"children":337},{},[338],{"type":43,"value":339},"logs\u002F directory, stdout captures, or ask the user",{"type":38,"tag":46,"props":341,"children":342},{},[343],{"type":43,"value":344},"If the evidence already strongly supports your hypothesis, you can delegate immediately. There's no\nvalue in gathering everything available if you already understand the problem.",{"type":38,"tag":66,"props":346,"children":348},{"id":347},"step-4-analyze-with-debug-assistant-agent",[349],{"type":43,"value":350},"Step 4: Analyze with debug-assistant-agent",{"type":38,"tag":46,"props":352,"children":353},{},[354,356,361],{"type":43,"value":355},"Invoke the ",{"type":38,"tag":52,"props":357,"children":359},{"className":358},[],[360],{"type":43,"value":57},{"type":43,"value":362}," with the structured context. Format your prompt to the agent as:",{"type":38,"tag":364,"props":365,"children":369},"pre",{"className":366,"code":368,"language":43},[367],"language-text","error: \u003Cexact error message and type, or \"no explicit error — symptom: ...\">\nlogs: \u003Crelevant log output, or \"not available\">\ncontext: \u003Cthe failing code and any related code you read — include file path and function name>\nhistory: \u003Crecent git changes to this area, or \"no recent changes\">\nenvironment: \u003Cruntime\u002Fframework\u002Fversion info, or \"standard dev environment\">\n",[370],{"type":38,"tag":52,"props":371,"children":373},{"__ignoreMap":372},"",[374],{"type":43,"value":368},{"type":38,"tag":46,"props":376,"children":377},{},[378],{"type":43,"value":379},"The agent returns ranked root-cause hypotheses (with confidence scores), an error pattern\nclassification, a three-phase fix plan (immediate change → validation → deployment), and concrete\ncode patches.",{"type":38,"tag":46,"props":381,"children":382},{},[383],{"type":43,"value":384},"Pick the highest-confidence hypothesis and fix plan. If two hypotheses are close in confidence,\nnote both and proceed with the more likely one — you can revisit if the first fix doesn't hold.",{"type":38,"tag":66,"props":386,"children":388},{"id":387},"step-5-apply-and-validate",[389],{"type":43,"value":390},"Step 5: Apply and Validate",{"type":38,"tag":46,"props":392,"children":393},{},[394],{"type":43,"value":395},"Apply the agent's recommended fix, then confirm it works:",{"type":38,"tag":397,"props":398,"children":399},"ol",{},[400,405,410,433],{"type":38,"tag":77,"props":401,"children":402},{},[403],{"type":43,"value":404},"Make the code changes the agent recommended (Edit\u002FWrite the affected files).",{"type":38,"tag":77,"props":406,"children":407},{},[408],{"type":43,"value":409},"Run the relevant test or reproduce the original trigger.",{"type":38,"tag":77,"props":411,"children":412},{},[413,415],{"type":43,"value":414},"If the error is gone, summarize for the user:\n",{"type":38,"tag":73,"props":416,"children":417},{},[418,423,428],{"type":38,"tag":77,"props":419,"children":420},{},[421],{"type":43,"value":422},"Root cause in plain language",{"type":38,"tag":77,"props":424,"children":425},{},[426],{"type":43,"value":427},"What was changed and why it fixes the problem",{"type":38,"tag":77,"props":429,"children":430},{},[431],{"type":43,"value":432},"Any follow-up to consider (adding a regression test, updating docs, monitoring a metric)",{"type":38,"tag":77,"props":434,"children":435},{},[436],{"type":43,"value":437},"If the error persists or a different error appears, treat the new state as updated input and\nreturn to Step 2. What failed is useful information about where the real root cause lies.",{"type":38,"tag":66,"props":439,"children":441},{"id":440},"staying-on-track",[442],{"type":43,"value":443},"Staying on Track",{"type":38,"tag":46,"props":445,"children":446},{},[447],{"type":43,"value":448},"Debugging can drift into exploration. Two guardrails that keep it productive:",{"type":38,"tag":73,"props":450,"children":451},{},[452,462],{"type":38,"tag":77,"props":453,"children":454},{},[455,460],{"type":38,"tag":120,"props":456,"children":457},{},[458],{"type":43,"value":459},"One hypothesis at a time.",{"type":43,"value":461}," Pick the most likely cause, apply the fix, verify. Only move to\nthe next hypothesis if verification fails. Trying to fix multiple hypotheses simultaneously\nmuddies the signal.",{"type":38,"tag":77,"props":463,"children":464},{},[465,470],{"type":38,"tag":120,"props":466,"children":467},{},[468],{"type":43,"value":469},"Distinguish code bugs from environment issues.",{"type":43,"value":471}," If the root cause is a missing env variable,\nwrong Node\u002FPython version, corrupted cache, or a service that's down — say so clearly. The fix\nis outside the code and applying a code patch won't help.",{"items":473,"total":632},[474,495,510,523,536,549,562,575,589,600,611,622],{"slug":475,"name":475,"fn":476,"description":477,"org":478,"tags":479,"stars":492,"repoUrl":493,"updatedAt":494},"configurator","configure auction smart contract parameters","Configure CCA (Continuous Clearing Auction) smart contract parameters through an interactive bulk form flow. Use when user says \"configure auction\", \"cca auction\", \"setup token auction\", \"auction configuration\", \"continuous auction\", or mentions CCA contracts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[480,483,486,489],{"name":481,"slug":482,"type":15},"Configuration","configuration",{"name":484,"slug":485,"type":15},"Ethereum","ethereum",{"name":487,"slug":488,"type":15},"Smart Contracts","smart-contracts",{"name":490,"slug":491,"type":15},"Web3","web3",215,"https:\u002F\u002Fgithub.com\u002FUniswap\u002Funiswap-ai","2026-07-17T06:08:08.974641",{"slug":496,"name":496,"fn":497,"description":498,"org":499,"tags":500,"stars":492,"repoUrl":493,"updatedAt":509},"copy-trade","copy trades from crypto wallets","This skill should be used when the user asks to \"copy trades from\" a wallet, \"mirror a wallet\", \"follow this address\", set up \"copy trading\", \"track and replicate a trader\", or mirror another account's swaps bounded by guardrails. Watches a target wallet and mirrors its trades, filtered by chain, asset match, position size, and the follower's own portfolio state.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[501,504,505,508],{"name":502,"slug":503,"type":15},"Automation","automation",{"name":484,"slug":485,"type":15},{"name":506,"slug":507,"type":15},"Trading","trading",{"name":490,"slug":491,"type":15},"2026-07-17T06:04:21.974052",{"slug":511,"name":511,"fn":512,"description":513,"org":514,"tags":515,"stars":492,"repoUrl":493,"updatedAt":522},"dca-bot","automate dollar cost average token purchases","This skill should be used when the user wants to \"dca into\" a token, \"buy X every day\", set up a \"recurring buy\", \"dollar cost average\" into an asset, \"schedule a buy\", or \"auto-buy on a dip\". Buys a fixed amount into a token on a schedule, optionally only when a condition holds (for example only when ETH is below a price threshold). The host agent's scheduler wakes the skill on a cadence; each wake is one self-contained run.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[516,517,520,521],{"name":502,"slug":503,"type":15},{"name":518,"slug":519,"type":15},"DeFi","defi",{"name":506,"slug":507,"type":15},{"name":490,"slug":491,"type":15},"2026-07-17T06:05:37.160647",{"slug":524,"name":524,"fn":525,"description":526,"org":527,"tags":528,"stars":492,"repoUrl":493,"updatedAt":535},"deployer","deploy Uniswap CCA smart contracts","Deploy CCA (Continuous Clearing Auction) smart contracts using the Factory pattern. Use when user says \"deploy auction\", \"deploy cca\", \"factory deployment\", or wants to deploy a configured auction.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[529,532,533,534],{"name":530,"slug":531,"type":15},"Deployment","deployment",{"name":484,"slug":485,"type":15},{"name":487,"slug":488,"type":15},{"name":490,"slug":491,"type":15},"2026-07-17T06:08:09.661977",{"slug":537,"name":537,"fn":538,"description":539,"org":540,"tags":541,"stars":492,"repoUrl":493,"updatedAt":548},"index-bot","create and rebalance asset portfolios","This skill should be used when the user asks to \"create an index\", \"build a basket of top assets\", \"buy a weighted basket\", \"make a portfolio of assets\", \"equal-weight basket\", \"rebalance my portfolio\", \"track the top N tokens\", or wants an automated, weighted multi-asset basket that buys in one pass and rebalances on a cadence. Builds the basket spec, delegates each buy and rebalance swap to the swap-integration Trading API flow, and records target weights in state.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[542,543,546,547],{"name":484,"slug":485,"type":15},{"name":544,"slug":545,"type":15},"Portfolio Management","portfolio-management",{"name":506,"slug":507,"type":15},{"name":490,"slug":491,"type":15},"2026-07-17T06:04:22.328253",{"slug":550,"name":550,"fn":551,"description":552,"org":553,"tags":554,"stars":492,"repoUrl":493,"updatedAt":561},"liquidity-planner","plan and create liquidity positions","This skill should be used when the user asks to \"provide liquidity\", \"create LP position\", \"add liquidity to pool\", \"become a liquidity provider\", \"create v3 position\", \"create v4 position\", \"concentrated liquidity\", \"set price range\", or mentions providing liquidity, LP positions, or liquidity pools on Uniswap. Generates deep links to create positions in the Uniswap interface.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[555,556,557,560],{"name":518,"slug":519,"type":15},{"name":484,"slug":485,"type":15},{"name":558,"slug":559,"type":15},"Liquidity","liquidity",{"name":490,"slug":491,"type":15},"2026-07-17T06:08:09.315325",{"slug":563,"name":563,"fn":564,"description":565,"org":566,"tags":567,"stars":492,"repoUrl":493,"updatedAt":574},"lp-integration","integrate Uniswap liquidity provisioning","Integrate Uniswap liquidity provisioning (LP) into applications via the LP REST API. Use when the user says \"LP API\", \"liquidity provisioning API\", \"provide liquidity programmatically\", \"create LP position via API\", \"add liquidity via API\", \"increase liquidity\", \"decrease liquidity\", \"remove liquidity\", \"claim LP fees\", \"collect LP fees\", \"manage LP positions in code\", or mentions building a backend, bot, or frontend that creates or manages Uniswap v2\u002Fv3\u002Fv4 liquidity positions through an API. Also use when debugging LP API calls (e.g. \u002Flp\u002Fcreate, \u002Flp\u002Fcheck_approval, \u002Flp\u002Fincrease, \u002Flp\u002Fdecrease, \u002Flp\u002Fclaim_fees), unexpected response fields, the approval or EIP-712 permit flow, or transaction-building errors for liquidity positions. For generating deep links to the Uniswap web app instead of calling the API, use the liquidity-planner skill; for using the Uniswap v4 SDK directly rather than the REST API, use the v4-sdk-integration skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[568,571,572,573],{"name":569,"slug":570,"type":15},"API Development","api-development",{"name":518,"slug":519,"type":15},{"name":558,"slug":559,"type":15},{"name":490,"slug":491,"type":15},"2026-07-17T06:08:13.704465",{"slug":576,"name":576,"fn":577,"description":578,"org":579,"tags":580,"stars":492,"repoUrl":493,"updatedAt":588},"pay-with-any-token","pay HTTP 402 challenges with Uniswap","Pay HTTP 402 payment challenges using tokens via the Tempo CLI and Uniswap Trading API. Use when the user encounters a 402 Payment Required response, needs to fulfill a machine payment, mentions \"MPP\", \"Tempo payment\", \"pay for API access\", \"HTTP 402\", \"x402\", \"machine payment protocol\", \"pay-with-any-token\", \"use tempo\", \"tempo request\", or \"tempo wallet\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[581,582,585,586],{"name":518,"slug":519,"type":15},{"name":583,"slug":584,"type":15},"Payments","payments",{"name":506,"slug":507,"type":15},{"name":587,"slug":587,"type":15},"x402","2026-07-17T06:04:29.756086",{"slug":590,"name":590,"fn":591,"description":592,"org":593,"tags":594,"stars":492,"repoUrl":493,"updatedAt":599},"pay-with-app","pay 402 payment challenges","Pay HTTP 402 payment challenges issued by OKX's Agent Payments Protocol (APP) on X Layer using tokens from any chain via the Uniswap Trading API. Use this skill whenever the user encounters a 402 challenge whose network resolves to X Layer (chain 196), mentions \"APP\", \"Agent Payments Protocol\", \"OKX agent payment\", \"OKX Onchain OS\", \"OKX agentic wallet\", \"x402 on X Layer\", \"USDT0\", \"x42\", \"Instant Payment\", \"Batch Payment\", \"pay for X Layer API\", or wants to pay an OKX-backed merchant. Even when the user does not explicitly say APP, prefer this skill for any 402 challenge whose network resolves to X Layer (chain 196). For 402 challenges on other chains (Ethereum, Base, Arbitrum, Tempo) use pay-with-any-token instead.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[595,596,597,598],{"name":569,"slug":570,"type":15},{"name":583,"slug":584,"type":15},{"name":490,"slug":491,"type":15},{"name":587,"slug":587,"type":15},"2026-07-17T06:07:38.795043",{"slug":601,"name":601,"fn":602,"description":603,"org":604,"tags":605,"stars":492,"repoUrl":493,"updatedAt":610},"swap-integration","integrate Uniswap swap functionality","Integrate Uniswap swaps into applications. Use when user says \"integrate swaps\", \"uniswap\", \"trading api\", \"add swap functionality\", \"build a swap frontend\", \"create a swap script\", \"smart contract swap integration\", \"use Universal Router\", \"Trading API\", or mentions swapping tokens via Uniswap.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[606,607,608,609],{"name":569,"slug":570,"type":15},{"name":518,"slug":519,"type":15},{"name":506,"slug":507,"type":15},{"name":490,"slug":491,"type":15},"2026-07-17T06:08:10.354222",{"slug":612,"name":612,"fn":613,"description":614,"org":615,"tags":616,"stars":492,"repoUrl":493,"updatedAt":621},"swap-planner","plan and execute token swaps","This skill should be used when the user asks to \"swap tokens\", \"trade ETH for USDC\", \"exchange tokens on Uniswap\", \"buy tokens\", \"sell tokens\", \"convert ETH to stablecoins\", \"find memecoins\", \"discover tokens\", \"research tokens\", \"tokens to buy\", \"find tokens to swap\", \"what should I buy\", or mentions swapping, trading, researching, discovering, buying, or exchanging tokens on any Uniswap-supported chain. Supports both known token swaps and token discovery workflows (discovery uses keyword search and web search — there is no live \"trending\" feed). Generates deep links to execute swaps in the Uniswap interface.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[617,618,619,620],{"name":518,"slug":519,"type":15},{"name":558,"slug":559,"type":15},{"name":506,"slug":507,"type":15},{"name":490,"slug":491,"type":15},"2026-07-17T06:08:10.008152",{"slug":623,"name":623,"fn":624,"description":625,"org":626,"tags":627,"stars":492,"repoUrl":493,"updatedAt":631},"v4-hook-generator","generate Uniswap v4 hook contracts","Generate Uniswap v4 hook contracts via OpenZeppelin MCP. Use when building custom swap logic, async swaps, hook-owned liquidity, custom curves, dynamic fees, MEV protection, limit orders, or oracle hooks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[628,629,630],{"name":484,"slug":485,"type":15},{"name":487,"slug":488,"type":15},{"name":490,"slug":491,"type":15},"2026-07-17T06:04:19.17669",19,{"items":634,"total":691},[635,640,659,678],{"slug":4,"name":4,"fn":5,"description":6,"org":636,"tags":637,"stars":19,"repoUrl":20,"updatedAt":21},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[638,639],{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},{"slug":641,"name":641,"fn":642,"description":643,"org":644,"tags":645,"stars":19,"repoUrl":20,"updatedAt":658},"generate-document","generate professional documents in multiple formats","Generate professional documents in multiple formats (PDF, DOCX, HTML, ODT, EPUB, RTF). Use when the user says \"make a PDF\", \"generate a report\", \"create a document\", \"export to Word\", \"make a Word doc\", \"convert to PDF\", \"export findings\", \"create documentation\", or wants to save analysis results as a formatted document.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[646,649,652,655],{"name":647,"slug":648,"type":15},"Documents","documents",{"name":650,"slug":651,"type":15},"DOCX","docx",{"name":653,"slug":654,"type":15},"HTML","html",{"name":656,"slug":657,"type":15},"PDF","pdf","2026-07-17T06:07:16.218183",{"slug":660,"name":660,"fn":661,"description":662,"org":663,"tags":664,"stars":19,"repoUrl":20,"updatedAt":677},"mermaid-diagram","generate Mermaid.js diagrams for visualization","Generate syntactically valid Mermaid.js diagrams. Use when user says \"create a mermaid diagram\", \"generate a flowchart\", \"draw a sequence diagram\", \"visualize with mermaid\", \"mermaid architecture diagram\", \"create a class diagram\", \"make a state diagram\", \"ER diagram\", \"Gantt chart\", \"gitGraph\", or when generating any Mermaid code block in markdown. Also use when asked to fix or debug a broken Mermaid diagram.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[665,668,671,674],{"name":666,"slug":667,"type":15},"Design","design",{"name":669,"slug":670,"type":15},"Diagrams","diagrams",{"name":672,"slug":673,"type":15},"Documentation","documentation",{"name":675,"slug":676,"type":15},"Visualization","visualization","2026-07-17T06:05:36.621782",{"slug":679,"name":679,"fn":680,"description":681,"org":682,"tags":683,"stars":19,"repoUrl":20,"updatedAt":690},"skill-doctor","audit and optimize agent skills","Audit, map, and improve your Claude Code skills, agents, and slash commands — and mine the current session for new ones worth creating. Use this whenever the user says \"review my skills\", \"optimize my skills\", \"update my skills\", \"update all my skills\", \"maintain my skills\", \"audit my agents\", \"map my skills\", \"what skills do I have\", \"suggest skill improvements\", \"are any of my skills redundant\", \"clean up my skills\", \"turn this into a skill\", \"should this be a skill or an agent\", \"codify this workflow\", or invokes \u002Fskill-map, \u002Fskill-mine, or \u002Fskill-new. Also use PROACTIVELY after finishing a multi-step workflow that the user is likely to repeat (especially right after opening a PR) to ask whether it should become a skill or agent. It inventories every skill\u002Fagent\u002Fcommand across the user's own dirs AND all installed marketplaces, flags overlaps \u002F gaps \u002F weak triggering descriptions, and — when there's real prior work in the session — proposes new or edited skills\u002Fagents grounded in what actually happened.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[684,687],{"name":685,"slug":686,"type":15},"Agents","agents",{"name":688,"slug":689,"type":15},"Plugin Development","plugin-development","2026-07-17T06:08:14.373821",4]