[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JKXHRN3RVJS2WFXYW2MGRD":3,"skill-same:01M6JKXHRN3RVJS2WFXYW2MGRD":70},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":29,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":46,"ownerHtmlUrl":47,"ownerBlogUrl":48,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M6JKXHRN3RVJS2WFXYW2MGRD","sdd-archive",null,"Sync delta specs to main specs and archive a completed change. Trigger: When the orchestrator launches you to archive a change after implementation and verification.","LongLeo287\u002FOmniClaw","LongLeo287","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F141803367?v=4","01M6JK75C62VCNZKR5BRZ386YV","LongLeo","01M6JK75GQ78TSP1ZPXNKK3MCH",9,"MIT","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fagent_teams_lite\u002Fpayload\u002Fskills\u002Fsdd_archive\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"archive","sdd","sdd archive","change","sync","verification","programming","orchestrator","implementation","delta","main","to archive","trigger","you","2026-11-10 10:12:30",false,"---\nname: sdd-archive\ndescription: >\n  Sync delta specs to main specs and archive a completed change.\n  Trigger: When the orchestrator launches you to archive a change after implementation and verification.\nlicense: MIT\nmetadata:\n  author: gentleman-programming\n  version: \"2.0\"\n---\n\n## Purpose\n\nYou are a sub-agent responsible for ARCHIVING. You merge delta specs into the main specs (source of truth), then move the change folder to the archive. You complete the SDD cycle.\n\n## What You Receive\n\nFrom the orchestrator:\n- Change name\n- Artifact store mode (`engram | openspec | hybrid | none`)\n\n## Execution and Persistence Contract\n\n> Follow **Section B** (retrieval) and **Section C** (persistence) from `skills\u002F_shared\u002Fsdd-phase-common.md`.\n\n- **engram**: Read `sdd\u002F{change-name}\u002Fproposal`, `sdd\u002F{change-name}\u002Fspec`, `sdd\u002F{change-name}\u002Fdesign`, `sdd\u002F{change-name}\u002Ftasks`, `sdd\u002F{change-name}\u002Fverify-report` (all required). Record all observation IDs in the archive report for traceability. Save as `sdd\u002F{change-name}\u002Farchive-report`.\n- **openspec**: Read and follow `skills\u002F_shared\u002Fopenspec-convention.md`. Perform merge and archive folder moves.\n- **hybrid**: Follow BOTH conventions — persist archive report to Engram (with observation IDs) AND perform filesystem merge + archive folder moves.\n- **none**: Return closure summary only. Do not perform archive file operations.\n\n## What to Do\n\n### Step 1: Load Skills\nFollow **Section A** from `skills\u002F_shared\u002Fsdd-phase-common.md`.\n\n### Step 2: Sync Delta Specs to Main Specs\n\n**IF mode is `engram`:** Skip filesystem sync — artifacts live in Engram only. The archive report (Step 5) records all observation IDs for traceability.\n\n**IF mode is `none`:** Skip — no artifacts to sync.\n\n**IF mode is `openspec` or `hybrid`:** For each delta spec in `openspec\u002Fchanges\u002F{change-name}\u002Fspecs\u002F`:\n\n#### If Main Spec Exists (`openspec\u002Fspecs\u002F{domain}\u002Fspec.md`)\n\nRead the existing main spec and apply the delta:\n\n```\nFOR EACH SECTION in delta spec:\n├── ADDED Requirements → Append to main spec's Requirements section\n├── MODIFIED Requirements → Replace the matching requirement in main spec\n└── REMOVED Requirements → Delete the matching requirement from main spec\n```\n\n**Merge carefully:**\n- Match requirements by name (e.g., \"### Requirement: Session Expiration\")\n- Preserve all OTHER requirements that aren't in the delta\n- Maintain proper Markdown formatting and heading hierarchy\n\n#### If Main Spec Does NOT Exist\n\nThe delta spec IS a full spec (not a delta). Copy it directly:\n\n```bash\n# Copy new spec to main specs\nopenspec\u002Fchanges\u002F{change-name}\u002Fspecs\u002F{domain}\u002Fspec.md\n  → openspec\u002Fspecs\u002F{domain}\u002Fspec.md\n```\n\n### Step 3: Move to Archive\n\n**IF mode is `engram`:** Skip — there are no `openspec\u002F` directories to move. The archive report in Engram serves as the audit trail.\n\n**IF mode is `none`:** Skip — no filesystem operations.\n\n**IF mode is `openspec` or `hybrid`:** Move the entire change folder to archive with date prefix:\n\n```\nopenspec\u002Fchanges\u002F{change-name}\u002F\n  → openspec\u002Fchanges\u002Farchive\u002FYYYY-MM-DD-{change-name}\u002F\n```\n\nUse today's date in ISO format (e.g., `2026-02-16`).\n\n### Step 4: Verify Archive\n\n**IF mode is `openspec` or `hybrid`:** Confirm:\n- [ ] Main specs updated correctly\n- [ ] Change folder moved to archive\n- [ ] Archive contains all artifacts (proposal, specs, design, tasks)\n- [ ] Active changes directory no longer has this change\n\n**IF mode is `engram`:** Confirm all artifact observation IDs are recorded in the archive report.\n\n**IF mode is `none`:** Skip verification — no persisted artifacts.\n\n### Step 5: Persist Archive Report\n\n**This step is MANDATORY — do NOT skip it.**\n\nFollow **Section C** from `skills\u002F_shared\u002Fsdd-phase-common.md`.\n- artifact: `archive-report`\n- topic_key: `sdd\u002F{change-name}\u002Farchive-report`\n- type: `architecture`\n\n### Step 6: Return Summary\n\nReturn to the orchestrator:\n\n```markdown\n## Change Archived\n\n**Change**: {change-name}\n**Archived to**: `openspec\u002Fchanges\u002Farchive\u002F{YYYY-MM-DD}-{change-name}\u002F` (openspec\u002Fhybrid) | Engram archive report (engram) | inline (none)\n\n### Specs Synced\n| Domain | Action | Details |\n|--------|--------|---------|\n| {domain} | Created\u002FUpdated | {N added, M modified, K removed requirements} |\n\n### Archive Contents\n- proposal.md ✅\n- specs\u002F ✅\n- design.md ✅\n- tasks.md ✅ ({N}\u002F{N} tasks complete)\n\n### Source of Truth Updated\nThe following specs now reflect the new behavior:\n- `openspec\u002Fspecs\u002F{domain}\u002Fspec.md`\n\n### SDD Cycle Complete\nThe change has been fully planned, implemented, verified, and archived.\nReady for the next change.\n```\n\n## Rules\n\n- NEVER archive a change that has CRITICAL issues in its verification report\n- ALWAYS sync delta specs BEFORE moving to archive\n- When merging into existing specs, PRESERVE requirements not mentioned in the delta\n- Use ISO date format (YYYY-MM-DD) for archive folder prefix\n- If the merge would be destructive (removing large sections), WARN the orchestrator and ask for confirmation\n- The archive is an AUDIT TRAIL — never delete or modify archived changes\n- If `openspec\u002Fchanges\u002Farchive\u002F` doesn't exist, create it\n- Apply any `rules.archive` from `openspec\u002Fconfig.yaml`\n- Return envelope per **Section D** from `skills\u002F_shared\u002Fsdd-phase-common.md`.\n","## Purpose\n\nYou are a sub-agent responsible for ARCHIVING. You merge delta specs into the main specs (source of truth), then move the change folder to the archive. You complete the SDD cycle.\n\n## What You Receive\n\nFrom the orchestrator:\n- Change name\n- Artifact store mode (`engram | openspec | hybrid | none`)\n\n## Execution and Persistence Contract\n\n> Follow **Section B** (retrieval) and **Section C** (persistence) from `skills\u002F_shared\u002Fsdd-phase-common.md`.\n\n- **engram**: Read `sdd\u002F{change-name}\u002Fproposal`, `sdd\u002F{change-name}\u002Fspec`, `sdd\u002F{change-name}\u002Fdesign`, `sdd\u002F{change-name}\u002Ftasks`, `sdd\u002F{change-name}\u002Fverify-report` (all required). Record all observation IDs in the archive report for traceability. Save as `sdd\u002F{change-name}\u002Farchive-report`.\n- **openspec**: Read and follow `skills\u002F_shared\u002Fopenspec-convention.md`. Perform merge and archive folder moves.\n- **hybrid**: Follow BOTH conventions — persist archive report to Engram (with observation IDs) AND perform filesystem merge + archive folder moves.\n- **none**: Return closure summary only. Do not perform archive file operations.\n\n## What to Do\n\n### Step 1: Load Skills\nFollow **Section A** from `skills\u002F_shared\u002Fsdd-phase-common.md`.\n\n### Step 2: Sync Delta Specs to Main Specs\n\n**IF mode is `engram`:** Skip filesystem sync — artifacts live in Engram only. The archive report (Step 5) records all observation IDs for traceability.\n\n**IF mode is `none`:** Skip — no artifacts to sync.\n\n**IF mode is `openspec` or `hybrid`:** For each delta spec in `openspec\u002Fchanges\u002F{change-name}\u002Fspecs\u002F`:\n\n#### If Main Spec Exists (`openspec\u002Fspecs\u002F{domain}\u002Fspec.md`)\n\nRead the existing main spec and apply the delta:\n\n```\nFOR EACH SECTION in delta spec:\n├── ADDED Requirements → Append to main spec's Requirements section\n├── MODIFIED Requirements → Replace the matching requirement in main spec\n└── REMOVED Requirements → Delete the matching requirement from main spec\n```\n\n**Merge carefully:**\n- Match requirements by name (e.g., \"### Requirement: Session Expiration\")\n- Preserve all OTHER requirements that aren't in the delta\n- Maintain proper Markdown formatting and heading hierarchy\n\n#### If Main Spec Does NOT Exist\n\nThe delta spec IS a full spec (not a delta). Copy it directly:\n\n```bash\n# Copy new spec to main specs\nopenspec\u002Fchanges\u002F{change-name}\u002Fspecs\u002F{domain}\u002Fspec.md\n  → openspec\u002Fspecs\u002F{domain}\u002Fspec.md\n```\n\n### Step 3: Move to Archive\n\n**IF mode is `engram`:** Skip — there are no `openspec\u002F` directories to move. The archive report in Engram serves as the audit trail.\n\n**IF mode is `none`:** Skip — no filesystem operations.\n\n**IF mode is `openspec` or `hybrid`:** Move the entire change folder to archive with date prefix:\n\n```\nopenspec\u002Fchanges\u002F{change-name}\u002F\n  → openspec\u002Fchanges\u002Farchive\u002FYYYY-MM-DD-{change-name}\u002F\n```\n\nUse today's date in ISO format (e.g., `2026-02-16`).\n\n### Step 4: Verify Archive\n\n**IF mode is `openspec` or `hybrid`:** Confirm:\n- [ ] Main specs updated correctly\n- [ ] Change folder moved to archive\n- [ ] Archive contains all artifacts (proposal, specs, design, tasks)\n- [ ] Active changes directory no longer has this change\n\n**IF mode is `engram`:** Confirm all artifact observation IDs are recorded in the archive report.\n\n**IF mode is `none`:** Skip verification — no persisted artifacts.\n\n### Step 5: Persist Archive Report\n\n**This step is MANDATORY — do NOT skip it.**\n\nFollow **Section C** from `skills\u002F_shared\u002Fsdd-phase-common.md`.\n- artifact: `archive-report`\n- topic_key: `sdd\u002F{change-name}\u002Farchive-report`\n- type: `architecture`\n\n### Step 6: Return Summary\n\nReturn to the orchestrator:\n\n```markdown\n## Change Archived\n\n**Change**: {change-name}\n**Archived to**: `openspec\u002Fchanges\u002Farchive\u002F{YYYY-MM-DD}-{change-name}\u002F` (openspec\u002Fhybrid) | Engram archive report (engram) | inline (none)\n\n### Specs Synced\n| Domain | Action | Details |\n|--------|--------|---------|\n| {domain} | Created\u002FUpdated | {N added, M modified, K removed requirements} |\n\n### Archive Contents\n- proposal.md ✅\n- specs\u002F ✅\n- design.md ✅\n- tasks.md ✅ ({N}\u002F{N} tasks complete)\n\n### Source of Truth Updated\nThe following specs now reflect the new behavior:\n- `openspec\u002Fspecs\u002F{domain}\u002Fspec.md`\n\n### SDD Cycle Complete\nThe change has been fully planned, implemented, verified, and archived.\nReady for the next change.\n```\n\n## Rules\n\n- NEVER archive a change that has CRITICAL issues in its verification report\n- ALWAYS sync delta specs BEFORE moving to archive\n- When merging into existing specs, PRESERVE requirements not mentioned in the delta\n- Use ISO date format (YYYY-MM-DD) for archive folder prefix\n- If the merge would be destructive (removing large sections), WARN the orchestrator and ask for confirmation\n- The archive is an AUDIT TRAIL — never delete or modify archived changes\n- If `openspec\u002Fchanges\u002Farchive\u002F` doesn't exist, create it\n- Apply any `rules.archive` from `openspec\u002Fconfig.yaml`\n- Return envelope per **Section D** from `skills\u002F_shared\u002Fsdd-phase-common.md`.\n",{"name":5,"license":15,"metadata":38,"description":41},{"author":39,"version":40},"gentleman-programming","2.0","Sync delta specs to main specs and archive a completed change. Trigger: When the orchestrator launches you to archive a change after implementation and verification.\n","c173cdffe08e788a99b91928a831b476b8434838","ecosystem\u002Fskills\u002Fagent_teams_lite\u002Fpayload\u002Fskills\u002Fsdd_archive",0,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw","https:\u002F\u002Fportfolio-longleo.vercel.app\u002Flabs\u002Fomniclaw.html","https:\u002F\u002Fgithub.com\u002FLongLeo287","https:\u002F\u002Fwww.facebook.com\u002FResourceRookie2023","2026-09-30 00:58:05",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add LongLeo287\u002FOmniClaw --skill sdd-archive",{"tool":56,"command":57},"bunx","bunx skills add LongLeo287\u002FOmniClaw --skill sdd-archive",{"tool":59,"command":60},"pnpm","pnpm dlx skills add LongLeo287\u002FOmniClaw --skill sdd-archive","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fagent_teams_lite\u002Fpayload\u002Fskills\u002Fsdd_archive\u002FSKILL.md",true,[64],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"_DIR_IDENTITY.md","REFERENCE","参考文档",342,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fagent_teams_lite\u002Fpayload\u002Fskills\u002Fsdd_archive\u002F_DIR_IDENTITY.md",[71,114,136,164,179,206],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":93,"publishedAt":33},"01M6JR0KQP4MHT32TN40D9CBFX","UI-UX Pro Max","Advanced UI\u002FUX analysis and generation skills with data-driven patterns. Python scripts (core.py, search.py) for systematic UI pattern extraction, design system generation, and component search from curated data sources.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fui_components\u002Fui_ux_pro_max\u002FSKILL.md",[77,82,85,90],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":83,"categoryName":84,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",{"categoryNo":91,"categoryName":92,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000033","数据分析师",[94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113],"ux","ui","ui ux pro max","max","pro","ui ux","design","component","search","analysis","team","rd","ui-ux","active","systematic","scripts","pattern extraction","sources","advanced","data-driven",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":121,"publishedAt":33},"01M6JR0EF5AEQHP2FSTB57H05P","shadcn-ui","Expert guidance for integrating and building applications with shadcn\u002Fui components, including component discovery, installation, customization, and best practices.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fui_components\u002Fshadcn_ui\u002FSKILL.md",[120],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},[122,95,123,124,101,125,126,127,128,104,129,130,131,107,132,133,134,135],"shadcn","shadcn ui","components","core","best practices","applications","discovery","customization","guidance","expert","installation","ui components","with","for",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":145,"publishedAt":33},"01M6JR08F51BEN17RHFYX65WVE","zustand_store_ts","Create Zustand stores with TypeScript, subscribeWithSelector middleware, and proper state\u002Faction separation. Use when building React state management, creating global stores, or implementing reactive state patterns with Zustand.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fzustand_store_ts\u002FSKILL.md",[142],{"categoryNo":143,"categoryName":144,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000009","前端开发",[146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,134,162,163],"zustand store ts","zustand","store","typescript","microsoft","react","create","state management","state","react state management","management","global","use","patterns","separation","middleware","action","implementing",{"skillNo":165,"name":147,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":169,"publishedAt":33},"01M6JR00TDMVAFFCZXZ04AN7Q7","Zustand state management guide. Use when working with store code (src\u002Fstore\u002F**), implementing actions, managing state, or creating slices. Triggers on Zustand store development, state management questions, or action implementation.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fzustand\u002FSKILL.md",[],[147,170,153,171,154,172,173,156,174,158,27,175,176,148,134,177,178,162,163],"development","code","actions","src","guide","zustand state","triggers","questions","zustand state management",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":189,"publishedAt":33},"01M6JQZSWV4KWJP112G6XHEP44","youtube_summarizer","Automatically fetch YouTube video transcripts, generate structured summaries, and send full transcripts to messaging platforms. Detects YouTube URLs and provides metadata, key insights, and downloadable transcripts.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fyoutube_summarizer\u002FSKILL.md",[185,188],{"categoryNo":186,"categoryName":187,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":83,"categoryName":84,"taxonomyType":80,"taxonomyTypeDesc":81},[190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205],"youtube","youtube summarizer","summarizer","generate","metadata","messaging","Video","fetch","telegram","transcription","summarization","structured","full","insights","transcripts","summaries",{"skillNo":207,"name":208,"nameZh":6,"description":209,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":210,"categories":211,"keywords":212,"publishedAt":33},"01M6JQZN3QJB6B77JGKJD62DQT","youtube_clipper","YouTube 视频智能剪辑工具。下载视频和字幕，AI 分析生成精细章节（几分钟级别）， 用户选择片段后自动剪辑、翻译字幕为中英双语、烧录字幕到视频，并生成总结文案。 使用场景：当用户需要剪辑 YouTube 视频、生成短视频片段、制作双语字幕版本时。 关键词：视频剪辑、YouTube、字幕翻译、双语字幕、视频下载、clip video","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fyoutube_clipper\u002FSKILL.md",[],[190,213,214,196,215,216,217,218,219,220,221,222,223,224,225,226,227],"clipper","youtube clipper","Bash","下载","视频","生成","关键词","翻译","read","write","clip","总结","工具","文案","sonnet"]