[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69BS8FTQD73TTEQHT377FCJ":3,"skill-same:01M69BS8FTQD73TTEQHT377FCJ":108},{"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":29,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M69BS8FTQD73TTEQHT377FCJ","fabric-deploy",null,"The Engineer skill — deploys Fabric items in dependency-ordered waves and remediates issues found during validation. Use when user says \"deploy\", \"create items\", \"run deployment\", \"fix deployment issues\", \"remediate\", or after user sign-off is complete. Do NOT use for design (use fabric-design) or testing (use fabric-test).","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-deploy\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",[30,31,32,33,34,35,36,37,38,39],"deploy","fabric","fabric deploy","testing","design","test","deployment","create","run","validation","2026-11-10 10:12:30",false,"﻿---\nname: fabric-deploy\ndescription: >\n  The Engineer skill — deploys Fabric items in dependency-ordered waves and\n  remediates issues found during validation. Use when user says \"deploy\",\n  \"create items\", \"run deployment\", \"fix deployment issues\",\n  \"remediate\", or after user sign-off is complete. Do NOT use for design\n  (use fabric-design) or testing (use fabric-test).\n---\n\n> ⚠️ **Artifacts-only mode:** When `deploy_mode` is `artifacts_only`, this skill is NOT invoked — the pipeline runner handles this phase deterministically. The instructions below apply only when `deploy_mode` is `live`.\n\n# Fabric Deployment\n\n> **⚡ Pre-generated handoff:** The runner writes `deployment-handoff.md` with every item in `status: not_started` and `\u003C!-- AGENT: FILL -->` markers before this skill is invoked, alongside `deploy\u002Fworkspace\u002F`, `config.yml`, the deploy script, and the taskflow JSON. Your job after running (or choosing to skip) deployment is to update each item's status to `deployed` \u002F `failed` and replace every `\u003C!-- AGENT: FILL -->` marker with real content.\n\n## Deployment Mode\n\nCheck the `deploy_mode` field in the agent prompt (set in pipeline-state.json):\n\n- **`live`** — User wants to deploy to a live Fabric workspace. Present the deploy script and guide them through running it.\n- **`artifacts_only`** (default) — No live deployment. Review generated artifacts and write the handoff with items in `planned` status.\n\n## Instructions\n\n### Step 1: Verify Artifacts\n\nConfirm `deploy\u002F` contains: `.platform` files, `config.yml`, deploy script, and taskflow JSON (auto-generated by pipeline).\n\n### Step 2: Deploy or Review\n\n**If deploy_mode is `live`:**\n\nPresent the deploy script to the user and instruct them to run it:\n```bash\ncd _projects\u002F[name]\u002Fdeploy\npython deploy-[name].py\n```\nThe script handles: workspace creation, capacity assignment, fabric-cicd deployment, and Variable Library population — all interactively. The user must have Azure credentials (`az login`).\n\nAfter the user confirms deployment is complete, update each item in `deployment-handoff.md` to `status: deployed` (or `failed` with a reason), and replace every `\u003C!-- AGENT: FILL -->` marker.\n\n**If deploy_mode is `artifacts_only`:**\n\nReview the generated artifacts. Present a summary of what would be deployed (items, waves, script location). Update `deployment-handoff.md`:\n- `deployment_mode: artifacts_only`\n- All items set to `status: planned`\n- Fill in Implementation Notes (deviations only) and the Configuration Rationale table\n- Replace every `\u003C!-- AGENT: FILL -->` marker\n\n## Constraints\n\n- Do NOT read registry JSON files directly — use Python tools (`deploy-script-gen.py`, `registry_loader`)\n- Follow the architecture handoff exactly — no design decisions\n- Never proceed to next wave if current wave has failures\n\n## Mode 2: Remediation (Phase 3+)\n\nFix deployment and configuration issues identified during validation.\n\n### Step 1: Load Remediation Log\n\nRead `_projects\u002F[name]\u002Fdocs\u002Fremediation-log.md`. Filter issues where `routed_to: engineer`.\n\n### Step 2: Fix Issues\n\n- **Deployment issues** — re-deploy item via `fabric-cicd`, verify with `validate-items.py`\n- **Configuration issues** — update settings via Fabric REST API or portal, re-run validation\n- **Transient issues** — wait appropriate interval, retry validation\n\n### Step 3: Update Remediation Log\n\nSet `status: resolved`, fill `resolution` (max 20 words), record `resolved_iteration`.\n\n### Step 4: Escalate Design Issues\n\nIf `category: design` → set `outcome: escalated`, STOP. Cannot fix architecture — escalate.\n\n### Step 5: Trigger Re-Validation\n\nSet `outcome: remediated` and advance pipeline to re-trigger QA validation.\n\nMax 3 remediation iterations.\n","> ⚠️ **Artifacts-only mode:** When `deploy_mode` is `artifacts_only`, this skill is NOT invoked — the pipeline runner handles this phase deterministically. The instructions below apply only when `deploy_mode` is `live`.\n\n# Fabric Deployment\n\n> **⚡ Pre-generated handoff:** The runner writes `deployment-handoff.md` with every item in `status: not_started` and `\u003C!-- AGENT: FILL -->` markers before this skill is invoked, alongside `deploy\u002Fworkspace\u002F`, `config.yml`, the deploy script, and the taskflow JSON. Your job after running (or choosing to skip) deployment is to update each item's status to `deployed` \u002F `failed` and replace every `\u003C!-- AGENT: FILL -->` marker with real content.\n\n## Deployment Mode\n\nCheck the `deploy_mode` field in the agent prompt (set in pipeline-state.json):\n\n- **`live`** — User wants to deploy to a live Fabric workspace. Present the deploy script and guide them through running it.\n- **`artifacts_only`** (default) — No live deployment. Review generated artifacts and write the handoff with items in `planned` status.\n\n## Instructions\n\n### Step 1: Verify Artifacts\n\nConfirm `deploy\u002F` contains: `.platform` files, `config.yml`, deploy script, and taskflow JSON (auto-generated by pipeline).\n\n### Step 2: Deploy or Review\n\n**If deploy_mode is `live`:**\n\nPresent the deploy script to the user and instruct them to run it:\n```bash\ncd _projects\u002F[name]\u002Fdeploy\npython deploy-[name].py\n```\nThe script handles: workspace creation, capacity assignment, fabric-cicd deployment, and Variable Library population — all interactively. The user must have Azure credentials (`az login`).\n\nAfter the user confirms deployment is complete, update each item in `deployment-handoff.md` to `status: deployed` (or `failed` with a reason), and replace every `\u003C!-- AGENT: FILL -->` marker.\n\n**If deploy_mode is `artifacts_only`:**\n\nReview the generated artifacts. Present a summary of what would be deployed (items, waves, script location). Update `deployment-handoff.md`:\n- `deployment_mode: artifacts_only`\n- All items set to `status: planned`\n- Fill in Implementation Notes (deviations only) and the Configuration Rationale table\n- Replace every `\u003C!-- AGENT: FILL -->` marker\n\n## Constraints\n\n- Do NOT read registry JSON files directly — use Python tools (`deploy-script-gen.py`, `registry_loader`)\n- Follow the architecture handoff exactly — no design decisions\n- Never proceed to next wave if current wave has failures\n\n## Mode 2: Remediation (Phase 3+)\n\nFix deployment and configuration issues identified during validation.\n\n### Step 1: Load Remediation Log\n\nRead `_projects\u002F[name]\u002Fdocs\u002Fremediation-log.md`. Filter issues where `routed_to: engineer`.\n\n### Step 2: Fix Issues\n\n- **Deployment issues** — re-deploy item via `fabric-cicd`, verify with `validate-items.py`\n- **Configuration issues** — update settings via Fabric REST API or portal, re-run validation\n- **Transient issues** — wait appropriate interval, retry validation\n\n### Step 3: Update Remediation Log\n\nSet `status: resolved`, fill `resolution` (max 20 words), record `resolved_iteration`.\n\n### Step 4: Escalate Design Issues\n\nIf `category: design` → set `outcome: escalated`, STOP. Cannot fix architecture — escalate.\n\n### Step 5: Trigger Re-Validation\n\nSet `outcome: remediated` and advance pipeline to re-trigger QA validation.\n\nMax 3 remediation iterations.\n",{"name":5,"description":7},"main","3764df9d5931e15ecf2a6b06ec8b75687109804f",".github\u002Fskills\u002Ffabric-deploy",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":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add microsoft\u002Ffabric-task-flows --skill fabric-deploy",{"tool":60,"command":61},"bunx","bunx skills add microsoft\u002Ffabric-task-flows --skill fabric-deploy",{"tool":63,"command":64},"pnpm","pnpm dlx skills add microsoft\u002Ffabric-task-flows --skill fabric-deploy","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-deploy\u002FSKILL.md",true,[68,74,78,82,86,90,94,98,104],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002Fcicd-reference.md","REFERENCE","参考文档",5814,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-deploy\u002Freferences\u002Fcicd-reference.md",{"path":75,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Fparallel-deployment.md",3641,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-deploy\u002Freferences\u002Fparallel-deployment.md",{"path":79,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fprerequisites.md",3588,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-deploy\u002Freferences\u002Fprerequisites.md",{"path":83,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Frollback-protocol.md",1829,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-deploy\u002Freferences\u002Frollback-protocol.md",{"path":87,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fverified-item-definitions.md",1094,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-deploy\u002Freferences\u002Fverified-item-definitions.md",{"path":91,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":92,"sourceHtmlUrl":93},"schemas\u002Fdeployment-handoff.md",2914,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-deploy\u002Fschemas\u002Fdeployment-handoff.md",{"path":95,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":96,"sourceHtmlUrl":97},"schemas\u002Fphase-progress.md",3154,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-deploy\u002Fschemas\u002Fphase-progress.md",{"path":99,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":102,"sourceHtmlUrl":103},"scripts\u002Fdeploy-script-gen.py","SCRIPT","脚本",56668,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-deploy\u002Fscripts\u002Fdeploy-script-gen.py",{"path":105,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":106,"sourceHtmlUrl":107},"scripts\u002Ftaskflow-gen.py",28632,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-deploy\u002Fscripts\u002Ftaskflow-gen.py",[109,116,127,139,148,159],{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":40},"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",[],[111],{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":40},"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",[],[123,124,125,35,126],"docs","grill with docs","documentation","grilling",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":134,"publishedAt":40},"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",[133],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[35,31,135,136,34,137,138,30,36,37,38,39],"fabric test","architecture","review","validate",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":40},"01M69BSK3FP0VC7E2VFQPD80TX","fabric-heal","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.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ffabric-task-flows\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffabric-heal\u002FSKILL.md",[],[31,146,36,38,136,147],"fabric heal","generate",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":157,"publishedAt":40},"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",[154],{"categoryNo":155,"categoryName":156,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",[158,31,136,34,123,30,125,36,37,147,39],"fabric document",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":173,"publishedAt":40},"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",[165,168],{"categoryNo":166,"categoryName":167,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":169,"categoryName":170,"taxonomyType":171,"taxonomyTypeDesc":172},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[174,31,175,35,136,30,176,36,177,39,34],"fabric discover","dashboard","analytics","routing"]