[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MDEV5XEAMH7BC8JNFW799G":3,"skill-same:01M6MDEV5XEAMH7BC8JNFW799G":93},{"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":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":41,"ownerHtmlUrl":42,"ownerBlogUrl":41,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M6MDEV5XEAMH7BC8JNFW799G","cy-create-spec",null,"Create or update a requested CompozyOS spec and its applicable companion contracts, reusing current decisions and research. Not a prerequisite for ordinary coding tasks.","compozy\u002Fcompozy","compozy","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F205107042?v=4","01M6JWVTXX4DX38AWZ7SPFEKEV","CompozyOS","01M6JWVV2P34GM1PDATVB2EV05",2861,"MIT","https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fextensions\u002Fspec-cycle\u002Fskills\u002Fcy-create-spec\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30],"spec","create","create spec","cy create spec","research","tasks","update","coding","decisions","contracts","companion","for","2026-11-10 10:12:30",false,"---\nname: cy-create-spec\ndescription: Create or update a requested CompozyOS spec and its applicable companion contracts, reusing current decisions and research. Not a prerequisite for ordinary coding tasks.\n---\n\n# Create Spec\n\nUse for a requested specification, not as a prerequisite to an ordinary fix. Author `_spec.md` with Product and Technical parts and the applicable companion contracts under `.compozy\u002Ftasks\u002F\u003Cslug>\u002F`.\n\n1. Reuse the user's decisions, existing spec, and current research. Inspect relevant code\u002Fcontracts for unresolved questions. Market research is needed only for a market\u002Fproduct uncertainty or an explicit request; delegation is optional and bounded.\n2. State the motivating problem, observable outcome, scope, and non-goals. Ask focused questions only for decisions the evidence cannot settle, always in the format from `references\u002Fgrill-protocol.md`; apparent simplicity is not evidence. An approved direction satisfies the product checkpoint; do not repeat an interview or approval already completed. For an open-ended product interview, use the relevant branch of `references\u002Fgrill-protocol.md`.\n3. Write Part I and `_user_stories.md` from `references\u002Fspec-template.md` and `references\u002Fuser-stories-template.md`. Product requirements may name a technology when it is an actual public contract or fixed user constraint; incidental implementation belongs in Part II.\n4. Define the changed public surface before its internal implementation: `_dx.md` uses `references\u002Fdx-template.md`; UI-bearing work uses `_uiux.md` and `references\u002Fuiux-template.md`. For an internal-only spec, a brief no-public-surface entry is sufficient. Preserve named visual references and production owners.\n5. Write Part II with the concrete contracts the design changes. Read only relevant ADRs\u002Fanalysis. Use `references\u002Fadr-template.md` for consequential decisions with real alternatives; a routine choice needs no standalone ADR. Document the target project's compatibility policy for changed user state and public surfaces, including lossless migrations, deprecation\u002Fremoval plans, delete targets, and one owning impact analysis with links from companions. If no policy exists, state the proposed guarantees and unresolved decisions explicitly.\n6. Write `_tests.md` using `references\u002Ftests-template.md`: distinct invariants, owning suites, inputs\u002Fresults, and necessary integration journeys. Reuse existing coverage; no quotas per component, error class, or layer.\n7. Write `_slices.md`, the delivery order that spec delivery reads:\n\n   ```markdown\n   | Slice | Layer    | Depends on | Scope           | Spec refs |\n   | ----- | -------- | ---------- | --------------- | --------- |\n   | S1    | backend  | none       | Export contract | US-001    |\n   | S2    | frontend | S1         | Export dialog   | US-002    |\n   ```\n\n   One row per independently verifiable slice. `Layer` names the owning layer, `Depends on` lists slice IDs or `none`, and `Spec refs` cites the stories or sections it delivers. Choose slice count from dependencies and risk, and let unrelated slices run in parallel. The first slices should reach the earliest useful end-to-end outcome.\n\n8. Perform an inline self-check: verify that the motivating outcome is covered, public contracts agree across companions, changed interfaces use the project's language, each test invariant has an owning suite, every story belongs to a slice, slice dependencies are acyclic, and existing input\u002Freference paths resolve in the target project or this skill's bundled resources. Mark new files and output destinations as planned; they need not exist before implementation. Record inapplicable sections and unresolved decisions explicitly. Check the earliest useful end-to-end outcome.\n9. Save reviewable files and summarize unresolved decisions. After the user approves the saved spec, offer the optional peer review in `references\u002Fpeer-review.md`. Do not start implementation merely because spec writing is complete.\n\nTemplates are section guides: keep shared outcome\u002Fcontract content, omit irrelevant sections or record a short reason where a downstream schema requires a slot. Read each reference when its branch is used, not the whole package. Maintain a concise File References index naming contract inputs and why each matters; slice briefs copy their relevant subset. Preserve requested scope; narrowing an accepted motivating problem requires the user's recorded decision.\n\nFor updates, edit affected sections\u002Fcompanions only. Missing or contradictory inputs are resolved from user decisions and current policy; report a genuinely blocking missing contract without inventing it.\n","# Create Spec\n\nUse for a requested specification, not as a prerequisite to an ordinary fix. Author `_spec.md` with Product and Technical parts and the applicable companion contracts under `.compozy\u002Ftasks\u002F\u003Cslug>\u002F`.\n\n1. Reuse the user's decisions, existing spec, and current research. Inspect relevant code\u002Fcontracts for unresolved questions. Market research is needed only for a market\u002Fproduct uncertainty or an explicit request; delegation is optional and bounded.\n2. State the motivating problem, observable outcome, scope, and non-goals. Ask focused questions only for decisions the evidence cannot settle, always in the format from `references\u002Fgrill-protocol.md`; apparent simplicity is not evidence. An approved direction satisfies the product checkpoint; do not repeat an interview or approval already completed. For an open-ended product interview, use the relevant branch of `references\u002Fgrill-protocol.md`.\n3. Write Part I and `_user_stories.md` from `references\u002Fspec-template.md` and `references\u002Fuser-stories-template.md`. Product requirements may name a technology when it is an actual public contract or fixed user constraint; incidental implementation belongs in Part II.\n4. Define the changed public surface before its internal implementation: `_dx.md` uses `references\u002Fdx-template.md`; UI-bearing work uses `_uiux.md` and `references\u002Fuiux-template.md`. For an internal-only spec, a brief no-public-surface entry is sufficient. Preserve named visual references and production owners.\n5. Write Part II with the concrete contracts the design changes. Read only relevant ADRs\u002Fanalysis. Use `references\u002Fadr-template.md` for consequential decisions with real alternatives; a routine choice needs no standalone ADR. Document the target project's compatibility policy for changed user state and public surfaces, including lossless migrations, deprecation\u002Fremoval plans, delete targets, and one owning impact analysis with links from companions. If no policy exists, state the proposed guarantees and unresolved decisions explicitly.\n6. Write `_tests.md` using `references\u002Ftests-template.md`: distinct invariants, owning suites, inputs\u002Fresults, and necessary integration journeys. Reuse existing coverage; no quotas per component, error class, or layer.\n7. Write `_slices.md`, the delivery order that spec delivery reads:\n\n   ```markdown\n   | Slice | Layer    | Depends on | Scope           | Spec refs |\n   | ----- | -------- | ---------- | --------------- | --------- |\n   | S1    | backend  | none       | Export contract | US-001    |\n   | S2    | frontend | S1         | Export dialog   | US-002    |\n   ```\n\n   One row per independently verifiable slice. `Layer` names the owning layer, `Depends on` lists slice IDs or `none`, and `Spec refs` cites the stories or sections it delivers. Choose slice count from dependencies and risk, and let unrelated slices run in parallel. The first slices should reach the earliest useful end-to-end outcome.\n\n8. Perform an inline self-check: verify that the motivating outcome is covered, public contracts agree across companions, changed interfaces use the project's language, each test invariant has an owning suite, every story belongs to a slice, slice dependencies are acyclic, and existing input\u002Freference paths resolve in the target project or this skill's bundled resources. Mark new files and output destinations as planned; they need not exist before implementation. Record inapplicable sections and unresolved decisions explicitly. Check the earliest useful end-to-end outcome.\n9. Save reviewable files and summarize unresolved decisions. After the user approves the saved spec, offer the optional peer review in `references\u002Fpeer-review.md`. Do not start implementation merely because spec writing is complete.\n\nTemplates are section guides: keep shared outcome\u002Fcontract content, omit irrelevant sections or record a short reason where a downstream schema requires a slot. Read each reference when its branch is used, not the whole package. Maintain a concise File References index naming contract inputs and why each matters; slice briefs copy their relevant subset. Preserve requested scope; narrowing an accepted motivating problem requires the user's recorded decision.\n\nFor updates, edit affected sections\u002Fcompanions only. Missing or contradictory inputs are resolved from user decisions and current policy; report a genuinely blocking missing contract without inventing it.\n",{"name":5,"description":7},"main","65613632bb94072e27fc5015d17387e28a870111","extensions\u002Fspec-cycle\u002Fskills\u002Fcy-create-spec",188,"https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy","https:\u002F\u002Fcompozy.com","https:\u002F\u002Fgithub.com\u002Fcompozy","An OS for AI agents","2026-11-11 10:13:11",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add compozy\u002Fcompozy --skill cy-create-spec",{"tool":51,"command":52},"bunx","bunx skills add compozy\u002Fcompozy --skill cy-create-spec",{"tool":54,"command":55},"pnpm","pnpm dlx skills add compozy\u002Fcompozy --skill cy-create-spec","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fextensions\u002Fspec-cycle\u002Fskills\u002Fcy-create-spec\u002FSKILL.md",true,[59,65,69,73,77,81,85,89],{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"references\u002Fadr-template.md","REFERENCE","参考文档",1086,"https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fextensions\u002Fspec-cycle\u002Fskills\u002Fcy-create-spec\u002Freferences\u002Fadr-template.md",{"path":66,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":67,"sourceHtmlUrl":68},"references\u002Fdx-template.md",3177,"https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fextensions\u002Fspec-cycle\u002Fskills\u002Fcy-create-spec\u002Freferences\u002Fdx-template.md",{"path":70,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fgrill-protocol.md",2876,"https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fextensions\u002Fspec-cycle\u002Fskills\u002Fcy-create-spec\u002Freferences\u002Fgrill-protocol.md",{"path":74,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fpeer-review.md",4649,"https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fextensions\u002Fspec-cycle\u002Fskills\u002Fcy-create-spec\u002Freferences\u002Fpeer-review.md",{"path":78,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fspec-template.md",10738,"https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fextensions\u002Fspec-cycle\u002Fskills\u002Fcy-create-spec\u002Freferences\u002Fspec-template.md",{"path":82,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Ftests-template.md",4056,"https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fextensions\u002Fspec-cycle\u002Fskills\u002Fcy-create-spec\u002Freferences\u002Ftests-template.md",{"path":86,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fuiux-template.md",3814,"https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fextensions\u002Fspec-cycle\u002Fskills\u002Fcy-create-spec\u002Freferences\u002Fuiux-template.md",{"path":90,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fuser-stories-template.md",4179,"https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fextensions\u002Fspec-cycle\u002Fskills\u002Fcy-create-spec\u002Freferences\u002Fuser-stories-template.md",[94,129,154,176,187,199],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":98,"licenseFileUrl":99,"sourceHtmlUrl":100,"categories":101,"keywords":107,"publishedAt":31},"01M6MD7W312X49RNEJRKKVKTTD","security-review","Security code review for vulnerabilities. Use when asked to \"security review\", \"find vulnerabilities\", \"check for security issues\", \"audit security\", \"OWASP review\", or review code for injection, XSS, authentication, authorization, cryptography issues. Provides systematic review with confidence-based reporting.","CC-BY-SA-4.0","https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fsecurity-review\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fsecurity-review\u002FSKILL.md",[102],{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",[108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,30,125,126,127,128],"security","security review","review","injection","authentication","code review","issues","Bash","code","xss","audit","systematic","read","reporting","cryptography","owasp","systematic review","use","task","when","audit security",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":140,"publishedAt":31},"01M6MD5K93G1GP8VA56V2FEPZV","lesson-learned","Extract evidence-backed engineering lessons from recent changes or incidents. Use for requested reflection, lesson updates, or retiring an obsolete workflow rule.","https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Flesson-learned\u002FSKILL.md",[135],{"categoryNo":136,"categoryName":137,"taxonomyType":138,"taxonomyTypeDesc":139},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[141,142,143,30,144,145,146,147,148,149,150,151,125,152,153],"learned","lesson learned","lesson","changes","evidence","incidents","workflow","engineering","updates","extract","rule","lessons","reflection",{"skillNo":155,"name":9,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":159,"publishedAt":31},"01M6MDPNH3J60VRCGTPHVTHZR8","Operate CompozyOS. Use when working with CompozyOS sessions, agents, native tools, skills, tasks, Loops, Goals, Terminal, desktops and windows, automation, extensions, or configuration. Don't use for unrelated projects.","https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fskills\u002Fcompozy\u002FSKILL.md",[],[9,160,161,162,163,30,164,165,125,166,24,167,168,169,170,171,172,173,174,175,127],"sessions","windows","projects","operate","runtime","true","automation","extensions","with","loops","unrelated","goals","native","terminal","configuration","Tools",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":31},"01M6MDPHKNPQHJ1TF21E1HSFNF","remotion-upgrade","Upgrade Remotion, and related packages","https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fpackages\u002Flaunch-video\u002F.agents\u002Fskills\u002Fremotion-upgrade\u002FSKILL.md",[],[183,184,185,186],"remotion upgrade","upgrade","Remotion","packages",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":191,"categories":192,"keywords":193,"publishedAt":31},"01M6MDPFT91ZWC7Z09MRNZPAJG","remotion-studio","Preview a Remotion video","https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fpackages\u002Flaunch-video\u002F.agents\u002Fskills\u002Fremotion-studio\u002FSKILL.md",[],[194,195,185,196,197,198],"studio","remotion studio","Video","preview","remotion video",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":205,"publishedAt":31},"01M6MDPD5XDZPYB5NAZGKMPXWC","remotion-saas","Build an app with Remotion","https:\u002F\u002Fgithub.com\u002Fcompozy\u002Fcompozy\u002Fblob\u002Fmain\u002Fpackages\u002Flaunch-video\u002F.agents\u002Fskills\u002Fremotion-saas\u002FSKILL.md",[],[206,207,185,168,208,209],"saas","remotion saas","app","build"]