[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6D39NSPFK1AA123AS2P9Z3V":3,"skill-same:01M6D39NSPFK1AA123AS2P9Z3V":223},{"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":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":42,"ownerHtmlUrl":43,"ownerBlogUrl":44,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M6D39NSPFK1AA123AS2P9Z3V","motion-framer",null,"Motion\u002FFramer-specific implementation guardrails — AnimatePresence placement, sequencing modes, LayoutGroup, layout animation boundaries","GeorgeQLe\u002Fagentic-skills","GeorgeQLe","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F21134126?v=4","01M6D2JP418S0VGJGF8M93EC3H","George Le","01M6D2JPBAKYD82TA5FS6HKQ3D",1,"MIT","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fbase\u002Fclaude\u002Fanimation-design-planner\u002Fframeworks\u002Fmotion-framer\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28],"motion","motion framer","design","planning","Guardrails","Animation","planner","v0","implementation","layout","2026-11-10 10:12:30",false,"---\nname: motion-framer\ndescription: Motion\u002FFramer-specific implementation guardrails — AnimatePresence placement, sequencing modes, LayoutGroup, layout animation boundaries\ntype: planning\nversion: v0.0\ninvocation: sub-skill\nparent: animation-design-planner\n---\n\n# Motion\u002FFramer Implementation Guardrails\n\nThis subskill provides Motion\u002FFramer-specific implementation guardrails for step 5 of `\u002Fanimation-design-planner`. It is invoked automatically when the parent detects `framer-motion` or `motion` in the project. All baseline guardrails from the parent (transform\u002Fopacity preference, reduced-motion, focus\u002Fpointer\u002Fscroll\u002Fz-index rules) still apply.\n\n## Guardrails\n\n### Sequencing mode selection\n\nChoose the `AnimatePresence` `mode` intentionally:\n\n- **`sync`** (default) — entering and exiting children animate simultaneously. Use when the exit and enter are independent or when you need the entering child to begin immediately.\n- **`wait`** — the exiting child completes its exit before the entering child mounts. Use for sequential transitions where the user should see one thing leave before the next arrives (route transitions, modal swap, step wizards).\n- **`popLayout`** — the exiting child is removed from layout flow immediately while still animating out. Use when you need the entering child to take its layout position without waiting for exit, but the exiting child should still visually animate away (overlapping fade, slide-out while new content slides in).\n\nState the chosen mode and the reason in the animation plan.\n\n### AnimatePresence placement\n\nPlace `AnimatePresence` at the conditional render boundary that owns the exit lifecycle. The component that decides whether the child is mounted must be the one wrapping it in `AnimatePresence`. Do not bury `AnimatePresence` inside the child or in a wrapper where the exiting child is already unmounted by the time the exit animation would run.\n\n### LayoutGroup and layout animation\n\n- Use `LayoutGroup` only when multiple sibling components share layout identity and the measurement boundary is clear.\n- Set `layout` or `layoutId` only on elements whose layout position genuinely changes. Avoid blanket `layout` on containers that don't move.\n- When using `layoutId` for shared-element transitions, ensure the identity string is stable across the mount\u002Funmount boundary and that only one element with that `layoutId` is mounted at a time (or both are within the same `LayoutGroup`).\n- Define the measurement boundary explicitly. If a scrollable container or transform parent exists between the layout-animated element and the viewport, the measurement may be wrong — test and document.\n\n### Interruption patterns\n\n- **Exit cancellation:** if the user triggers a re-entry while an exit animation is in progress, define whether the exit should reverse, snap to start, or complete before re-entering. Motion's default is to cancel exit and reverse — state whether that default is acceptable.\n- **Re-entry during exit:** when using `mode=\"wait\"`, a re-entry trigger during exit queues the enter. Document whether this queue behavior is acceptable or whether the plan needs `mode=\"sync\"` or `mode=\"popLayout\"` to avoid perceived lag.\n- **Rapid toggle:** for open\u002Fclose patterns (drawers, accordions, dropdowns), verify that rapid toggling does not produce ghost layers, stuck exit states, or layout jumps.\n\n### Proof expectations\n\n- Verify `onExitComplete` fires and any cleanup (focus restore, scroll unlock, state clear) runs after exit, not during.\n- Slow-motion review (set `transition.duration` to 2-3s) to confirm sequencing mode matches the visible contract.\n- Verify `layoutId` transitions measure correctly across the actual DOM hierarchy (not just in isolation).\n","# Motion\u002FFramer Implementation Guardrails\n\nThis subskill provides Motion\u002FFramer-specific implementation guardrails for step 5 of `\u002Fanimation-design-planner`. It is invoked automatically when the parent detects `framer-motion` or `motion` in the project. All baseline guardrails from the parent (transform\u002Fopacity preference, reduced-motion, focus\u002Fpointer\u002Fscroll\u002Fz-index rules) still apply.\n\n## Guardrails\n\n### Sequencing mode selection\n\nChoose the `AnimatePresence` `mode` intentionally:\n\n- **`sync`** (default) — entering and exiting children animate simultaneously. Use when the exit and enter are independent or when you need the entering child to begin immediately.\n- **`wait`** — the exiting child completes its exit before the entering child mounts. Use for sequential transitions where the user should see one thing leave before the next arrives (route transitions, modal swap, step wizards).\n- **`popLayout`** — the exiting child is removed from layout flow immediately while still animating out. Use when you need the entering child to take its layout position without waiting for exit, but the exiting child should still visually animate away (overlapping fade, slide-out while new content slides in).\n\nState the chosen mode and the reason in the animation plan.\n\n### AnimatePresence placement\n\nPlace `AnimatePresence` at the conditional render boundary that owns the exit lifecycle. The component that decides whether the child is mounted must be the one wrapping it in `AnimatePresence`. Do not bury `AnimatePresence` inside the child or in a wrapper where the exiting child is already unmounted by the time the exit animation would run.\n\n### LayoutGroup and layout animation\n\n- Use `LayoutGroup` only when multiple sibling components share layout identity and the measurement boundary is clear.\n- Set `layout` or `layoutId` only on elements whose layout position genuinely changes. Avoid blanket `layout` on containers that don't move.\n- When using `layoutId` for shared-element transitions, ensure the identity string is stable across the mount\u002Funmount boundary and that only one element with that `layoutId` is mounted at a time (or both are within the same `LayoutGroup`).\n- Define the measurement boundary explicitly. If a scrollable container or transform parent exists between the layout-animated element and the viewport, the measurement may be wrong — test and document.\n\n### Interruption patterns\n\n- **Exit cancellation:** if the user triggers a re-entry while an exit animation is in progress, define whether the exit should reverse, snap to start, or complete before re-entering. Motion's default is to cancel exit and reverse — state whether that default is acceptable.\n- **Re-entry during exit:** when using `mode=\"wait\"`, a re-entry trigger during exit queues the enter. Document whether this queue behavior is acceptable or whether the plan needs `mode=\"sync\"` or `mode=\"popLayout\"` to avoid perceived lag.\n- **Rapid toggle:** for open\u002Fclose patterns (drawers, accordions, dropdowns), verify that rapid toggling does not produce ghost layers, stuck exit states, or layout jumps.\n\n### Proof expectations\n\n- Verify `onExitComplete` fires and any cleanup (focus restore, scroll unlock, state clear) runs after exit, not during.\n- Slow-motion review (set `transition.duration` to 2-3s) to confirm sequencing mode matches the visible contract.\n- Verify `layoutId` transitions measure correctly across the actual DOM hierarchy (not just in isolation).\n",{"name":5,"type":22,"parent":34,"version":35,"invocation":36,"description":7},"animation-design-planner","v0.0","sub-skill","master","96e2912af886dd1606b1b97df707715aef062b02","packs\u002Fbase\u002Fclaude\u002Fanimation-design-planner\u002Fframeworks\u002Fmotion-framer",0,"https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills","https:\u002F\u002Fagentic-skills-blush.vercel.app","https:\u002F\u002Fgithub.com\u002FGeorgeQLe","georgeqle.com","George Le is a futurist and serial tech entrepreneur who wants to work toward a world where humanity is free from robotic tasks.","2026-11-10 04:07:24",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add GeorgeQLe\u002Fagentic-skills --skill motion-framer",{"tool":53,"command":54},"bunx","bunx skills add GeorgeQLe\u002Fagentic-skills --skill motion-framer",{"tool":56,"command":57},"pnpm","pnpm dlx skills add GeorgeQLe\u002Fagentic-skills --skill motion-framer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fbase\u002Fclaude\u002Fanimation-design-planner\u002Fframeworks\u002Fmotion-framer\u002FSKILL.md",true,[61,67,71,75,79,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"references\u002Fbicep-generation.md","REFERENCE","参考文档",5246,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fbicep-generation.md",{"path":68,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Fconstraints\u002Fai-ml.md",3292,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fconstraints\u002Fai-ml.md",{"path":72,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fconstraints\u002Fcompute-apps.md",8000,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fconstraints\u002Fcompute-apps.md",{"path":76,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fconstraints\u002Fcompute-infra.md",4564,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fconstraints\u002Fcompute-infra.md",{"path":80,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fconstraints\u002Fdata-analytics.md",6489,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fconstraints\u002Fdata-analytics.md",{"path":84,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fconstraints\u002Fdata-relational.md",5044,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fconstraints\u002Fdata-relational.md",{"path":88,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fconstraints\u002Fmessaging.md",2573,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fconstraints\u002Fmessaging.md",{"path":92,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fconstraints\u002Fmonitoring.md",1776,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fconstraints\u002Fmonitoring.md",{"path":96,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Fconstraints\u002Fnetworking-connectivity.md",6282,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fconstraints\u002Fnetworking-connectivity.md",{"path":100,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":101,"sourceHtmlUrl":102},"references\u002Fconstraints\u002Fnetworking-core.md",7166,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fconstraints\u002Fnetworking-core.md",{"path":104,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":105,"sourceHtmlUrl":106},"references\u002Fconstraints\u002Fnetworking-traffic.md",4708,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fconstraints\u002Fnetworking-traffic.md",{"path":108,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":109,"sourceHtmlUrl":110},"references\u002Fconstraints\u002FREADME.md",1249,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fconstraints\u002FREADME.md",{"path":112,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":113,"sourceHtmlUrl":114},"references\u002Fconstraints\u002Fsecurity.md",2409,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fconstraints\u002Fsecurity.md",{"path":116,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":117,"sourceHtmlUrl":118},"references\u002Fdeployment.md",3803,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fdeployment.md",{"path":120,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":121,"sourceHtmlUrl":122},"references\u002Fpairing-checks.md",3753,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fpairing-checks.md",{"path":124,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":125,"sourceHtmlUrl":126},"references\u002Fphases\u002F1-extract-insights.md",2653,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fphases\u002F1-extract-insights.md",{"path":128,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":129,"sourceHtmlUrl":130},"references\u002Fphases\u002F2-research-best-practices.md",2906,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fphases\u002F2-research-best-practices.md",{"path":132,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":133,"sourceHtmlUrl":134},"references\u002Fphases\u002F3-research-resources.md",3387,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fphases\u002F3-research-resources.md",{"path":136,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":137,"sourceHtmlUrl":138},"references\u002Fphases\u002F4-generate-plan.md",792,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fphases\u002F4-generate-plan.md",{"path":140,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":141,"sourceHtmlUrl":142},"references\u002Fphases\u002F5-verify.md",814,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fphases\u002F5-verify.md",{"path":144,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":145,"sourceHtmlUrl":146},"references\u002Fphases\u002F6-generate-iac.md",2606,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fphases\u002F6-generate-iac.md",{"path":148,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":149,"sourceHtmlUrl":150},"references\u002Fphases\u002F7-deploy.md",1300,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fphases\u002F7-deploy.md",{"path":152,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":153,"sourceHtmlUrl":154},"references\u002Freferenced-workload.md",7504,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Freferenced-workload.md",{"path":156,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":157,"sourceHtmlUrl":158},"references\u002Fresources\u002Fai-ml.md",2162,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fresources\u002Fai-ml.md",{"path":160,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":161,"sourceHtmlUrl":162},"references\u002Fresources\u002Fcompute-apps.md",4118,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fresources\u002Fcompute-apps.md",{"path":164,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":165,"sourceHtmlUrl":166},"references\u002Fresources\u002Fcompute-infra.md",2897,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fresources\u002Fcompute-infra.md",{"path":168,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":169,"sourceHtmlUrl":170},"references\u002Fresources\u002Fdata-analytics.md",3078,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fresources\u002Fdata-analytics.md",{"path":172,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":173,"sourceHtmlUrl":174},"references\u002Fresources\u002Fdata-relational.md",2695,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fresources\u002Fdata-relational.md",{"path":176,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":177,"sourceHtmlUrl":178},"references\u002Fresources\u002Fmessaging.md",2001,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fresources\u002Fmessaging.md",{"path":180,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":181,"sourceHtmlUrl":182},"references\u002Fresources\u002Fmonitoring.md",1515,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fresources\u002Fmonitoring.md",{"path":184,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":185,"sourceHtmlUrl":186},"references\u002Fresources\u002Fnetworking-connectivity.md",3698,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fresources\u002Fnetworking-connectivity.md",{"path":188,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":189,"sourceHtmlUrl":190},"references\u002Fresources\u002Fnetworking-core.md",4406,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fresources\u002Fnetworking-core.md",{"path":192,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":193,"sourceHtmlUrl":194},"references\u002Fresources\u002Fnetworking-traffic.md",2634,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fresources\u002Fnetworking-traffic.md",{"path":196,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":197,"sourceHtmlUrl":198},"references\u002Fresources\u002FREADME.md",1647,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fresources\u002FREADME.md",{"path":200,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":201,"sourceHtmlUrl":202},"references\u002Fresources\u002Fsecurity.md",1510,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fresources\u002Fsecurity.md",{"path":204,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":205,"sourceHtmlUrl":206},"references\u002Fschema.md",3853,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fschema.md",{"path":208,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":209,"sourceHtmlUrl":210},"references\u002Fterraform-generation.md",4504,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fterraform-generation.md",{"path":212,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":213,"sourceHtmlUrl":214},"references\u002Fverification.md",2669,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fverification.md",{"path":216,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":217,"sourceHtmlUrl":218},"references\u002Fwaf-checklist.md",1947,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fwaf-checklist.md",{"path":220,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":221,"sourceHtmlUrl":222},"references\u002Fworkflow.md",5028,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fazure-enterprise-infra-planner\u002Freferences\u002Fworkflow.md",[224,236,246,258,273,284],{"skillNo":225,"name":226,"nameZh":6,"description":227,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":228,"categories":229,"keywords":230,"publishedAt":29},"01M6G0NJES15RJKZE6YZ0TSYGF","source-checkout-allowed","Valid source-checkout-only fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fsource-checkout-allowed\u002FSKILL.md",[],[231,232,233,234,26,235],"source checkout allowed","checkout","fixture","only","valid",{"skillNo":237,"name":238,"nameZh":6,"description":239,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":240,"categories":241,"keywords":242,"publishedAt":29},"01M6G0NFZ3R1MNB1E3DVTM0WB7","deck-install-valid","Valid deck install fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fdeck-install\u002FSKILL.md",[],[243,244,245,235,233,26],"deck install valid","deck","install",{"skillNo":247,"name":248,"nameZh":6,"description":249,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":250,"categories":251,"keywords":252,"publishedAt":29},"01M6G0ND3QZQC4MDZ9NVB97PT2","codex-pack-guard-valid","Valid Codex Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-pack-guard\u002FSKILL.md",[],[253,254,255,235,256,257,233,26],"codex pack guard valid","pack","guard","codex","availability",{"skillNo":259,"name":260,"nameZh":6,"description":261,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":262,"categories":263,"keywords":269,"publishedAt":29},"01M6G0NA9YB3NKGZKD3S96JMNB","codex-missing-skill-valid","Valid Codex missing skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-missing-skill-fallback\u002FSKILL.md",[264],{"categoryNo":265,"categoryName":266,"taxonomyType":267,"taxonomyTypeDesc":268},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[270,271,235,256,26,272,233],"codex missing skill valid","missing","fallback",{"skillNo":274,"name":275,"nameZh":6,"description":276,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":277,"categories":278,"keywords":280,"publishedAt":29},"01M6G0N7PC0EKFD40ZWQAXSAQ9","codex-base-skill-fallback-valid","Valid Codex base skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-base-skill-fallback\u002FSKILL.md",[279],{"categoryNo":265,"categoryName":266,"taxonomyType":267,"taxonomyTypeDesc":268},[235,256,272,281,282,283,26,233],"base skill","codex base skill fallback valid","base",{"skillNo":285,"name":286,"nameZh":6,"description":287,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":288,"categories":289,"keywords":290,"publishedAt":29},"01M6G0N4VRR2YKZQ6N3Y6S2BQA","claude-pack-guard-valid","Valid Claude Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fclaude-pack-guard\u002FSKILL.md",[],[235,255,254,291,257,26,233],"claude pack guard valid"]