[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M74EBHAFWB44MT7EMFYPRPW2":3,"skill-same:01M74EBHAFWB44MT7EMFYPRPW2":56},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":31,"ownerHtmlUrl":32,"ownerBlogUrl":33,"ownerDescription":34,"updatedAt":35,"install":36,"resources":49},"01M74EBHAFWB44MT7EMFYPRPW2","sdd-refine",null,"SDD step 2 (optional, repeatable). Read an existing feature.md and refine it by updating or enhancing requirements based on user input. Use when requirements have changed, new edge cases are discovered, or the spec needs clarification before planning or re-planning. Run before \u002Fsdd-plan if plan.md already exists.","CarlosCaPe\u002Foctorato","CarlosCaPe","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F39838249?v=4","01M72WXX4ZRR8MBH1EP1QND2FQ","dataqbs","01M72WXX5NA7YCKRSJ54GW1GQ8",18,"MIT","https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fsdd-refine\u002FSKILL.md",[],[],"2026-11-11 15:11:14",false,"---\nname: sdd-refine\ndescription: >\n  SDD step 2 (optional, repeatable). Read an existing feature.md and refine it by updating or\n  enhancing requirements based on user input. Use when requirements have changed,\n  new edge cases are discovered, or the spec needs clarification before planning\n  or re-planning. Run before \u002Fsdd-plan if plan.md already exists.\nargument-hint: \u003Cwhat to change or enhance (optional)>\n---\n\n# SDD: Refine Feature Spec\n\nYou are a senior software architect refining an existing feature specification.\n\n## Inputs\n\n| Input                | Required | Description                       | Example                                               |\n|----------------------|----------|-----------------------------------|-------------------------------------------------------|\n| `refinement_request` | Optional | What to change or add to the spec | \"Add rate limiting: max 5 login attempts per minute\" |\n\n## Steps\n\n### Step 0: Validate Inputs (ALWAYS DO THIS FIRST)\n\nCheck the conversation for `refinement_request` and for the spec directory (`docs\u002Fspecs\u002F\u003CyyyymmddHHMM>-\u003Cfeature-name>\u002F`, the one holding `feature.md`). If several are open, ask which one.\n\n- If `feature.md` does not exist → stop and tell the user to run `\u002Fsdd-feature` first.\n- If `refinement_request` is present → proceed to Step 1.\n- If `refinement_request` is missing → ask:\n  > \"What would you like to change or add to the spec? Is this a scope change, a clarification, or new edge cases?\"\n  Do NOT proceed until the user provides it.\n\n---\n\n## Pre-conditions\nVerify `feature.md` exists in the spec directory.\nIf it does not exist, tell the user to run `\u002Fsdd-feature` first.\n\n### 1. Read Current State\nRead these files before doing anything:\n- `feature.md`: the existing spec to be refined\n- `docs\u002Fproject.md`: project context and constraints\n- `plan.md`: if it exists, note which parts of the plan may be invalidated by changes\n\n### 2. Understand the Refinement Request\nThe refinement input is: **`refinement_request`** (collected in Step 0).\n\nAnalyse `refinement_request` against the current `feature.md` and identify:\n- What sections are affected\n- Whether the change expands scope, reduces scope, or clarifies existing scope\n- Any knock-on effects (e.g., changing a requirement may invalidate other ACs)\n\n### 3. Clarify One Question at a Time\nOpen `[NEEDS CLARIFICATION: ...]` markers in `feature.md` come first, then any ambiguity in the\nrefinement request itself. Work through them one by one:\n\n1. Ask **one** question. Offer 2 to 4 concrete options and mark one as recommended, with the\n   reason in one line (impact, scope, risk).\n2. Wait for the answer.\n3. Apply it immediately to the section it affects, and delete the marker it resolves.\n4. Only then ask the next question. Stop after 5 questions in one session; anything left stays\n   as a marker.\n\n### 4. Show a Diff Summary Before Editing\nThe answers of step 3 are already in the file. For every other change the refinement\nasks for, present a brief plan before modifying the file:\n\n```\n## Proposed Changes to feature.md\n\n### Additions\n- FR-04: \u003Cnew requirement>\n- AC-05: \u003Cnew acceptance criterion>\n\n### Modifications\n- FR-02: Updated to clarify that X also applies to Y\n- AC-02: Strengthened: must complete within 200ms, not 500ms\n\n### Removals\n- FR-03: Removed: out of scope per user confirmation\n\n### No Change\n- All other sections remain as-is\n```\n\nAsk the user to confirm before applying.\n\n### 5. Apply the Refinements\nUpdate `feature.md` in place. Preserve:\n- Existing section structure and numbering where possible\n- The checkbox state of every criterion exactly as found; never tick or untick one\n- The `Spec-Format` header, the Glossary, and EARS form for every criterion (new criteria\n  follow the patterns in `\u002Fsdd-feature`, with a Glossary name as subject)\n- Open markers you did not resolve; add a new one only if the refinement raises a question\n  you cannot answer, and never exceed 3 in total\n\nIncrement requirement IDs sequentially (do not reuse deleted IDs).\n\n### 6. Impact Assessment\nAfter updating `feature.md`, check if `plan.md` exists.\nIf it does, analyse the impact:\n\n```\n## Impact on plan.md\n\nplan.md exists and may be partially invalidated. Here is what needs revisiting:\n\n- Step 2 (Domain Layer): FR-04 adds a new value object not currently planned\n- Step 6 (Tests): 2 new ACs require additional test cases\n- Step 3 is unaffected\n\nRecommendation: Run \u002Fsdd-plan again to regenerate the plan before implementing.\n```\n\nIf `plan.md` does not exist, simply confirm the spec is updated and prompt the user to run `\u002Fsdd-plan`.\n\n### 7. Changelog Entry\nAppend a refinement record at the bottom of `feature.md`:\n\n```markdown\n---\n\n## Revision History\n\n| Date | Change Summary |\n|------|----------------|\n| \u003Cdate> | Initial spec |\n| \u003Cdate> | \u003COne-line summary of this refinement> |\n```\n\nIf a revision history table already exists, append a new row; do not recreate the table.\nThe row names the questions answered in this session. This table is the only clarification log.\n\n### 8. Lint\nRun `python3 ~\u002F.claude\u002Fscripts\u002Fspec_lint.py \u003Cspec-directory>` and fix every finding.\n","# SDD: Refine Feature Spec\n\nYou are a senior software architect refining an existing feature specification.\n\n## Inputs\n\n| Input                | Required | Description                       | Example                                               |\n|----------------------|----------|-----------------------------------|-------------------------------------------------------|\n| `refinement_request` | Optional | What to change or add to the spec | \"Add rate limiting: max 5 login attempts per minute\" |\n\n## Steps\n\n### Step 0: Validate Inputs (ALWAYS DO THIS FIRST)\n\nCheck the conversation for `refinement_request` and for the spec directory (`docs\u002Fspecs\u002F\u003CyyyymmddHHMM>-\u003Cfeature-name>\u002F`, the one holding `feature.md`). If several are open, ask which one.\n\n- If `feature.md` does not exist → stop and tell the user to run `\u002Fsdd-feature` first.\n- If `refinement_request` is present → proceed to Step 1.\n- If `refinement_request` is missing → ask:\n  > \"What would you like to change or add to the spec? Is this a scope change, a clarification, or new edge cases?\"\n  Do NOT proceed until the user provides it.\n\n---\n\n## Pre-conditions\nVerify `feature.md` exists in the spec directory.\nIf it does not exist, tell the user to run `\u002Fsdd-feature` first.\n\n### 1. Read Current State\nRead these files before doing anything:\n- `feature.md`: the existing spec to be refined\n- `docs\u002Fproject.md`: project context and constraints\n- `plan.md`: if it exists, note which parts of the plan may be invalidated by changes\n\n### 2. Understand the Refinement Request\nThe refinement input is: **`refinement_request`** (collected in Step 0).\n\nAnalyse `refinement_request` against the current `feature.md` and identify:\n- What sections are affected\n- Whether the change expands scope, reduces scope, or clarifies existing scope\n- Any knock-on effects (e.g., changing a requirement may invalidate other ACs)\n\n### 3. Clarify One Question at a Time\nOpen `[NEEDS CLARIFICATION: ...]` markers in `feature.md` come first, then any ambiguity in the\nrefinement request itself. Work through them one by one:\n\n1. Ask **one** question. Offer 2 to 4 concrete options and mark one as recommended, with the\n   reason in one line (impact, scope, risk).\n2. Wait for the answer.\n3. Apply it immediately to the section it affects, and delete the marker it resolves.\n4. Only then ask the next question. Stop after 5 questions in one session; anything left stays\n   as a marker.\n\n### 4. Show a Diff Summary Before Editing\nThe answers of step 3 are already in the file. For every other change the refinement\nasks for, present a brief plan before modifying the file:\n\n```\n## Proposed Changes to feature.md\n\n### Additions\n- FR-04: \u003Cnew requirement>\n- AC-05: \u003Cnew acceptance criterion>\n\n### Modifications\n- FR-02: Updated to clarify that X also applies to Y\n- AC-02: Strengthened: must complete within 200ms, not 500ms\n\n### Removals\n- FR-03: Removed: out of scope per user confirmation\n\n### No Change\n- All other sections remain as-is\n```\n\nAsk the user to confirm before applying.\n\n### 5. Apply the Refinements\nUpdate `feature.md` in place. Preserve:\n- Existing section structure and numbering where possible\n- The checkbox state of every criterion exactly as found; never tick or untick one\n- The `Spec-Format` header, the Glossary, and EARS form for every criterion (new criteria\n  follow the patterns in `\u002Fsdd-feature`, with a Glossary name as subject)\n- Open markers you did not resolve; add a new one only if the refinement raises a question\n  you cannot answer, and never exceed 3 in total\n\nIncrement requirement IDs sequentially (do not reuse deleted IDs).\n\n### 6. Impact Assessment\nAfter updating `feature.md`, check if `plan.md` exists.\nIf it does, analyse the impact:\n\n```\n## Impact on plan.md\n\nplan.md exists and may be partially invalidated. Here is what needs revisiting:\n\n- Step 2 (Domain Layer): FR-04 adds a new value object not currently planned\n- Step 6 (Tests): 2 new ACs require additional test cases\n- Step 3 is unaffected\n\nRecommendation: Run \u002Fsdd-plan again to regenerate the plan before implementing.\n```\n\nIf `plan.md` does not exist, simply confirm the spec is updated and prompt the user to run `\u002Fsdd-plan`.\n\n### 7. Changelog Entry\nAppend a refinement record at the bottom of `feature.md`:\n\n```markdown\n---\n\n## Revision History\n\n| Date | Change Summary |\n|------|----------------|\n| \u003Cdate> | Initial spec |\n| \u003Cdate> | \u003COne-line summary of this refinement> |\n```\n\nIf a revision history table already exists, append a new row; do not recreate the table.\nThe row names the questions answered in this session. This table is the only clarification log.\n\n### 8. Lint\nRun `python3 ~\u002F.claude\u002Fscripts\u002Fspec_lint.py \u003Cspec-directory>` and fix every finding.\n",{"name":5,"description":24,"argument-hint":25},"SDD step 2 (optional, repeatable). Read an existing feature.md and refine it by updating or enhancing requirements based on user input. Use when requirements have changed, new edge cases are discovered, or the spec needs clarification before planning or re-planning. Run before \u002Fsdd-plan if plan.md already exists.\n","\u003Cwhat to change or enhance (optional)>","master","b4414608cd5a3f87d1525b518f1c6add8363540d","skills\u002Fsdd-refine",6,"https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato","https:\u002F\u002Fwww.dataqbs.com\u002Foctorato","https:\u002F\u002Fgithub.com\u002FCarlosCaPe","www.dataqbs.com"," AI-powered data engineering\r\n& consulting\r\n\r\nWe build data platforms that turn complexity into clarity — from cloud architecture and ETL pipelines to AI-driven","2026-11-14 00:21:00",{"source":8,"skillName":5,"commands":37,"prompt":47,"zipAvailable":48},[38,41,44],{"tool":39,"command":40},"npx","npx skills add CarlosCaPe\u002Foctorato --skill sdd-refine",{"tool":42,"command":43},"bunx","bunx skills add CarlosCaPe\u002Foctorato --skill sdd-refine",{"tool":45,"command":46},"pnpm","pnpm dlx skills add CarlosCaPe\u002Foctorato --skill sdd-refine","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fsdd-refine\u002FSKILL.md",true,[50],{"path":51,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":54,"sourceHtmlUrl":55},"skill.json","REFERENCE","参考文档",423,"https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fsdd-refine\u002Fskill.json",[57,66,74,81,89,97],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":61,"licenseFileUrl":62,"sourceHtmlUrl":63,"categories":64,"keywords":65,"publishedAt":19},"01M74EVAA4A4B4AKR5TT732GP4","yeet","Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`).","Apache-2.0","https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fyeet\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fyeet\u002FSKILL.md",[],[],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":61,"licenseFileUrl":70,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":19},"01M74EV4WMRDKP2NQS4YWR8PXH","wrangler","Cloudflare Workers CLI for deploying, developing, and managing Workers, KV, R2, D1, Vectorize, Hyperdrive, Workers AI, Containers, Queues, Workflows, Pipelines, and Secrets Store. Load before running wrangler commands to ensure correct syntax and best practices. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.","https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fwrangler\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fwrangler\u002FSKILL.md",[],[],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":19},"01M74EV05MHTXKEXD4B2QJEYTF","workspace-skill-discovery","Discover and include ALL skills across the workspace — not just global ones. Use at the start of every session or when the user asks about available skills. Ensures project-level skills (under .claude\u002Fskills\u002F or skills\u002F in any repo) are never missed.","https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fworkspace-skill-discovery\u002FSKILL.md",[],[],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":61,"licenseFileUrl":85,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":19},"01M74ETV78525B4VP2F28Z6NRD","workers-best-practices","Reviews and authors Cloudflare Workers code against production best practices. Load when writing new Workers, reviewing Worker code, configuring wrangler.jsonc, or checking for common Workers anti-patterns (streaming, floating promises, global state, secrets, bindings, observability). Biases towards retrieval from Cloudflare docs over pre-trained knowledge.","https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fworkers-best-practices\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fworkers-best-practices\u002FSKILL.md",[],[],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":61,"licenseFileUrl":93,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":19},"01M74ETR75NF67WGVEN7288ACV","winui-app","Create, build and design WinUI 3 desktop apps with C# and the Windows App SDK following Microsoft's official guidance and CommunityToolkit. Covers XAML, navigation, theming, accessibility and deployment.","https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fwinui-app\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fwinui-app\u002FSKILL.md",[],[],{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":19},"01M74ETJFRNPPNSQZ36C6HD6CW","windows-brain-script-portability","Scripts in ~\u002F.claude\u002Fscripts\u002F that run on a Windows brain: use the python3.cmd shim and not bare python3, and reconfigure stdout to UTF-8 if you print symbols. Use it when writing a brain script or triaging a Windows-only crash.","https:\u002F\u002Fgithub.com\u002FCarlosCaPe\u002Foctorato\u002Fblob\u002Fmaster\u002Fskills\u002Fwindows-brain-script-portability\u002FSKILL.md",[],[]]