[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71GMS3RFZRRGNY6RBSTS48T":3,"skill-same:01M71GMS3RFZRRGNY6RBSTS48T":92},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M71GMS3RFZRRGNY6RBSTS48T","scrape-webpage",null,"Scrape webpage content, extract metadata, download images, and prepare for import\u002Fmigration to AEM Edge Delivery Services. Returns analysis JSON with paths, metadata, cleaned HTML, and local images.","JSGforever\u002Fskillguard","JSGforever","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F85541948?v=4","01M71FQD3E132VMR5F4TAYX3YS","01M71FQD4DYW0XJ4XQ4YQH75Y9",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__adobe--scrape-webpage\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"scrape webpage","scrape","download","extract","html","content","prepare","paths","migration","delivery","json","services","with","analysis","returns analysis","edge","local","for","import","images","2026-11-10 10:12:30",false,"---\nname: scrape-webpage\ndescription: Scrape webpage content, extract metadata, download images, and prepare for import\u002Fmigration to AEM Edge Delivery Services. Returns analysis JSON with paths, metadata, cleaned HTML, and local images.\n---\n\n# Scrape Webpage\n\nExtract content, metadata, and images from a webpage for import\u002Fmigration.\n\n## When to Use This Skill\n\nUse this skill when:\n- Starting a page import and need to extract content from source URL\n- Need webpage analysis with local image downloads\n- Want metadata extraction (Open Graph, JSON-LD, etc.)\n\n**Invoked by:** page-import skill (Step 1)\n\n## Prerequisites\n\nBefore using this skill, ensure:\n- ✅ Node.js is available\n- ✅ npm playwright is installed (`npm install playwright`)\n- ✅ Chromium browser is installed (`npx playwright install chromium`)\n- ✅ Sharp image library is installed (`cd .claude\u002Fskills\u002Fscrape-webpage\u002Fscripts && npm install`)\n\n## Related Skills\n\n- **page-import** - Orchestrator that invokes this skill\n- **identify-page-structure** - Uses this skill's output (screenshot, HTML, metadata)\n- **generate-import-html** - Uses image mapping and paths from this skill\n\n## Scraping Workflow\n\n### Step 1: Run Analysis Script\n\n**Command:**\n```bash\nnode .claude\u002Fskills\u002Fscrape-webpage\u002Fscripts\u002Fanalyze-webpage.js \"https:\u002F\u002Fexample.com\u002Fpage\" --output .\u002Fimport-work\n```\n\n**What the script does:**\n1. Sets up network interception to capture all images\n2. Loads page in headless Chromium\n3. Scrolls through entire page to trigger lazy-loaded images\n4. Downloads all images locally (converts WebP\u002FAVIF\u002FSVG to PNG)\n5. Captures full-page screenshot for visual reference\n6. Extracts metadata (title, description, Open Graph, JSON-LD, canonical)\n7. **Fixes images in DOM** (background-image→img, picture elements, srcset→src, relative→absolute, inline SVG→img)\n8. Extracts cleaned HTML (removes scripts\u002Fstyles)\n9. Replaces image URLs in HTML with local paths (.\u002Fimages\u002F...)\n10. Generates document paths (sanitized, lowercase, no .html extension)\n11. Saves complete analysis with image mapping to metadata.json\n\n**For detailed explanation:** See `resources\u002Fweb-page-analysis.md`\n\n---\n\n### Step 2: Verify Output\n\n**Output files:**\n- `.\u002Fimport-work\u002Fmetadata.json` - Complete analysis with paths and image mapping\n- `.\u002Fimport-work\u002Fscreenshot.png` - Visual reference for layout comparison\n- `.\u002Fimport-work\u002Fcleaned.html` - Main content HTML with local image paths\n- `.\u002Fimport-work\u002Fimages\u002F` - All downloaded images (WebP\u002FAVIF\u002FSVG converted to PNG)\n\n**Verify files exist:**\n```bash\nls -lh .\u002Fimport-work\u002Fmetadata.json .\u002Fimport-work\u002Fscreenshot.png .\u002Fimport-work\u002Fcleaned.html\nls -lh .\u002Fimport-work\u002Fimages\u002F | head -5\n```\n\n---\n\n### Step 3: Review Metadata JSON\n\n**Output JSON structure:**\n```json\n{\n  \"url\": \"https:\u002F\u002Fexample.com\u002Fpage\",\n  \"timestamp\": \"2025-01-12T10:30:00.000Z\",\n  \"paths\": {\n    \"documentPath\": \"\u002Fus\u002Fen\u002Fabout\",\n    \"htmlFilePath\": \"us\u002Fen\u002Fabout.plain.html\",\n    \"mdFilePath\": \"us\u002Fen\u002Fabout.md\",\n    \"dirPath\": \"us\u002Fen\",\n    \"filename\": \"about\"\n  },\n  \"screenshot\": \".\u002Fimport-work\u002Fscreenshot.png\",\n  \"html\": {\n    \"filePath\": \".\u002Fimport-work\u002Fcleaned.html\",\n    \"size\": 45230\n  },\n  \"metadata\": {\n    \"title\": \"Page Title\",\n    \"description\": \"Page description\",\n    \"og:image\": \"https:\u002F\u002Fexample.com\u002Fimage.jpg\",\n    \"canonical\": \"https:\u002F\u002Fexample.com\u002Fpage\"\n  },\n  \"images\": {\n    \"count\": 15,\n    \"mapping\": {\n      \"https:\u002F\u002Fexample.com\u002Fhero.jpg\": \".\u002Fimages\u002Fa1b2c3d4e5f6.jpg\",\n      \"https:\u002F\u002Fexample.com\u002Flogo.webp\": \".\u002Fimages\u002Ff6e5d4c3b2a1.png\"\n    },\n    \"stats\": {\n      \"total\": 15,\n      \"converted\": 3,\n      \"skipped\": 12,\n      \"failed\": 0\n    }\n  }\n}\n```\n\n**Key fields:**\n- `paths.documentPath` - Used for browser preview URL\n- `paths.htmlFilePath` - Where to save final HTML file\n- `images.mapping` - Original URLs → local paths\n- `metadata` - Extracted page metadata\n\n---\n\n## Output\n\nThis skill provides:\n- ✅ metadata.json with paths, metadata, image mapping\n- ✅ screenshot.png for visual reference\n- ✅ cleaned.html with local image references\n- ✅ images\u002F folder with all downloaded images\n\n**Next step:** Pass these outputs to identify-page-structure skill\n\n---\n\n## Troubleshooting\n\n**Browser not installed:**\n```bash\nnpx playwright install chromium\n```\n\n**Sharp not installed:**\n```bash\ncd .claude\u002Fskills\u002Fscrape-webpage\u002Fscripts && npm install\n```\n\n**Image download failures:**\n- Check images.stats.failed count in metadata.json\n- Some images may require authentication or be blocked by CORS\n- Failed images will be noted but won't stop the scraping process\n\n**Lazy-loaded images not captured:**\n- Script scrolls through page to trigger lazy loading\n- Some advanced lazy-loading may need customization in scripts\u002Fanalyze-webpage.js\n","# Scrape Webpage\n\nExtract content, metadata, and images from a webpage for import\u002Fmigration.\n\n## When to Use This Skill\n\nUse this skill when:\n- Starting a page import and need to extract content from source URL\n- Need webpage analysis with local image downloads\n- Want metadata extraction (Open Graph, JSON-LD, etc.)\n\n**Invoked by:** page-import skill (Step 1)\n\n## Prerequisites\n\nBefore using this skill, ensure:\n- ✅ Node.js is available\n- ✅ npm playwright is installed (`npm install playwright`)\n- ✅ Chromium browser is installed (`npx playwright install chromium`)\n- ✅ Sharp image library is installed (`cd .claude\u002Fskills\u002Fscrape-webpage\u002Fscripts && npm install`)\n\n## Related Skills\n\n- **page-import** - Orchestrator that invokes this skill\n- **identify-page-structure** - Uses this skill's output (screenshot, HTML, metadata)\n- **generate-import-html** - Uses image mapping and paths from this skill\n\n## Scraping Workflow\n\n### Step 1: Run Analysis Script\n\n**Command:**\n```bash\nnode .claude\u002Fskills\u002Fscrape-webpage\u002Fscripts\u002Fanalyze-webpage.js \"https:\u002F\u002Fexample.com\u002Fpage\" --output .\u002Fimport-work\n```\n\n**What the script does:**\n1. Sets up network interception to capture all images\n2. Loads page in headless Chromium\n3. Scrolls through entire page to trigger lazy-loaded images\n4. Downloads all images locally (converts WebP\u002FAVIF\u002FSVG to PNG)\n5. Captures full-page screenshot for visual reference\n6. Extracts metadata (title, description, Open Graph, JSON-LD, canonical)\n7. **Fixes images in DOM** (background-image→img, picture elements, srcset→src, relative→absolute, inline SVG→img)\n8. Extracts cleaned HTML (removes scripts\u002Fstyles)\n9. Replaces image URLs in HTML with local paths (.\u002Fimages\u002F...)\n10. Generates document paths (sanitized, lowercase, no .html extension)\n11. Saves complete analysis with image mapping to metadata.json\n\n**For detailed explanation:** See `resources\u002Fweb-page-analysis.md`\n\n---\n\n### Step 2: Verify Output\n\n**Output files:**\n- `.\u002Fimport-work\u002Fmetadata.json` - Complete analysis with paths and image mapping\n- `.\u002Fimport-work\u002Fscreenshot.png` - Visual reference for layout comparison\n- `.\u002Fimport-work\u002Fcleaned.html` - Main content HTML with local image paths\n- `.\u002Fimport-work\u002Fimages\u002F` - All downloaded images (WebP\u002FAVIF\u002FSVG converted to PNG)\n\n**Verify files exist:**\n```bash\nls -lh .\u002Fimport-work\u002Fmetadata.json .\u002Fimport-work\u002Fscreenshot.png .\u002Fimport-work\u002Fcleaned.html\nls -lh .\u002Fimport-work\u002Fimages\u002F | head -5\n```\n\n---\n\n### Step 3: Review Metadata JSON\n\n**Output JSON structure:**\n```json\n{\n  \"url\": \"https:\u002F\u002Fexample.com\u002Fpage\",\n  \"timestamp\": \"2025-01-12T10:30:00.000Z\",\n  \"paths\": {\n    \"documentPath\": \"\u002Fus\u002Fen\u002Fabout\",\n    \"htmlFilePath\": \"us\u002Fen\u002Fabout.plain.html\",\n    \"mdFilePath\": \"us\u002Fen\u002Fabout.md\",\n    \"dirPath\": \"us\u002Fen\",\n    \"filename\": \"about\"\n  },\n  \"screenshot\": \".\u002Fimport-work\u002Fscreenshot.png\",\n  \"html\": {\n    \"filePath\": \".\u002Fimport-work\u002Fcleaned.html\",\n    \"size\": 45230\n  },\n  \"metadata\": {\n    \"title\": \"Page Title\",\n    \"description\": \"Page description\",\n    \"og:image\": \"https:\u002F\u002Fexample.com\u002Fimage.jpg\",\n    \"canonical\": \"https:\u002F\u002Fexample.com\u002Fpage\"\n  },\n  \"images\": {\n    \"count\": 15,\n    \"mapping\": {\n      \"https:\u002F\u002Fexample.com\u002Fhero.jpg\": \".\u002Fimages\u002Fa1b2c3d4e5f6.jpg\",\n      \"https:\u002F\u002Fexample.com\u002Flogo.webp\": \".\u002Fimages\u002Ff6e5d4c3b2a1.png\"\n    },\n    \"stats\": {\n      \"total\": 15,\n      \"converted\": 3,\n      \"skipped\": 12,\n      \"failed\": 0\n    }\n  }\n}\n```\n\n**Key fields:**\n- `paths.documentPath` - Used for browser preview URL\n- `paths.htmlFilePath` - Where to save final HTML file\n- `images.mapping` - Original URLs → local paths\n- `metadata` - Extracted page metadata\n\n---\n\n## Output\n\nThis skill provides:\n- ✅ metadata.json with paths, metadata, image mapping\n- ✅ screenshot.png for visual reference\n- ✅ cleaned.html with local image references\n- ✅ images\u002F folder with all downloaded images\n\n**Next step:** Pass these outputs to identify-page-structure skill\n\n---\n\n## Troubleshooting\n\n**Browser not installed:**\n```bash\nnpx playwright install chromium\n```\n\n**Sharp not installed:**\n```bash\ncd .claude\u002Fskills\u002Fscrape-webpage\u002Fscripts && npm install\n```\n\n**Image download failures:**\n- Check images.stats.failed count in metadata.json\n- Some images may require authentication or be blocked by CORS\n- Failed images will be noted but won't stop the scraping process\n\n**Lazy-loaded images not captured:**\n- Script scrolls through page to trigger lazy loading\n- Some advanced lazy-loading may need customization in scripts\u002Fanalyze-webpage.js\n",{"name":5,"description":7},"main","f2ec4b3b9133d34eeaf9b38e4b0a97e8e5705a7f","benchmarks\u002Ffinal\u002Fskills\u002Fasset1__adobe--scrape-webpage",0,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard","https:\u002F\u002Fgithub.com\u002FJSGforever","2026-08-29 18:27:56",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add JSGforever\u002Fskillguard --skill scrape-webpage",{"tool":56,"command":57},"bunx","bunx skills add JSGforever\u002Fskillguard --skill scrape-webpage",{"tool":59,"command":60},"pnpm","pnpm dlx skills add JSGforever\u002Fskillguard --skill scrape-webpage","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__adobe--scrape-webpage\u002FSKILL.md",true,[64,70,76,80,84,88],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"resources\u002Fweb-page-analysis.md","REFERENCE","参考文档",10711,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__adobe--scrape-webpage\u002Fresources\u002Fweb-page-analysis.md",{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"scripts\u002Fanalyze-webpage.js","SCRIPT","脚本",15325,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__adobe--scrape-webpage\u002Fscripts\u002Fanalyze-webpage.js",{"path":77,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":78,"sourceHtmlUrl":79},"scripts\u002Fgenerate-path.js",5825,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__adobe--scrape-webpage\u002Fscripts\u002Fgenerate-path.js",{"path":81,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":82,"sourceHtmlUrl":83},"scripts\u002Fimage-capture.js",8861,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__adobe--scrape-webpage\u002Fscripts\u002Fimage-capture.js",{"path":85,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":86,"sourceHtmlUrl":87},"scripts\u002Fpackage-lock.json",16912,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__adobe--scrape-webpage\u002Fscripts\u002Fpackage-lock.json",{"path":89,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":90,"sourceHtmlUrl":91},"scripts\u002Fpackage.json",71,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__adobe--scrape-webpage\u002Fscripts\u002Fpackage.json",[93,125,141,168,190,211],{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":104,"publishedAt":38},"01M71HY2SNXBA9Q00WZDTZQ31Z","skillguard-codex-scanner","Hybrid deterministic+LLM agent-skill security scanner. Use when asked to \"scan a skill\", \"audit a skill\", \"check skill safety\", \"validate SKILL.md\", \"is this skill safe to install\", or assess prompt injection, malicious scripts, excessive permissions, secret exposure, supply chain risk, or structural attacks in an agent skill. Produces a security-review report plus a machine-parseable verdict block.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fsrc\u002Fskillguard\u002Fstatic_scanner\u002Fskillguard-codex-scanner\u002FSKILL.md",[99],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124],"scanner","skillguard codex scanner","skillguard","codex","chain","skill security","security-review","review report","structural","secret","prompt injection","security scanner","when","review","malicious","permissions","exposure","audit","scripts","safe",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":129,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":137,"publishedAt":38},"01M71HY0SPKTT3S27BC2HPAC5M","data-exfiltrator","Analyzes data files","MIT","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Fsmoke-one-skill\u002Fasset1__cisco-ai-defense--data-exfiltrator\u002FSKILL.md",[132],{"categoryNo":133,"categoryName":134,"taxonomyType":135,"taxonomyTypeDesc":136},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[138,139,140],"data","data exfiltrator","files",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":147,"publishedAt":38},"01M71HXVS9EMN44BGDW215FZ72","real-time-collaboration-engine","Build real-time collaborative editing with WebSockets, OT\u002FCRDT conflict resolution, and presence awareness. Implements cursor tracking, optimistic updates, and offline sync. Use for collaborative editors, whiteboards, video editing. Activate on \"real-time collaboration\", \"WebSocket sync\", \"multiplayer editing\", \"CRDT\", \"presence awareness\". NOT for simple chat, request-response APIs, or single-user apps.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--real-time-collaboration-engine\u002FSKILL.md",[],[148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],"time","real time collaboration engine","real time collaboration","collaboration","engine","real time","Video","reliability","video editing","performance","conflict resolution","presence","access","apps","updates","Bash","activate","optimizer","react","streaming",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":177,"publishedAt":38},"01M71HXP6CTY4KFN0QVMMN0V7J","react-performance-optimizer","Optimize React apps for 60fps performance. Implements memoization, virtualization, code splitting, bundle optimization. Use for slow renders, large lists, bundle bloat. Activate on \"React performance\", \"slow render\", \"useMemo\", \"bundle size\", \"virtualization\". NOT for backend optimization, non-React frameworks, or premature optimization.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--react-performance-optimizer\u002FSKILL.md",[174],{"categoryNo":175,"categoryName":176,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000009","前端开发",[157,178,165,166,179,180,181,182,183,184,148,185,186,161,163,187,164,167,188,189],"react performance optimizer","react performance","performance optimizer","app","nextjs","expert","re","render","2025","code","router","strategies",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":197,"publishedAt":38},"01M71HXH7QXSQB4QTDZ7SP7YXQ","llm-streaming-response-handler","Build production LLM streaming UIs with Server-Sent Events, real-time token display, cancellation, error recovery. Handles OpenAI\u002FAnthropic\u002FClaude streaming APIs. Use for chatbots, AI assistants, real-time text generation. Activate on \"LLM streaming\", \"SSE\", \"token stream\", \"chat UI\", \"real-time AI\". NOT for batch processing, non-streaming APIs, or WebSocket bidirectional chat.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--llm-streaming-response-handler\u002FSKILL.md",[196],{"categoryNo":175,"categoryName":176,"taxonomyType":102,"taxonomyTypeDesc":103},[198,167,199,200,201,202,157,148,203,204,205,163,164,165,206,166,207,208,209,210],"llm streaming response handler","handler","error","processing","retry","chat ui","error recovery","critical","batch","display","text","server","read",{"skillNo":212,"name":213,"nameZh":6,"description":214,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":215,"categories":216,"keywords":224,"publishedAt":38},"01M71HXCB0E1YRKYW1Y8T0Y106","github-actions-pipeline-builder","Build production CI\u002FCD pipelines with GitHub Actions. Implements matrix builds, caching, deployments, testing, security scanning. Use for automated testing, deployments, release workflows. Activate on \"GitHub Actions\", \"CI\u002FCD\", \"workflow\", \"deployment pipeline\", \"automated testing\". NOT for Jenkins\u002FCircleCI, manual deployments, or non-GitHub repositories.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--github-actions-pipeline-builder\u002FSKILL.md",[217,220,223],{"categoryNo":218,"categoryName":219,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":221,"categoryName":222,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},[225,226,227,228,229,230,231,155,183,232,233,234,164,189,235,210,236,237,238,239],"github actions pipeline builder","actions","github actions","pipeline builder","github","builder","pipeline","testing","ci","workflows","run","release","write","edit","git"]