[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C0JM25DS2MX0W388VR3RAY":3,"skill-same:01M6C0JM25DS2MX0W388VR3RAY":71},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":43,"ownerHtmlUrl":44,"ownerBlogUrl":45,"ownerDescription":9,"updatedAt":46,"install":47,"resources":60},"01M6C0JM25DS2MX0W388VR3RAY","fix-bug",null,"Fix a bug using test-driven development. Use when the user reports a bug, describes unexpected behavior, wants to fix a defect, or says something is broken. Enforces a strict test-first workflow where a failing test must be written and verified before any fix is attempted.","Nimblesite\u002FDataProvider","Nimblesite","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F178527684?v=4","01M6C0JCTZP0TRD8TD5ASTA0HY","01M6C0JD0KFR7H2S3JVJ0D031N",68,"MIT","https:\u002F\u002Fgithub.com\u002FNimblesite\u002FDataProvider\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ffix-bug\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30],"fix bug","workflow","test","development","first","Bash","grep","broken","2026-11-10 10:12:30",false,"---\nname: fix-bug\ndescription: Fix a bug using test-driven development. Use when the user reports a bug, describes unexpected behavior, wants to fix a defect, or says something is broken. Enforces a strict test-first workflow where a failing test must be written and verified before any fix is attempted.\nargument-hint: \"[bug description]\"\nallowed-tools: Read, Grep, Glob, Edit, Write, Bash\n---\n\u003C!-- agent-pmo:795a9c2 -->\n\n# Bug Fix Skill — Test-First Workflow\n\nYou MUST follow this exact workflow. Do NOT skip steps. Do NOT fix the bug before writing a failing test.\n\n## Step 1: Understand the Bug\n\n- Read the bug description: $ARGUMENTS\n- Investigate the codebase to understand the relevant code\n- Identify the root cause (or narrow down candidates)\n- Summarize your understanding of the bug to the user before proceeding\n\n## Step 2: Write a Failing Test\n\n- Write a test that **directly exercises the buggy behavior**\n- The test must assert the **correct\u002Fexpected** behavior — so it FAILS against the current broken code\n- The test name should clearly describe the bug (e.g., `test_orange_color_not_applied_to_head`)\n- Use the project's existing test framework and conventions\n\n## Step 3: Run the Test — Confirm It FAILS\n\n- Run ONLY the new test (not the full suite)\n- **Verify the test FAILS** and that it fails **because of the bug**, not for some other reason (typo, import error, wrong selector, etc.)\n- If the test passes: your test does not capture the bug. Go back to Step 2\n- If the test fails for the wrong reason: fix the test, not the code. Go back to Step 2\n- **Repeat until the test fails specifically because of the bug**\n\n## Step 4: Show Failure to User\n\n- Show the user the test code and the failure output\n- Explicitly ask: \"This test fails because of the bug. Can you confirm this captures the issue before I fix it?\"\n- **STOP and WAIT for user acknowledgment before proceeding**\n- Do NOT continue to Step 5 until the user confirms\n\n## Step 5: Fix the Bug\n\n- Make the **minimum change** needed to fix the bug\n- Do not refactor, clean up, or \"improve\" surrounding code\n- Do not change the test\n\n## Step 6: Run the Test — Confirm It PASSES\n\n- Run the new test again\n- **Verify it PASSES**\n- If it fails: go back to Step 5 and adjust the fix\n- **Repeat until the test passes**\n\n## Step 7: Run the Full Test Suite\n\n- Run ALL tests to make sure nothing else broke\n- If other tests fail: fix the regression without breaking the new test\n- Report the final result to the user\n\n## Rules\n\n- NEVER fix the bug before the failing test is written and confirmed\n- NEVER skip asking the user to acknowledge the test failure\n- NEVER modify the test to make it pass — modify the source code\n- If you cannot write a test for the bug, explain why and ask the user how to proceed\n- Keep the fix minimal — one bug, one fix, one test\n","\u003C!-- agent-pmo:795a9c2 -->\n\n# Bug Fix Skill — Test-First Workflow\n\nYou MUST follow this exact workflow. Do NOT skip steps. Do NOT fix the bug before writing a failing test.\n\n## Step 1: Understand the Bug\n\n- Read the bug description: $ARGUMENTS\n- Investigate the codebase to understand the relevant code\n- Identify the root cause (or narrow down candidates)\n- Summarize your understanding of the bug to the user before proceeding\n\n## Step 2: Write a Failing Test\n\n- Write a test that **directly exercises the buggy behavior**\n- The test must assert the **correct\u002Fexpected** behavior — so it FAILS against the current broken code\n- The test name should clearly describe the bug (e.g., `test_orange_color_not_applied_to_head`)\n- Use the project's existing test framework and conventions\n\n## Step 3: Run the Test — Confirm It FAILS\n\n- Run ONLY the new test (not the full suite)\n- **Verify the test FAILS** and that it fails **because of the bug**, not for some other reason (typo, import error, wrong selector, etc.)\n- If the test passes: your test does not capture the bug. Go back to Step 2\n- If the test fails for the wrong reason: fix the test, not the code. Go back to Step 2\n- **Repeat until the test fails specifically because of the bug**\n\n## Step 4: Show Failure to User\n\n- Show the user the test code and the failure output\n- Explicitly ask: \"This test fails because of the bug. Can you confirm this captures the issue before I fix it?\"\n- **STOP and WAIT for user acknowledgment before proceeding**\n- Do NOT continue to Step 5 until the user confirms\n\n## Step 5: Fix the Bug\n\n- Make the **minimum change** needed to fix the bug\n- Do not refactor, clean up, or \"improve\" surrounding code\n- Do not change the test\n\n## Step 6: Run the Test — Confirm It PASSES\n\n- Run the new test again\n- **Verify it PASSES**\n- If it fails: go back to Step 5 and adjust the fix\n- **Repeat until the test passes**\n\n## Step 7: Run the Full Test Suite\n\n- Run ALL tests to make sure nothing else broke\n- If other tests fail: fix the regression without breaking the new test\n- Report the final result to the user\n\n## Rules\n\n- NEVER fix the bug before the failing test is written and confirmed\n- NEVER skip asking the user to acknowledge the test failure\n- NEVER modify the test to make it pass — modify the source code\n- If you cannot write a test for the bug, explain why and ask the user how to proceed\n- Keep the fix minimal — one bug, one fix, one test\n",{"name":5,"description":7,"allowed-tools":36,"argument-hint":37},"Read, Grep, Glob, Edit, Write, Bash","[bug description]","main","52a3bb1b0b693dd04699b77cbfb8dfbe4befdec0",".agents\u002Fskills\u002Ffix-bug",4,"https:\u002F\u002Fgithub.com\u002FNimblesite\u002FDataProvider","https:\u002F\u002Flql.dev\u002F","https:\u002F\u002Fgithub.com\u002FNimblesite","https:\u002F\u002Fwww.nimblesite.co\u002F","2026-11-03 10:27:35",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add Nimblesite\u002FDataProvider --skill fix-bug",{"tool":53,"command":54},"bunx","bunx skills add Nimblesite\u002FDataProvider --skill fix-bug",{"tool":56,"command":57},"pnpm","pnpm dlx skills add Nimblesite\u002FDataProvider --skill fix-bug","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FNimblesite\u002FDataProvider\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ffix-bug\u002FSKILL.md",true,[61,67],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"agents\u002Fopenai.yaml","REFERENCE","参考文档",137,"https:\u002F\u002Fgithub.com\u002Fsimonhauck\u002FOpenFireStationManager\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fask-matt\u002Fagents\u002Fopenai.yaml",{"path":68,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":69,"sourceHtmlUrl":70},"PHASE-BOUNDARIES.md",4278,"https:\u002F\u002Fgithub.com\u002Fsimonhauck\u002FOpenFireStationManager\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fask-matt\u002FPHASE-BOUNDARIES.md",[72,98,112,126,140,145],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":86,"publishedAt":31},"01M6C0KDKYAKZ8W4KCZZCGW4YN","website-audit","Audits a website for SEO, AI search performance, structured data, mobile usability, broken links, and social media cards. Fixes issues found. Use when the user mentions \"audit website\", \"SEO\", \"fix search ranking\", \"AI search\", \"structured data\", \"social media cards\", or \"website performance\".","https:\u002F\u002Fgithub.com\u002FNimblesite\u002FDataProvider\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwebsite-audit\u002FSKILL.md",[78,81],{"categoryNo":79,"categoryName":80,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000019","营销推广",{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000035","市场营销","PROFESSION","适用职业",[87,88,89,90,91,92,93,94,95,96,97,30],"website audit","audit","website","search","structured data","performance","issues","data","seo","Media","social media",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":31},"01M6C0KBQHTHM3Q8FTDZHVHHPQ","upgrade-packages","Upgrade all dependencies\u002Fpackages to their latest versions for the detected language(s). Use when the user says \"upgrade packages\", \"update dependencies\", \"bump versions\", \"update packages\", or \"upgrade deps\".","https:\u002F\u002Fgithub.com\u002FNimblesite\u002FDataProvider\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fupgrade-packages\u002FSKILL.md",[],[105,106,107,108,109,110,111],"upgrade packages","packages","update","package","deps","check","update dependencies",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":31},"01M6C0K9V6V43P869Q52DGDECN","submit-pr","Creates a pull request with a well-structured description after verifying CI passes. Use when the user asks to submit, create, or open a pull request.","https:\u002F\u002Fgithub.com\u002FNimblesite\u002FDataProvider\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsubmit-pr\u002FSKILL.md",[],[119,120,121,122,123,124,125],"submit pr","pr","pull request","create","pull","ci","open",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":31},"01M6C0K7RTZMBVC01CZ6HKBP1C","spec-check","Audit spec\u002Fplan documents against the codebase. Ensures every spec section has implementing code, tests, and matching logic. Use when the user says \"check specs\", \"spec audit\", or \"verify specs\".","https:\u002F\u002Fgithub.com\u002FNimblesite\u002FDataProvider\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fspec-check\u002FSKILL.md",[],[133,110,134,135,136,137,88,138,139],"spec check","spec","documents","implementing code","code","verify","plan",{"skillNo":141,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":31},"01M6C0K5HF3W1KN1J6K4PAQZ8V","https:\u002F\u002Fgithub.com\u002FNimblesite\u002FDataProvider\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffix-bug\u002FSKILL.md",[],[23,27,29,28,30,26,25,24],{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":154,"publishedAt":31},"01M6C0K3SD41A9H3E3NEYFXK9P","code-dedup","Searches for duplicate code, duplicate tests, and dead code, then safely merges or removes them. Use when the user says \"deduplicate\", \"find duplicates\", \"remove dead code\", \"DRY up\", or \"code dedup\". Requires test coverage — refuses to touch untested code.","https:\u002F\u002Fgithub.com\u002FNimblesite\u002FDataProvider\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcode-dedup\u002FSKILL.md",[151],{"categoryNo":152,"categoryName":153,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000030","开发工程师",[137,155,156,157,158,25],"code dedup","find","dead code","deduplicate"]