[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69BSK3FP0VC7E2VFQPD80TX":3,"skill-same:01M69BSK3FP0VC7E2VFQPD80TX":97},{"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":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":36,"ownerDescription":37,"updatedAt":38,"install":39,"resources":52},"01M69BSK3FP0VC7E2VFQPD80TX","fabric-heal",null,"Self-healing skill that improves signal mapper keyword coverage and capability coverage (ADR-0002) through iterative problem generation and keyword\u002Fcapability patching. Use when user says \"heal signal mapper\", \"improve keyword coverage\", \"improve capability coverage\", \"generate problem statements\", \"run healing loop\", \"patch signal mapper\", or asks about \"signal mapper gaps\" or \"capability gaps\". Do NOT use for project architecture or deployment.","microsoft\u002Ffabric-task-flows","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69BS6WSYE8E26WH7RHG87KQ",50,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-heal\u002FSKILL.md",[],[19,20,21,22,23,24],"fabric","fabric heal","architecture","deployment","generate","run","2026-11-10 10:12:30",false,"---\nname: fabric-heal\ndescription: >\n  Self-healing skill that improves signal mapper keyword coverage and\n  capability coverage (ADR-0002) through iterative problem generation and\n  keyword\u002Fcapability patching. Use when user says \"heal signal mapper\",\n  \"improve keyword coverage\", \"improve capability coverage\", \"generate\n  problem statements\", \"run healing loop\", \"patch signal mapper\", or asks\n  about \"signal mapper gaps\" or \"capability gaps\". Do NOT use for project\n  architecture or deployment.\n---\n\n# Fabric Signal Mapper Healer\n\n## Mode 1: Generate Problem Statements\n\nOrchestrator passes `--mode generate --batch-num N`. Write 25 novel problem statements to `problem-statements.md`.\n\n### Requirements\n\nRealistic (enterprise user), specific (volumes\u002Ftools\u002Fdeadlines), multi-signal (2-3 categories), domain-diverse, varying complexity.\n\n### Output Format (parser-dependent)\n\n```markdown\n# Problem Statements for Stress Testing\n\n> Auto-generated batch N — 25 problems for self-healing loop.\n\n## Category Name\n\n1. \"Problem statement text in quotes.\"\n\n2. \"Another problem in same category.\"\n```\n\nUse 5-8 categories per batch, 3-5 problems per category.\n\n## Mode 2: Analyze Gaps and Patch Keywords\n\nOrchestrator passes `--mode heal` with benchmark results (coverage %, zero-candidate count, uncovered terms).\n\n1. Map uncovered terms to signal categories (1-11)\n2. Update `_shared\u002Fregistry\u002Fsignal-categories.json` using `signal-categories-cli.py` (max 15 new keywords per category per iteration)\n\n## Orchestrator Reporting (Verbose Distribution)\n\n`heal-orchestrator.py` prints a verbose, deterministic distribution report with ASCII bar charts:\n\n- Task flow suggestion rate\n- Top candidate distribution\n- Pattern-category distribution (batch\u002Fstreaming\u002Fhybrid\u002Fgovernance\u002Fapp-api)\n- Skillset distribution (LC\u002FCF\u002Fmixed tendencies)\n- Item type frequency across suggested flows\n- Recommendations derived from benchmark thresholds and recurring uncovered terms\n\nDetailed analytics are persisted to:\n\n- `.github\u002Fskills\u002Ffabric-heal\u002Fscripts\u002F_heal-loop-results.json`\n\n### Constraints\n\n- Use `signal-mapper.py` for all signal lookups.\n- For keyword maintenance, use `_shared\u002Fscripts\u002Fsignal-categories-cli.py` (add\u002Fremove\u002Fmove\u002Flist) instead of manual raw JSON edits.\n- Never remove existing keywords or modify the matching algorithm\n- Clean up generated files: delete `problem-statements-batch*.md` after each loop completes\n- Prefer specific terms over generic ones\n\n## References\n\n- `.github\u002Fskills\u002Ffabric-discover\u002Fscripts\u002Fsignal-mapper.py` — current keyword categories\n- `_shared\u002Fscripts\u002Fsignal-categories-cli.py` — safe keyword maintenance helper for signal categories registry\n- `problem-statements.md` — existing format (in this skill's folder)\n- `task-flows.md` — task flow descriptions\n","# Fabric Signal Mapper Healer\n\n## Mode 1: Generate Problem Statements\n\nOrchestrator passes `--mode generate --batch-num N`. Write 25 novel problem statements to `problem-statements.md`.\n\n### Requirements\n\nRealistic (enterprise user), specific (volumes\u002Ftools\u002Fdeadlines), multi-signal (2-3 categories), domain-diverse, varying complexity.\n\n### Output Format (parser-dependent)\n\n```markdown\n# Problem Statements for Stress Testing\n\n> Auto-generated batch N — 25 problems for self-healing loop.\n\n## Category Name\n\n1. \"Problem statement text in quotes.\"\n\n2. \"Another problem in same category.\"\n```\n\nUse 5-8 categories per batch, 3-5 problems per category.\n\n## Mode 2: Analyze Gaps and Patch Keywords\n\nOrchestrator passes `--mode heal` with benchmark results (coverage %, zero-candidate count, uncovered terms).\n\n1. Map uncovered terms to signal categories (1-11)\n2. Update `_shared\u002Fregistry\u002Fsignal-categories.json` using `signal-categories-cli.py` (max 15 new keywords per category per iteration)\n\n## Orchestrator Reporting (Verbose Distribution)\n\n`heal-orchestrator.py` prints a verbose, deterministic distribution report with ASCII bar charts:\n\n- Task flow suggestion rate\n- Top candidate distribution\n- Pattern-category distribution (batch\u002Fstreaming\u002Fhybrid\u002Fgovernance\u002Fapp-api)\n- Skillset distribution (LC\u002FCF\u002Fmixed tendencies)\n- Item type frequency across suggested flows\n- Recommendations derived from benchmark thresholds and recurring uncovered terms\n\nDetailed analytics are persisted to:\n\n- `.github\u002Fskills\u002Ffabric-heal\u002Fscripts\u002F_heal-loop-results.json`\n\n### Constraints\n\n- Use `signal-mapper.py` for all signal lookups.\n- For keyword maintenance, use `_shared\u002Fscripts\u002Fsignal-categories-cli.py` (add\u002Fremove\u002Fmove\u002Flist) instead of manual raw JSON edits.\n- Never remove existing keywords or modify the matching algorithm\n- Clean up generated files: delete `problem-statements-batch*.md` after each loop completes\n- Prefer specific terms over generic ones\n\n## References\n\n- `.github\u002Fskills\u002Ffabric-discover\u002Fscripts\u002Fsignal-mapper.py` — current keyword categories\n- `_shared\u002Fscripts\u002Fsignal-categories-cli.py` — safe keyword maintenance helper for signal categories registry\n- `problem-statements.md` — existing format (in this skill's folder)\n- `task-flows.md` — task flow descriptions\n",{"name":5,"description":7},"main","3764df9d5931e15ecf2a6b06ec8b75687109804f",".github\u002Fskills\u002Ffabric-heal",16,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-05-22 22:53:40",{"source":8,"skillName":5,"commands":40,"prompt":50,"zipAvailable":51},[41,44,47],{"tool":42,"command":43},"npx","npx skills add microsoft\u002Ffabric-task-flows --skill fabric-heal",{"tool":45,"command":46},"bunx","bunx skills add microsoft\u002Ffabric-task-flows --skill fabric-heal",{"tool":48,"command":49},"pnpm","pnpm dlx skills add microsoft\u002Ffabric-task-flows --skill fabric-heal","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-heal\u002FSKILL.md",true,[53,59,63,67,73,77,81,85,89,93],{"path":54,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":58},"agents\u002Fopenai.yaml","REFERENCE","参考文档",87,"https:\u002F\u002Fgithub.com\u002Fagross\u002Fdotfiles\u002Fblob\u002Fmaster\u002Fagents\u002Fagents\u002Fskills\u002Ftdd\u002Fagents\u002Fopenai.yaml",{"path":60,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":61,"sourceHtmlUrl":62},"mocking.md",1481,"https:\u002F\u002Fgithub.com\u002Fagross\u002Fdotfiles\u002Fblob\u002Fmaster\u002Fagents\u002Fagents\u002Fskills\u002Ftdd\u002Fmocking.md",{"path":64,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":65,"sourceHtmlUrl":66},"problem-statements.md",2647,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-heal\u002Fproblem-statements.md",{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"scripts\u002F_heal-loop-results.json","SCRIPT","脚本",3144,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-heal\u002Fscripts\u002F_heal-loop-results.json",{"path":74,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":75,"sourceHtmlUrl":76},"scripts\u002Fanalyze-inefficiencies.py",26600,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-heal\u002Fscripts\u002Fanalyze-inefficiencies.py",{"path":78,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":79,"sourceHtmlUrl":80},"scripts\u002Fheal_keyword_utils.py",5781,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-heal\u002Fscripts\u002Fheal_keyword_utils.py",{"path":82,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":83,"sourceHtmlUrl":84},"scripts\u002Fheal-orchestrator.py",41442,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-heal\u002Fscripts\u002Fheal-orchestrator.py",{"path":86,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":87,"sourceHtmlUrl":88},"scripts\u002Freview-prescan.py",24136,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-heal\u002Fscripts\u002Freview-prescan.py",{"path":90,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":91,"sourceHtmlUrl":92},"scripts\u002Fself-heal.py",10826,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-heal\u002Fscripts\u002Fself-heal.py",{"path":94,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":95,"sourceHtmlUrl":96},"tests.md",2214,"https:\u002F\u002Fgithub.com\u002Fagross\u002Fdotfiles\u002Fblob\u002Fmaster\u002Fagents\u002Fagents\u002Fskills\u002Ftdd\u002Ftests.md",[98,105,117,136,147,166],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":25},"01M69BSS9GTV86FXERVF9498M4","handoff","Compact the current conversation into a handoff document for another agent to pick up.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fhandoff\u002FSKILL.md",[],[100],{"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":25},"01M69BSQQF1SD4KZ0FBWB8PD3Q","grill-with-docs","Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fgrill-with-docs\u002FSKILL.md",[],[112,113,114,115,116],"grill with docs","docs","grilling","test","documentation",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":128,"publishedAt":25},"01M69BSN3RK7QQMKP5FMHTNN01","fabric-test","The QA skill — reviews architecture for testability, creates test plans from acceptance criteria, and validates deployments. Use when user says \"create test plan\", \"validate deployment\", \"run validation\", \"review architecture\", \"check items\", \"what should we test\", or after architecture is finalized or deployment is complete. Do NOT use for architecture design (use fabric-design) or deployment (use fabric-deploy).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-test\u002FSKILL.md",[123],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[129,19,115,130,131,132,21,133,22,134,24,135],"fabric test","design","review","validate","deploy","create","validation",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":145,"publishedAt":25},"01M69BSGWJXD8VEHDYJY0172XC","fabric-document","Synthesizes all pipeline handoffs into a single human-readable project brief. Use when user says \"generate docs\", \"create documentation\", \"document the project\", or after validation passes. Do NOT use for deployment (use fabric-deploy) or architecture design (use fabric-design).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-document\u002FSKILL.md",[142],{"categoryNo":143,"categoryName":144,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000002","文档处理",[146,19,135,130,113,21,133,116,22,134,23],"fabric document",{"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":161,"publishedAt":25},"01M69BSDZWGC0ZJ4854V60P27Y","fabric-discover","Collects intake (project name + problem statement), scaffolds the project, infers architectural signals, and produces a Discovery Brief. This is the DEFAULT first skill — invoke it for ANY new user request that describes a data, analytics, reporting, or integration problem, no matter how it is phrased. The signal mapper handles keyword matching; routing just needs to get the user here first. When in doubt, invoke fabric-discover — a false-positive intake is recoverable; a freelanced answer is not. Common triggers include \"IoT sensors\", \"batch ETL\", \"real-time analytics\", \"data warehouse\", \"compliance\", \"dashboard\", \"streaming\", \"we need analytics\", or \"what task flow fits my needs\", but any description of a data problem qualifies. Do NOT use for architecture design (use fabric-design), deployment (use fabric-deploy), or validation (use fabric-test).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-discover\u002FSKILL.md",[153,156],{"categoryNo":154,"categoryName":155,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":157,"categoryName":158,"taxonomyType":159,"taxonomyTypeDesc":160},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[162,19,130,163,115,21,133,164,22,165,135],"fabric discover","dashboard","analytics","routing",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":179,"publishedAt":25},"01M69BSBBJW75KRW14FZY6YJSZ","fabric-design","The Architect skill — designs Microsoft Fabric architectures and produces the FINAL architecture handoff. Use when user says \"design architecture\", \"which task flow\", \"medallion vs lambda\", \"create architecture\", or asks about Fabric architecture patterns. Do NOT use for deployment (use fabric-deploy), testing (use fabric-test), or discovery (use fabric-discover).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-design\u002FSKILL.md",[172,173,176],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},{"categoryNo":174,"categoryName":175,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":177,"categoryName":178,"taxonomyType":159,"taxonomyTypeDesc":160},"01JBSEEDCAT000000000000032","设计师",[130,180,19,21,181,133,22,9,115,100,182,134,183],"fabric design","microsoft fabric","testing","design architecture"]