[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6J4SF25RB9GAT7E2BEP8V63":3,"skill-same:01M6J4SF25RB9GAT7E2BEP8V63":88},{"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":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":47,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6J4SF25RB9GAT7E2BEP8V63","planr-investigate",null,"Diagnose a bug, regression, error, or unexplained behavior and optionally implement a bounded fix. Use for root-cause investigation, including before any fix, not planned feature delivery.","openplanr\u002FOpenPlanr","openplanr","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F273764861?v=4","01M6J4PHHBPM1ATKH7TXR1AZMB","OpenPlanr","01M6J4PHNQ7FWP1CC3JGNVBQ8N",6,"MIT","https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Fskills\u002Fplanr-investigate\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"planr investigate","investigate","bug","bounded","for","root","error","feature","delivery","root-cause","implement","use","fix","behavior","regression","investigation","diagnose","feature delivery","2026-11-10 10:12:30",false,"---\nname: planr-investigate\ndescription: \"Diagnose a bug, regression, error, or unexplained behavior and optionally implement a bounded fix. Use for root-cause investigation, including before any fix, not planned feature delivery.\"\n---\n\n# OpenPlanr Investigate\n\nFind the cause before proposing a fix. Use the request, repository, runtime output, and focused\nexperiments as context. Keep the investigation lightweight and make every diagnostic useful to\nthe requested outcome.\n\n## Investigate\n\n1. Restate the observed failure and the smallest reproducible case.\n2. Trace the relevant call path, state, configuration, and recent changes.\n3. Form competing hypotheses and run the cheapest discriminating checks first.\n4. Identify the root cause only when the observations distinguish it from plausible alternatives.\n5. Report exact errors and unavailable tools without prescribing a workflow ceremony.\n\n## Fix when requested\n\nWhen the user asked for a fix, implement the smallest coherent correction within the requested\nrepository and run focused regression checks. Preserve unrelated work. Ask only when a missing\nproduct decision or an irreversible external action genuinely blocks progress.\nProve the regression test with [fail-first](references\u002Ffail-first.md).\n\n## Findings outside the cause\n\nReport other defects you notice as [findings](references\u002Ffindings.md), and never\nfix them in this change unless they block the requested fix. The established cause\nis never a finding. [Backlog filing](references\u002Fbacklog-filing.md) lists and files\nbacklog items with your own file tools.\n\n## Return\n\nLead with the established cause or clearly labeled remaining hypothesis. Link\nchanged files and relevant evidence, and distinguish executed checks from source\ninspection. For a blocked experiment, state what remains known and the exact\nnext diagnostic or recovery action. Preserve the detailed investigation in its\nexisting report rather than returning raw tool transcripts.\n\n- **Cause:** established root cause, or the strongest remaining hypotheses.\n- **Change:** files and behavior changed, or none for diagnosis-only work.\n- **Checks:** commands and results.\n- **Issues:** unresolved uncertainty or blocker, or none; then findings outside\n  the cause, each with its disposition.\n\nOmit empty sections in the human summary. Different wording does not justify\nanother experiment or corrective run.\n","# OpenPlanr Investigate\n\nFind the cause before proposing a fix. Use the request, repository, runtime output, and focused\nexperiments as context. Keep the investigation lightweight and make every diagnostic useful to\nthe requested outcome.\n\n## Investigate\n\n1. Restate the observed failure and the smallest reproducible case.\n2. Trace the relevant call path, state, configuration, and recent changes.\n3. Form competing hypotheses and run the cheapest discriminating checks first.\n4. Identify the root cause only when the observations distinguish it from plausible alternatives.\n5. Report exact errors and unavailable tools without prescribing a workflow ceremony.\n\n## Fix when requested\n\nWhen the user asked for a fix, implement the smallest coherent correction within the requested\nrepository and run focused regression checks. Preserve unrelated work. Ask only when a missing\nproduct decision or an irreversible external action genuinely blocks progress.\nProve the regression test with [fail-first](references\u002Ffail-first.md).\n\n## Findings outside the cause\n\nReport other defects you notice as [findings](references\u002Ffindings.md), and never\nfix them in this change unless they block the requested fix. The established cause\nis never a finding. [Backlog filing](references\u002Fbacklog-filing.md) lists and files\nbacklog items with your own file tools.\n\n## Return\n\nLead with the established cause or clearly labeled remaining hypothesis. Link\nchanged files and relevant evidence, and distinguish executed checks from source\ninspection. For a blocked experiment, state what remains known and the exact\nnext diagnostic or recovery action. Preserve the detailed investigation in its\nexisting report rather than returning raw tool transcripts.\n\n- **Cause:** established root cause, or the strongest remaining hypotheses.\n- **Change:** files and behavior changed, or none for diagnosis-only work.\n- **Checks:** commands and results.\n- **Issues:** unresolved uncertainty or blocker, or none; then findings outside\n  the cause, each with its disposition.\n\nOmit empty sections in the human summary. Different wording does not justify\nanother experiment or corrective run.\n",{"name":5,"description":7},"main","2e652da8c7d9983e0ad05bf1e27c683914ce56a1","skills\u002Fplanr-investigate",1,"https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr","https:\u002F\u002Fopenplanr.dev","https:\u002F\u002Fgithub.com\u002Fopenplanr","https:\u002F\u002Fopenplanr.dev\u002F","Close the loop from intent to delivery. The open harness around your coding agent.","2026-11-12 12:17:02",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add openplanr\u002FOpenPlanr --skill planr-investigate",{"tool":58,"command":59},"bunx","bunx skills add openplanr\u002FOpenPlanr --skill planr-investigate",{"tool":61,"command":62},"pnpm","pnpm dlx skills add openplanr\u002FOpenPlanr --skill planr-investigate","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Fskills\u002Fplanr-investigate\u002FSKILL.md",true,[66,72,76,80,84],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"agents\u002Fopenai.yaml","REFERENCE","参考文档",417,"https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Fskills\u002Fplanr-investigate\u002Fagents\u002Fopenai.yaml",{"path":73,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":74,"sourceHtmlUrl":75},"openplanr.skill.json",1115,"https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Fskills\u002Fplanr-investigate\u002Fopenplanr.skill.json",{"path":77,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":78,"sourceHtmlUrl":79},"references\u002Fbacklog-filing.md",4084,"https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Fskills\u002Fplanr-investigate\u002Freferences\u002Fbacklog-filing.md",{"path":81,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Ffail-first.md",1734,"https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Fskills\u002Fplanr-investigate\u002Freferences\u002Ffail-first.md",{"path":85,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Ffindings.md",3982,"https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Fskills\u002Fplanr-investigate\u002Freferences\u002Ffindings.md",[89,105,123,141,165,183],{"skillNo":90,"name":91,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":104,"publishedAt":37},"01M70XD1RYQC5160MRRCPTGA2K","design","https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Ftests\u002Frelease-train\u002Ffixtures\u002Ffigma\u002Fskills\u002Fdesign\u002FSKILL.md",[94,99],{"categoryNo":95,"categoryName":96,"taxonomyType":97,"taxonomyTypeDesc":98},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[91],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":37},"01M6J4V75T3VW91HJQ5ZD5SFW0","planr-sync","Audit OpenPlanr planning artifacts for graph and protocol drift. Use when statuses, references, schemas, or generated planning views may be inconsistent.","https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Fskills\u002Fplanr-sync\u002FSKILL.md",[],[112,113,114,115,116,117,118,119,120,121,30,23,122],"sync","planr sync","generated","when","graph","protocol","audit","references","drift","artifacts","planning",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":37},"01M6J4V38R89DYYA4AAN312MNZ","planr-status","Inspect project delivery or one feature's pipeline status without changing state. Use when the user asks what is done, pending, blocked, or next.","https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Fskills\u002Fplanr-status\u002FSKILL.md",[],[130,131,132,133,134,30,135,136,137,26,27,138,115,139,140],"status","planr status","next","state","done","inspect","pipeline","project","pending","pipeline status","user",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":150,"publishedAt":37},"01M6J4TYGNBZG2YSSHCY8BASFB","planr-sprint","Refine every open backlog item against the code and the calendar, refute the picks, and select a sprint that fits capacity and the release cut. Use before a cut or sprint; not for decomposing one specification or reporting status.","https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Fskills\u002Fplanr-sprint\u002FSKILL.md",[147],{"categoryNo":148,"categoryName":149,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000030","开发工程师",[151,152,153,154,30,155,156,23,130,157,158,159,160,161,162,163,164],"planr sprint","sprint","release","capacity","release cut","backlog","refine","reporting","calendar","cut","specification","code","open","select",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":37},"01M6J4TT7X6GV9A25JHSMKEMHJ","planr-spec","Shape vague product or engineering intent into a clear, measurable Protocol-compatible specification grounded in the current repository. Use when requirements need clarification before planning or implementation.","https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Fskills\u002Fplanr-spec\u002FSKILL.md",[],[172,173,174,30,122,175,176,115,177,178,117,179,180,181,182,161],"spec","planr spec","requirements","vague","engineering","implementation","clear","shape","repository","product","intent",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":37},"01M6J4TNYE49SE8PBNNWJKK1CN","planr-ship","Implement an OpenPlanr plan, specification, task, or clearly stated request end to end in the current repository. Use when the user asks to build, implement, fix, finish, or ship local work, or to plan and implement an accepted change. Invoke before editing files for the requested change. Not for planning only, landing, release, or work handed to another coding agent.","https:\u002F\u002Fgithub.com\u002Fopenplanr\u002FOpenPlanr\u002Fblob\u002Fmain\u002Fskills\u002Fplanr-ship\u002FSKILL.md",[],[190,191,192,193,194,31,195,196,197,198,199,115,200,201,202,23,122,203,204,153,180,205,161,206],"ship","planr ship","local","only","end","coding agent","work","plan","plan and implement","request","invoke","landing","editing","coding","finish","files","change"]