[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71GGC2XK27HSXNH572X3JTP":3,"skill-same:01M71GGC2XK27HSXNH572X3JTP":72},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M71GGC2XK27HSXNH572X3JTP","openspec-propose",null,"Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.","getsentry\u002Fskillet","getsentry","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1396951?v=4","01M6CHRN2S1A588Q46ASWA5335","Sentry","01M71GG484BE9509DG4P0AWRWG",13,"MIT","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"openspec propose","openspec","tasks","artifacts","when","use","describe","generated","implementation","new","design","complete","for","build","get","cli","change","proposal","ready","with","2026-11-10 10:12:30",false,"---\nname: openspec-propose\ndescription: Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.\nlicense: MIT\ncompatibility: Requires openspec CLI.\nmetadata:\n  author: openspec\n  version: \"1.0\"\n  generatedBy: \"1.3.0\"\n---\n\nPropose a new change - create the change and generate all artifacts in one step.\n\nI'll create a change with artifacts:\n- proposal.md (what & why)\n- design.md (how)\n- tasks.md (implementation steps)\n\nWhen ready to implement, run \u002Fopsx:apply\n\n---\n\n**Input**: The user's request should include a change name (kebab-case) OR a description of what they want to build.\n\n**Steps**\n\n1. **If no clear input provided, ask what they want to build**\n\n   Use the **AskUserQuestion tool** (open-ended, no preset options) to ask:\n   > \"What change do you want to work on? Describe what you want to build or fix.\"\n\n   From their description, derive a kebab-case name (e.g., \"add user authentication\" → `add-user-auth`).\n\n   **IMPORTANT**: Do NOT proceed without understanding what the user wants to build.\n\n2. **Create the change directory**\n   ```bash\n   openspec new change \"\u003Cname>\"\n   ```\n   This creates a scaffolded change at `openspec\u002Fchanges\u002F\u003Cname>\u002F` with `.openspec.yaml`.\n\n3. **Get the artifact build order**\n   ```bash\n   openspec status --change \"\u003Cname>\" --json\n   ```\n   Parse the JSON to get:\n   - `applyRequires`: array of artifact IDs needed before implementation (e.g., `[\"tasks\"]`)\n   - `artifacts`: list of all artifacts with their status and dependencies\n\n4. **Create artifacts in sequence until apply-ready**\n\n   Use the **TodoWrite tool** to track progress through the artifacts.\n\n   Loop through artifacts in dependency order (artifacts with no pending dependencies first):\n\n   a. **For each artifact that is `ready` (dependencies satisfied)**:\n      - Get instructions:\n        ```bash\n        openspec instructions \u003Cartifact-id> --change \"\u003Cname>\" --json\n        ```\n      - The instructions JSON includes:\n        - `context`: Project background (constraints for you - do NOT include in output)\n        - `rules`: Artifact-specific rules (constraints for you - do NOT include in output)\n        - `template`: The structure to use for your output file\n        - `instruction`: Schema-specific guidance for this artifact type\n        - `outputPath`: Where to write the artifact\n        - `dependencies`: Completed artifacts to read for context\n      - Read any completed dependency files for context\n      - Create the artifact file using `template` as the structure\n      - Apply `context` and `rules` as constraints - but do NOT copy them into the file\n      - Show brief progress: \"Created \u003Cartifact-id>\"\n\n   b. **Continue until all `applyRequires` artifacts are complete**\n      - After creating each artifact, re-run `openspec status --change \"\u003Cname>\" --json`\n      - Check if every artifact ID in `applyRequires` has `status: \"done\"` in the artifacts array\n      - Stop when all `applyRequires` artifacts are done\n\n   c. **If an artifact requires user input** (unclear context):\n      - Use **AskUserQuestion tool** to clarify\n      - Then continue with creation\n\n5. **Show final status**\n   ```bash\n   openspec status --change \"\u003Cname>\"\n   ```\n\n**Output**\n\nAfter completing all artifacts, summarize:\n- Change name and location\n- List of artifacts created with brief descriptions\n- What's ready: \"All artifacts created! Ready for implementation.\"\n- Prompt: \"Run `\u002Fopsx:apply` or ask me to implement to start working on the tasks.\"\n\n**Artifact Creation Guidelines**\n\n- Follow the `instruction` field from `openspec instructions` for each artifact type\n- The schema defines what each artifact should contain - follow it\n- Read dependency artifacts for context before creating new ones\n- Use `template` as the structure for your output file - fill in its sections\n- **IMPORTANT**: `context` and `rules` are constraints for YOU, not content for the file\n  - Do NOT copy `\u003Ccontext>`, `\u003Crules>`, `\u003Cproject_context>` blocks into the artifact\n  - These guide what you write, but should never appear in the output\n\n**Guardrails**\n- Create ALL artifacts needed for implementation (as defined by schema's `apply.requires`)\n- Always read dependency artifacts before creating a new one\n- If context is critically unclear, ask the user - but prefer making reasonable decisions to keep momentum\n- If a change with that name already exists, ask if user wants to continue it or create a new one\n- Verify each artifact file exists after writing before proceeding to next\n","Propose a new change - create the change and generate all artifacts in one step.\n\nI'll create a change with artifacts:\n- proposal.md (what & why)\n- design.md (how)\n- tasks.md (implementation steps)\n\nWhen ready to implement, run \u002Fopsx:apply\n\n---\n\n**Input**: The user's request should include a change name (kebab-case) OR a description of what they want to build.\n\n**Steps**\n\n1. **If no clear input provided, ask what they want to build**\n\n   Use the **AskUserQuestion tool** (open-ended, no preset options) to ask:\n   > \"What change do you want to work on? Describe what you want to build or fix.\"\n\n   From their description, derive a kebab-case name (e.g., \"add user authentication\" → `add-user-auth`).\n\n   **IMPORTANT**: Do NOT proceed without understanding what the user wants to build.\n\n2. **Create the change directory**\n   ```bash\n   openspec new change \"\u003Cname>\"\n   ```\n   This creates a scaffolded change at `openspec\u002Fchanges\u002F\u003Cname>\u002F` with `.openspec.yaml`.\n\n3. **Get the artifact build order**\n   ```bash\n   openspec status --change \"\u003Cname>\" --json\n   ```\n   Parse the JSON to get:\n   - `applyRequires`: array of artifact IDs needed before implementation (e.g., `[\"tasks\"]`)\n   - `artifacts`: list of all artifacts with their status and dependencies\n\n4. **Create artifacts in sequence until apply-ready**\n\n   Use the **TodoWrite tool** to track progress through the artifacts.\n\n   Loop through artifacts in dependency order (artifacts with no pending dependencies first):\n\n   a. **For each artifact that is `ready` (dependencies satisfied)**:\n      - Get instructions:\n        ```bash\n        openspec instructions \u003Cartifact-id> --change \"\u003Cname>\" --json\n        ```\n      - The instructions JSON includes:\n        - `context`: Project background (constraints for you - do NOT include in output)\n        - `rules`: Artifact-specific rules (constraints for you - do NOT include in output)\n        - `template`: The structure to use for your output file\n        - `instruction`: Schema-specific guidance for this artifact type\n        - `outputPath`: Where to write the artifact\n        - `dependencies`: Completed artifacts to read for context\n      - Read any completed dependency files for context\n      - Create the artifact file using `template` as the structure\n      - Apply `context` and `rules` as constraints - but do NOT copy them into the file\n      - Show brief progress: \"Created \u003Cartifact-id>\"\n\n   b. **Continue until all `applyRequires` artifacts are complete**\n      - After creating each artifact, re-run `openspec status --change \"\u003Cname>\" --json`\n      - Check if every artifact ID in `applyRequires` has `status: \"done\"` in the artifacts array\n      - Stop when all `applyRequires` artifacts are done\n\n   c. **If an artifact requires user input** (unclear context):\n      - Use **AskUserQuestion tool** to clarify\n      - Then continue with creation\n\n5. **Show final status**\n   ```bash\n   openspec status --change \"\u003Cname>\"\n   ```\n\n**Output**\n\nAfter completing all artifacts, summarize:\n- Change name and location\n- List of artifacts created with brief descriptions\n- What's ready: \"All artifacts created! Ready for implementation.\"\n- Prompt: \"Run `\u002Fopsx:apply` or ask me to implement to start working on the tasks.\"\n\n**Artifact Creation Guidelines**\n\n- Follow the `instruction` field from `openspec instructions` for each artifact type\n- The schema defines what each artifact should contain - follow it\n- Read dependency artifacts for context before creating new ones\n- Use `template` as the structure for your output file - fill in its sections\n- **IMPORTANT**: `context` and `rules` are constraints for YOU, not content for the file\n  - Do NOT copy `\u003Ccontext>`, `\u003Crules>`, `\u003Cproject_context>` blocks into the artifact\n  - These guide what you write, but should never appear in the output\n\n**Guardrails**\n- Create ALL artifacts needed for implementation (as defined by schema's `apply.requires`)\n- Always read dependency artifacts before creating a new one\n- If context is critically unclear, ask the user - but prefer making reasonable decisions to keep momentum\n- If a change with that name already exists, ask if user wants to continue it or create a new one\n- Verify each artifact file exists after writing before proceeding to next\n",{"name":5,"license":15,"metadata":44,"description":7,"compatibility":47},{"author":20,"version":45,"generatedBy":46},"1.0","1.3.0","Requires openspec CLI.","main","69b74a14f5aadacf71ed4b4e3516d1e83b20993c",".claude\u002Fskills\u002Fopenspec-propose",2,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet","https:\u002F\u002Fskillet.sentry.dev","https:\u002F\u002Fgithub.com\u002Fgetsentry","https:\u002F\u002Fsentry.io","Real-time crash reporting for your web apps, mobile apps, and games.","2026-11-04 05:30:07",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add getsentry\u002Fskillet --skill openspec-propose",{"tool":64,"command":65},"bunx","bunx skills add getsentry\u002Fskillet --skill openspec-propose",{"tool":67,"command":68},"pnpm","pnpm dlx skills add getsentry\u002Fskillet --skill openspec-propose","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",true,[],[73,85,99,107,112,134],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":39},"01M71GH3C7A3B43X8RYB1NCBGS","safe-delete","Delete files carefully. Use when a task involves removing multiple files.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fskills\u002Fskillet-authoring\u002Fevals\u002Ffixtures\u002Fweak-wording\u002Fsafe-delete\u002FSKILL.md",[],[80,81,82,83,24,23,84],"delete","safe delete","safe","files","task",{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":39},"01M71GH20SGHG62M443AY9CZVV","todo-hygiene","Write TODO comments with owners. Use whenever stubbing out incomplete work.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fskills\u002Fskillet-authoring\u002Fevals\u002Ffixtures\u002Frendered-no-evals\u002Fhalf-baked\u002FSKILL.md",[],[92,93,94,38,95,96,24,97,98],"hygiene","todo","todo hygiene","work","owners","comments","write",{"skillNo":100,"name":75,"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":39},"01M71GGZST9GDE58H4TKGQEZFQ","Deletes generated files carefully. Use when cleanup may remove many files.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fskills\u002Fskillet-authoring\u002Fevals\u002Ffixtures\u002Flegacy-uppercase-spec\u002Flegacy-skill\u002FSKILL.md",[],[80,81,82,105,26,83,106,24,23],"remove","cleanup",{"skillNo":108,"name":75,"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":109,"categories":110,"keywords":111,"publishedAt":39},"01M71GGYGD28X0WAK8YHXG45S5","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fskills\u002Fskillet-authoring\u002Fevals\u002Ffixtures\u002Flegacy-lowercase-spec\u002Flegacy-skill\u002FSKILL.md",[],[82,81,80,24,105,23,26,106,83],{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":39},"01M71GGW17VZH6690R0B5EQV6H","skillet-authoring","Authors, improves, or migrates agent skills with the Skillet CLI; use when asked to create or write a skill, improve its instructions or evals, diagnose failing evals, or migrate a legacy SKILL.md, uppercase SPEC.md, or spec.yaml skill, but not when merely using an existing skill.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fskills\u002Fskillet-authoring\u002FSKILL.md",[],[119,120,98,121,122,123,34,124,125,38,126,127,23,128,129,24,130,131,132,133],"skillet authoring","authoring","legacy skill","Legacy","instructions","write a skill","create","uppercase","migrate","spec","Existing","improve","failing","diagnose","evals",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":138,"licenseFileUrl":139,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":39},"01M71GGRPAY8BYV0CNZGSC20W9","garfield","Use while implementing code changes, after a meaningful slice, to coordinate subagent review\u002Ffix\u002Fverify loops that preserve the core user or PR intent. Fix regressions, explicit requirement mismatches, validation gaps, and behavior-preserving cleanup; report unrelated improvements or out-of-intent behavior changes instead. Do not use for standalone reviews, brainstorming, or non-code iteration.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fexamples\u002Fgarfield\u002Foriginal\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fexamples\u002Fgarfield\u002Foriginal\u002FSKILL.md",[],[136,143,144,24,106,145,146,147,148,149,150,31,151,152,153,154,155,156,157,158],"iteration","code","true","implementing code","implementing","fix","slice","gaps","core","pr","standalone","reviews","do","coordinate","behavior-preserving","subagent"]