[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6RVC09XSY9AKAFRRX9R2VZ5":3,"skill-same:01M6RVC09XSY9AKAFRRX9R2VZ5":69},{"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":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6RVC09XSY9AKAFRRX9R2VZ5","github-trending",null,"Fetch today's GitHub trending repos filtered by AI\u002FLLM\u002Fagent\u002FML topics. Use when user asks about popular AI projects, what's hot on GitHub today, trending open-source releases, or daily tech radar.","huangjia2019\u002Fsdd-in-action","huangjia2019","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F48795276?v=4","01M6RVB2A5TS40SQTN843K74XF","Jia Huang (黄佳)","01M6RVB2DWAKV004CDR8A4QXCY",175,"MIT","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek1\u002Fcode\u002F04\u002Fskills\u002Fgithub-trending\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"trending","github trending","github","releases","when","filtered","topics","about","tech","open-source","radar","daily","use","webfetch","fetch","projects","Bash","open","ml","repos","2026-11-10 10:12:30",false,"---\nname: github-trending\ndescription: Fetch today's GitHub trending repos filtered by AI\u002FLLM\u002Fagent\u002FML topics. Use when user asks about popular AI projects, what's hot on GitHub today, trending open-source releases, or daily tech radar.\nallowed-tools: [Bash, WebFetch]\n---\n\n# GitHub Trending · AI Filter\n\n抓 github.com\u002Ftrending 的 Top 50 · 过滤 AI 相关。\n\n## 流程\n\n1. 读 `specs\u002Fgithub-trending-skill.md` 里的 `FILTER_TOPICS` 列表\n2. WebFetch `https:\u002F\u002Fgithub.com\u002Ftrending` (HTML)\n3. 解析 top 50 repo 的 [name, url, stars, topics, description]\n4. 过滤 topics 命中 FILTER_TOPICS 任一的 repo\n5. 输出 JSON 到 stdout · schema 见 spec\n\n## Failure Mode\n\n- HTTP 超时（>10s）· 返回空数组 `[]` · 不抛异常\n- HTML 结构变化（解析失败）· 日志 warn · 返回空数组\n- 绝不输出非 JSON 内容\n\n## Time Budget\n\n≤ 10s total。if HTTP timeout, abort immediately with empty result.\n\n## 自测\n\n- \"给我今天的 AI trending\" → 应触发\n- \"帮我读 README\" → 不应触发\n- \"上周热门\" → 不应触发（本 skill 只做今日）\n","# GitHub Trending · AI Filter\n\n抓 github.com\u002Ftrending 的 Top 50 · 过滤 AI 相关。\n\n## 流程\n\n1. 读 `specs\u002Fgithub-trending-skill.md` 里的 `FILTER_TOPICS` 列表\n2. WebFetch `https:\u002F\u002Fgithub.com\u002Ftrending` (HTML)\n3. 解析 top 50 repo 的 [name, url, stars, topics, description]\n4. 过滤 topics 命中 FILTER_TOPICS 任一的 repo\n5. 输出 JSON 到 stdout · schema 见 spec\n\n## Failure Mode\n\n- HTTP 超时（>10s）· 返回空数组 `[]` · 不抛异常\n- HTML 结构变化（解析失败）· 日志 warn · 返回空数组\n- 绝不输出非 JSON 内容\n\n## Time Budget\n\n≤ 10s total。if HTTP timeout, abort immediately with empty result.\n\n## 自测\n\n- \"给我今天的 AI trending\" → 应触发\n- \"帮我读 README\" → 不应触发\n- \"上周热门\" → 不应触发（本 skill 只做今日）\n",{"name":5,"description":7,"allowed-tools":44},[35,45],"WebFetch","master","7ccc24b38f7cae09897ace41ebae14780250ac86","week1\u002Fcode\u002F04\u002Fskills\u002Fgithub-trending",60,"https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action","https:\u002F\u002Fgithub.com\u002Fhuangjia2019","https:\u002F\u002Fkage-ai.com","AI researcher at A*STAR | Author of Designing AI Agents (Manning) | Co-founder of ADPS","2026-08-25 16:05:09",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add huangjia2019\u002Fsdd-in-action --skill github-trending",{"tool":61,"command":62},"bunx","bunx skills add huangjia2019\u002Fsdd-in-action --skill github-trending",{"tool":64,"command":65},"pnpm","pnpm dlx skills add huangjia2019\u002Fsdd-in-action --skill github-trending","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek1\u002Fcode\u002F04\u002Fskills\u002Fgithub-trending\u002FSKILL.md",true,[],[70,91,106,123,138,153],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":39},"01M6WZBHKBA02YT2SHSACNJR91","openspec-verify-change","Verify implementation matches change artifacts. Use when the user wants to validate that implementation is complete, correct, and coherent before archiving.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-verify-change\u002FSKILL.md",[],[77,78,79,80,81,23,82,83,84,85,86,31,87,88,89,90],"change","openspec verify change","verify","verify change","openspec","validate","complete","verify implementation","coherent","implementation","user","correct","artifacts","cli",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":39},"01M6WZBEQRPC45MDYVPMG17X89","openspec-sync-specs","Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-sync-specs\u002FSKILL.md",[],[98,99,81,77,100,90,101,23,102,103,104,105,31,87],"openspec sync specs","sync","spec","update","changes","with","main","delta",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":39},"01M6WZBA2QKBW10Z1ZYA4K2AV9","openspec-propose","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.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[113,81,23,86,114,83,115,116,117,103,118,119,120,87,89,121,77,90,122,31],"openspec propose","build","describe","for","ready","get","proposal","generated","tasks","design",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":39},"01M6WZB3J0FJQJ0WSW9EK6447P","openspec-onboard","Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-onboard\u002FSKILL.md",[],[130,131,81,103,132,116,83,133,134,135,136,137,90],"openspec onboard","onboard","codebase","cycle","narration","work","onboarding","workflow",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":39},"01M6WZAZX6QSAV79619M68K8N1","openspec-new-change","Start a new OpenSpec change using the experimental artifact workflow. Use when the user wants to create a new feature, fix, or modification with a structured step-by-step approach.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-new-change\u002FSKILL.md",[],[77,81,145,146,147,31,148,149,87,150,151,137,90,152,23,103],"openspec new change","structured","artifact","new feature","fix","start","create","feature",{"skillNo":154,"name":155,"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":39},"01M6WZAX8300NEPY3T1J8FRS3C","openspec-ff-change","Fast-forward through OpenSpec artifact creation. Use when the user wants to quickly create all artifacts needed for implementation without stepping through each one individually.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-ff-change\u002FSKILL.md",[],[77,160,81,90,23,116,161,147,86,31,87,162,89,151],"openspec ff change","creation","fast"]