[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GSXFQJS6X7BHHE6NC505VA":3,"skill-same:01M6GSXFQJS6X7BHHE6NC505VA":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":26,"commitSha":37,"skillDirectory":38,"forksCount":14,"repositoryHtmlUrl":39,"repositoryHomepageUrl":6,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":41,"install":42,"resources":54},"01M6GSXFQJS6X7BHHE6NC505VA","techdebt",null,"Find and safely remove duplicated or redundant code in current context or a provided scope, e.g. `scope:git diff main..HEAD`.","japurcell\u002Fskills","japurcell","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10947458?v=4","01M6GSJK1YAG95R6VHF47V30KY","Adam Purcell","01M6GSJK6817NVR5FVDMFFNJ6H",0,"MIT","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Ftechdebt\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29],"head","diff","scope","remove","find","git","true","main","code","context","path","2026-11-10 10:12:30",false,"---\nname: techdebt\ndescription: Find and safely remove duplicated or redundant code in current context or a provided scope, e.g. `scope:git diff main..HEAD`.\ndisable-model-invocation: true\nargument-hint: '[scope:\u003Cpath or git diff range>]'\n---\n\n# \u002Ftechdebt\n\nRemove duplicated code while preserving behavior. Prefer small, safe, validated changes over broad cleanup.\n\n## 1. Route\n\nBefore starting, activate or load the `delegate-to-subagents` skill so that you delegate tasks to the most suitable subagents for each task type when useful.\n\n## 2. Scope\n\nIf candidates are already provided, use them and skip discovery.\n\nOtherwise, use a fast-tier subagent to resolve scope:\n\n1. If input contains `scope:...`, inspect that scope.\n2. Else inspect `git status` and `git diff HEAD`.\n3. If no meaningful changes are found, report that and stop.\n   Do not broaden scope unless the user asks.\n\nBuild a shortlist of changed functions, classes, modules, tests, configs, scripts, handlers, or UI units.\n\n## 3. Find duplication\n\nDispatch 1-3 `code-explorer` subagents scaled to scope size, or inspect the relevant code directly for a narrow scope.\n\nSearch shortlist items against relevant nearby\u002Fcodebase patterns for:\n\n- exact duplicates\n- near duplicates\n- reimplemented helpers\u002Futilities\n- repeated validation, parsing, SQL, HTTP, error handling, config, shell, UI, or test setup logic\n\nClassify each finding as:\n\n- `exact`\n- `near`\n- `reimplementation`\n\nIf no meaningful duplication is found, report that and stop.\n\n## 4. Prioritize\n\nProcess safe, in-scope candidates in this order:\n\n1. same file\u002Fmodule\n2. same layer\u002Fservice area\n3. same abstraction level across modules\n4. broader architecture or UI\u002FCSS only if explicitly requested\n\nPrefer:\n\n- exact duplicates over near duplicates\n- existing helpers over new abstractions\n- minimal behavior-preserving diffs\n- backend\u002Ftest refactors over cosmetic churn\n\nDefault to the top 1–3 safest candidates unless the user requested broader cleanup.\n\n## 5. Refactor and validate\n\nFor each selected candidate:\n\n1. Dispatch one refactoring subagent.\n2. Refactoring subagent must:\n   - make the smallest behavior-preserving change\n   - reuse existing structure and conventions\n   - avoid new top-level patterns if equivalent ones exist\n   - activate or load the `tdd` skill only when tests must be added or changed\n3. Dispatch one validation subagent.\n4. Validation subagent runs relevant checks: tests, lint, type-check, build, or targeted commands.\n5. If validation fails, fix and revalidate; otherwise revert that candidate.\n\nContinue to the next safe candidate. Stop only when remaining candidates are unsafe, ambiguous, out of scope, or require a user choice.\n\nAsk the user before changes involving:\n\n- public API changes\n- architectural choices\n- visual\u002FUI behavior risk\n- broad convention or naming changes\n- unrelated refactors\n\n## 6. Report\n\nReturn a concise summary:\n\n- scope used\n- duplicates removed\n- shared helpers\u002Fabstractions introduced\n- validation commands and results\n- candidates kept, fixed, reverted, skipped, or blocked\n- recommended next dedupe targets, if any\n","# \u002Ftechdebt\n\nRemove duplicated code while preserving behavior. Prefer small, safe, validated changes over broad cleanup.\n\n## 1. Route\n\nBefore starting, activate or load the `delegate-to-subagents` skill so that you delegate tasks to the most suitable subagents for each task type when useful.\n\n## 2. Scope\n\nIf candidates are already provided, use them and skip discovery.\n\nOtherwise, use a fast-tier subagent to resolve scope:\n\n1. If input contains `scope:...`, inspect that scope.\n2. Else inspect `git status` and `git diff HEAD`.\n3. If no meaningful changes are found, report that and stop.\n   Do not broaden scope unless the user asks.\n\nBuild a shortlist of changed functions, classes, modules, tests, configs, scripts, handlers, or UI units.\n\n## 3. Find duplication\n\nDispatch 1-3 `code-explorer` subagents scaled to scope size, or inspect the relevant code directly for a narrow scope.\n\nSearch shortlist items against relevant nearby\u002Fcodebase patterns for:\n\n- exact duplicates\n- near duplicates\n- reimplemented helpers\u002Futilities\n- repeated validation, parsing, SQL, HTTP, error handling, config, shell, UI, or test setup logic\n\nClassify each finding as:\n\n- `exact`\n- `near`\n- `reimplementation`\n\nIf no meaningful duplication is found, report that and stop.\n\n## 4. Prioritize\n\nProcess safe, in-scope candidates in this order:\n\n1. same file\u002Fmodule\n2. same layer\u002Fservice area\n3. same abstraction level across modules\n4. broader architecture or UI\u002FCSS only if explicitly requested\n\nPrefer:\n\n- exact duplicates over near duplicates\n- existing helpers over new abstractions\n- minimal behavior-preserving diffs\n- backend\u002Ftest refactors over cosmetic churn\n\nDefault to the top 1–3 safest candidates unless the user requested broader cleanup.\n\n## 5. Refactor and validate\n\nFor each selected candidate:\n\n1. Dispatch one refactoring subagent.\n2. Refactoring subagent must:\n   - make the smallest behavior-preserving change\n   - reuse existing structure and conventions\n   - avoid new top-level patterns if equivalent ones exist\n   - activate or load the `tdd` skill only when tests must be added or changed\n3. Dispatch one validation subagent.\n4. Validation subagent runs relevant checks: tests, lint, type-check, build, or targeted commands.\n5. If validation fails, fix and revalidate; otherwise revert that candidate.\n\nContinue to the next safe candidate. Stop only when remaining candidates are unsafe, ambiguous, out of scope, or require a user choice.\n\nAsk the user before changes involving:\n\n- public API changes\n- architectural choices\n- visual\u002FUI behavior risk\n- broad convention or naming changes\n- unrelated refactors\n\n## 6. Report\n\nReturn a concise summary:\n\n- scope used\n- duplicates removed\n- shared helpers\u002Fabstractions introduced\n- validation commands and results\n- candidates kept, fixed, reverted, skipped, or blocked\n- recommended next dedupe targets, if any\n",{"name":5,"description":7,"argument-hint":35,"disable-model-invocation":36},"[scope:\u003Cpath or git diff range>]",true,"8a912f4cf9bf915fb92e5b29671f0ed22555bcb7","skills\u002Fdefault\u002Ftechdebt","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills","https:\u002F\u002Fgithub.com\u002Fjapurcell","2026-11-11 08:59:34",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":36},[44,47,50],{"tool":45,"command":46},"npx","npx skills add japurcell\u002Fskills --skill techdebt",{"tool":48,"command":49},"bunx","bunx skills add japurcell\u002Fskills --skill techdebt",{"tool":51,"command":52},"pnpm","pnpm dlx skills add japurcell\u002Fskills --skill techdebt","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Ftechdebt\u002FSKILL.md",[55,61],{"path":56,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":59,"sourceHtmlUrl":60},"agents\u002Fopenai.yaml","REFERENCE","参考文档",210,"https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Ftechdebt\u002Fagents\u002Fopenai.yaml",{"path":62,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":63,"sourceHtmlUrl":64},"evals\u002Fevals.json",2152,"https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Ftechdebt\u002Fevals\u002Fevals.json",[66,96,118,147,170,191],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":77,"publishedAt":30},"01M6PT0ZTYCN4DHK3SXWS79WSY","spec-create","Create or revise a portable behavioral SPEC for a feature or whole product. Use when specifying a new idea, documenting an existing system for reimplementation, or defining a change while preserving compatibility. Implementation planning is a separate task.","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Fspec-create\u002FSKILL.md",[72],{"categoryNo":73,"categoryName":74,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,29],"create","spec","spec create","feature","planning","for","system","use","Existing","task","output","change","product","implementation","revise","compatibility","behavioral","idea",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":103,"publishedAt":30},"01M6GSVHQ4MY4R4SMS8RY6324Q","prd-ralph","Complete at most one eligible unfinished PRD task, verify it, log progress, and optionally create one scoped commit.","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Fprd-ralph\u002FSKILL.md",[102],{"categoryNo":73,"categoryName":74,"taxonomyType":75,"taxonomyTypeDesc":76},[104,105,106,78,107,108,109,110,111,112,87,113,114,115,116,117,29],"prd ralph","ralph","prd","progress","verify","at","complete","commit","it","log","scoped","false","file","id",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":127,"publishedAt":30},"01M6GSYMGHE2FEGEFKD926EJH8","fsdp-style-guide","Mandatory for all UI\u002FUX design, implementation, review, audit, or visual regression tasks. Always use for any work that affects user-facing appearance, behavior, accessibility, branding, layout, navigation, forms, dialogs, alerts, tables, or visual design.","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fforest-service\u002Ffsdp-style-guide\u002FSKILL.md",[124],{"categoryNo":125,"categoryName":126,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000032","设计师",[128,129,130,131,132,133,134,135,85,136,137,138,139,140,141,142,143,144,145,146,83],"fsdp style guide","style guide","FSDP","style","guide","visual regression","regression","design","visual","tasks","review","visual design","alerts","work","branding","layout","audit","ux","behavior",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":30},"01M6GSYHEQARNM7WN0RJA7K7T2","agency-priorities","Provide self-contained USDA strategic goals and Forest Service priorities for agency briefings, proposals, and work-plan alignment. Use when explaining agency direction or evaluating how a project contributes to USDA and Forest Service priorities.","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fforest-service\u002Fagency-priorities\u002FSKILL.md",[],[154,155,156,157,158,141,159,160,161,162,163,164,165,166,85,83,167,168,169],"agency priorities","priorities","agency","self","alignment","plan","goals","proposals","direction","how","project","strategic","service","when","briefings","self-contained",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":179,"publishedAt":30},"01M6GSY9VVN8RSJ5QYM540ZJ1D","accomplishment-report","Create a concise Forest Service executive accomplishment report when all work in an ExecPlan is completed, or update its existing report. Use at ExecPlan closeout and when asked to report completed work, agency alignment, and estimated AI-assisted versus human-only time and cost savings.","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fforest-service\u002Faccomplishment-report\u002FSKILL.md",[176],{"categoryNo":177,"categoryName":178,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000034","行政与办公人员",[180,181,158,182,78,141,183,184,185,186,109,156,187,166,85,188,189,190,86,167],"report","accomplishment report","cost","concise","human","time","update","only","closeout","savings","execplan",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":205,"publishedAt":30},"01M6GSY7J8ZMCE319P8Y6JZ432","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Fwriting-for-agents\u002FSKILL.md",[197,202],{"categoryNo":198,"categoryName":199,"taxonomyType":200,"taxonomyTypeDesc":201},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":203,"categoryName":204,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000036","内容创作者",[206,207,83,85,208,209,167],"writing","writing for agents","documents","editing"]