[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XGW8D75KB8RGC3NGHNVVCV":3,"skill-same:01M6XGW8D75KB8RGC3NGHNVVCV":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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":14,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M6XGW8D75KB8RGC3NGHNVVCV","gha-security-review",null,"Find exploitable vulnerabilities in GitHub Actions workflows. Every finding MUST include a concrete exploitation scenario — if you can't build the attack, don't report it.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fgha-security-review\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"gha","security","security review","gha security review","review","exploitation","2026","can","you","scenario","community","build","find","github actions","actions","report","workflows","vulnerabilities","github","safe","2026-11-10 10:12:30",false,"---\nname: gha-security-review\ndescription: \"Find exploitable vulnerabilities in GitHub Actions workflows. Every finding MUST include a concrete exploitation scenario — if you can't build the attack, don't report it.\"\nrisk: safe\nsource: community\ndate_added: 2026-03-16\n---\n\n\u003C!--\nAttack patterns and real-world examples sourced from the HackerBot Claw campaign analysis\nby StepSecurity (2025): https:\u002F\u002Fwww.stepsecurity.io\u002Fblog\u002Fhackerbot-claw-github-actions-exploitation\n-->\n\n# GitHub Actions Security Review\n\nFind exploitable vulnerabilities in GitHub Actions workflows. Every finding MUST include a concrete exploitation scenario — if you can't build the attack, don't report it.\n\nThis skill encodes attack patterns from real GitHub Actions exploits — not generic CI\u002FCD theory.\n\n## Scope\n\nReview the workflows provided (file, diff, or repo). Research the codebase as needed to trace complete attack paths before reporting.\n\n### Files to Review\n\n- `.github\u002Fworkflows\u002F*.yml` — all workflow definitions\n- `action.yml` \u002F `action.yaml` — composite actions in the repo\n- `.github\u002Factions\u002F*\u002Faction.yml` — local reusable actions\n- Config files loaded by workflows: `CLAUDE.md`, `AGENTS.md`, `Makefile`, shell scripts under `.github\u002F`\n\n### Out of Scope\n\n- Workflows in other repositories (only note the dependency)\n- GitHub App installation permissions (note if relevant)\n\n## Threat Model\n\nOnly report vulnerabilities exploitable by an **external attacker** — someone **without** write access to the repository. The attacker can open PRs from forks, create issues, and post comments. They cannot push to branches, trigger `workflow_dispatch`, or trigger manual workflows.\n\n**Do not flag** vulnerabilities that require write access to exploit:\n- `workflow_dispatch` input injection — requires write access to trigger\n- Expression injection in `push`-only workflows on protected branches\n- `workflow_call` input injection where all callers are internal\n- Secrets in `workflow_dispatch`\u002F`schedule`-only workflows\n\n## Confidence\n\nReport only **HIGH** and **MEDIUM** confidence findings. Do not report theoretical issues.\n\n| Confidence | Criteria | Action |\n|---|---|---|\n| **HIGH** | Traced the full attack path, confirmed exploitable | Report with exploitation scenario and fix |\n| **MEDIUM** | Attack path partially confirmed, uncertain link | Report as needs verification |\n| **LOW** | Theoretical or mitigated elsewhere | Do not report |\n\nFor each HIGH finding, provide all five elements:\n\n1. **Entry point** — How does the attacker get in? (fork PR, issue comment, branch name, etc.)\n2. **Payload** — What does the attacker send? (actual code\u002FYAML\u002Finput)\n3. **Execution mechanism** — How does the payload run? (expression expansion, checkout + script, etc.)\n4. **Impact** — What does the attacker gain? (token theft, code execution, repo write access)\n5. **PoC sketch** — Concrete steps an attacker would follow\n\nIf you cannot construct all five, report as MEDIUM (needs verification).\n\n---\n\n## Step 1: Classify Triggers and Load References\n\nFor each workflow, identify triggers and load the appropriate reference:\n\n| Trigger \u002F Pattern | Load Reference |\n|---|---|\n| `pull_request_target` | `references\u002Fpwn-request.md` |\n| `issue_comment` with command parsing | `references\u002Fcomment-triggered-commands.md` |\n| `${{ }}` in `run:` blocks | `references\u002Fexpression-injection.md` |\n| PATs \u002F deploy keys \u002F elevated credentials | `references\u002Fcredential-escalation.md` |\n| Checkout PR code + config file loading | `references\u002Fai-prompt-injection-via-ci.md` |\n| Third-party actions (especially unpinned) | `references\u002Fsupply-chain.md` |\n| `permissions:` block or secrets usage | `references\u002Fpermissions-and-secrets.md` |\n| Self-hosted runners, cache\u002Fartifact usage | `references\u002Frunner-infrastructure.md` |\n| Any confirmed finding | `references\u002Freal-world-attacks.md` |\n\nLoad references selectively — only what's relevant to the triggers found.\n\n## Step 2: Check for Vulnerability Classes\n\n### Check 1: Pwn Request\n\nDoes the workflow use `pull_request_target` AND check out fork code?\n- Look for `actions\u002Fcheckout` with `ref:` pointing to PR head\n- Look for local actions (`.\u002F.github\u002Factions\u002F`) that would come from the fork\n- Check if any `run:` step executes code from the checked-out PR\n\n### Check 2: Expression Injection\n\nAre `${{ }}` expressions used inside `run:` blocks in externally-triggerable workflows?\n- Map every `${{ }}` expression in every `run:` step\n- Confirm the value is attacker-controlled (PR title, branch name, comment body — not numeric IDs, SHAs, or repository names)\n- Confirm the expression is in a `run:` block, not `if:`, `with:`, or job-level `env:`\n\n### Check 3: Unauthorized Command Execution\n\nDoes an `issue_comment`-triggered workflow execute commands without authorization?\n- Is there an `author_association` check?\n- Can any GitHub user trigger the command?\n- Does the command handler also use injectable expressions?\n\n### Check 4: Credential Escalation\n\nAre elevated credentials (PATs, deploy keys) accessible to untrusted code?\n- What's the blast radius of each secret?\n- Could a compromised workflow steal long-lived tokens?\n\n### Check 5: Config File Poisoning\n\nDoes the workflow load configuration from PR-supplied files?\n- AI agent instructions: `CLAUDE.md`, `AGENTS.md`, `.cursorrules`\n- Build configuration: `Makefile`, shell scripts\n\n### Check 6: Supply Chain\n\nAre third-party actions securely pinned?\n\n### Check 7: Permissions and Secrets\n\nAre workflow permissions minimal? Are secrets properly scoped?\n\n### Check 8: Runner Infrastructure\n\nAre self-hosted runners, caches, or artifacts used securely?\n\n## Safe Patterns (Do Not Flag)\n\nBefore reporting, check if the pattern is actually safe:\n\n| Pattern | Why Safe |\n|---|---|\n| `pull_request_target` WITHOUT checkout of fork code | Never executes attacker code |\n| `${{ github.event.pull_request.number }}` in `run:` | Numeric only — not injectable |\n| `${{ github.repository }}` \u002F `github.repository_owner` | Repo owner controls this |\n| `${{ secrets.* }}` | Not an expression injection vector |\n| `${{ }}` in `if:` conditions | Evaluated by Actions runtime, not shell |\n| `${{ }}` in `with:` inputs | Passed as string parameters, not shell-evaluated |\n| Actions pinned to full SHA | Immutable reference |\n| `pull_request` trigger (not `_target`) | Runs in fork context with read-only token |\n| Any expression in `workflow_dispatch`\u002F`schedule`\u002F`push` to protected branches | Requires write access — outside threat model |\n\n**Key distinction:** `${{ }}` is dangerous in `run:` blocks (shell expansion) but safe in `if:`, `with:`, and `env:` at the job\u002Fstep level (Actions runtime evaluation).\n\n## Step 3: Validate Before Reporting\n\nBefore including any finding, read the actual workflow YAML and trace the complete attack path:\n\n1. **Read the full workflow** — don't rely on grep output alone\n2. **Trace the trigger** — confirm the event and check `if:` conditions that gate execution\n3. **Trace the expression\u002Fcheckout** — confirm it's in a `run:` block or actually references fork code\n4. **Confirm attacker control** — verify the value maps to something an external attacker sets\n5. **Check existing mitigations** — env var wrapping, author_association checks, restricted permissions, SHA pinning\n\nIf any link is broken, mark MEDIUM (needs verification) or drop the finding.\n\n**If no checks produced a finding, report zero findings. Do not invent issues.**\n\n## Step 4: Report Findings\n\n````markdown\n## GitHub Actions Security Review\n\n### Findings\n\n#### [GHA-001] [Title] (Severity: Critical\u002FHigh\u002FMedium)\n- **Workflow**: `.github\u002Fworkflows\u002Frelease.yml:15`\n- **Trigger**: `pull_request_target`\n- **Confidence**: HIGH — confirmed through attack path tracing\n- **Exploitation Scenario**:\n  1. [Step-by-step attack]\n- **Impact**: [What attacker gains]\n- **Fix**: [Code that fixes the issue]\n\n### Needs Verification\n[MEDIUM confidence items with explanation of what to verify]\n\n### Reviewed and Cleared\n[Workflows reviewed and confirmed safe]\n````\n\nIf no findings: \"No exploitable vulnerabilities identified. All workflows reviewed and cleared.\"\n","\u003C!--\nAttack patterns and real-world examples sourced from the HackerBot Claw campaign analysis\nby StepSecurity (2025): https:\u002F\u002Fwww.stepsecurity.io\u002Fblog\u002Fhackerbot-claw-github-actions-exploitation\n-->\n\n# GitHub Actions Security Review\n\nFind exploitable vulnerabilities in GitHub Actions workflows. Every finding MUST include a concrete exploitation scenario — if you can't build the attack, don't report it.\n\nThis skill encodes attack patterns from real GitHub Actions exploits — not generic CI\u002FCD theory.\n\n## Scope\n\nReview the workflows provided (file, diff, or repo). Research the codebase as needed to trace complete attack paths before reporting.\n\n### Files to Review\n\n- `.github\u002Fworkflows\u002F*.yml` — all workflow definitions\n- `action.yml` \u002F `action.yaml` — composite actions in the repo\n- `.github\u002Factions\u002F*\u002Faction.yml` — local reusable actions\n- Config files loaded by workflows: `CLAUDE.md`, `AGENTS.md`, `Makefile`, shell scripts under `.github\u002F`\n\n### Out of Scope\n\n- Workflows in other repositories (only note the dependency)\n- GitHub App installation permissions (note if relevant)\n\n## Threat Model\n\nOnly report vulnerabilities exploitable by an **external attacker** — someone **without** write access to the repository. The attacker can open PRs from forks, create issues, and post comments. They cannot push to branches, trigger `workflow_dispatch`, or trigger manual workflows.\n\n**Do not flag** vulnerabilities that require write access to exploit:\n- `workflow_dispatch` input injection — requires write access to trigger\n- Expression injection in `push`-only workflows on protected branches\n- `workflow_call` input injection where all callers are internal\n- Secrets in `workflow_dispatch`\u002F`schedule`-only workflows\n\n## Confidence\n\nReport only **HIGH** and **MEDIUM** confidence findings. Do not report theoretical issues.\n\n| Confidence | Criteria | Action |\n|---|---|---|\n| **HIGH** | Traced the full attack path, confirmed exploitable | Report with exploitation scenario and fix |\n| **MEDIUM** | Attack path partially confirmed, uncertain link | Report as needs verification |\n| **LOW** | Theoretical or mitigated elsewhere | Do not report |\n\nFor each HIGH finding, provide all five elements:\n\n1. **Entry point** — How does the attacker get in? (fork PR, issue comment, branch name, etc.)\n2. **Payload** — What does the attacker send? (actual code\u002FYAML\u002Finput)\n3. **Execution mechanism** — How does the payload run? (expression expansion, checkout + script, etc.)\n4. **Impact** — What does the attacker gain? (token theft, code execution, repo write access)\n5. **PoC sketch** — Concrete steps an attacker would follow\n\nIf you cannot construct all five, report as MEDIUM (needs verification).\n\n---\n\n## Step 1: Classify Triggers and Load References\n\nFor each workflow, identify triggers and load the appropriate reference:\n\n| Trigger \u002F Pattern | Load Reference |\n|---|---|\n| `pull_request_target` | `references\u002Fpwn-request.md` |\n| `issue_comment` with command parsing | `references\u002Fcomment-triggered-commands.md` |\n| `${{ }}` in `run:` blocks | `references\u002Fexpression-injection.md` |\n| PATs \u002F deploy keys \u002F elevated credentials | `references\u002Fcredential-escalation.md` |\n| Checkout PR code + config file loading | `references\u002Fai-prompt-injection-via-ci.md` |\n| Third-party actions (especially unpinned) | `references\u002Fsupply-chain.md` |\n| `permissions:` block or secrets usage | `references\u002Fpermissions-and-secrets.md` |\n| Self-hosted runners, cache\u002Fartifact usage | `references\u002Frunner-infrastructure.md` |\n| Any confirmed finding | `references\u002Freal-world-attacks.md` |\n\nLoad references selectively — only what's relevant to the triggers found.\n\n## Step 2: Check for Vulnerability Classes\n\n### Check 1: Pwn Request\n\nDoes the workflow use `pull_request_target` AND check out fork code?\n- Look for `actions\u002Fcheckout` with `ref:` pointing to PR head\n- Look for local actions (`.\u002F.github\u002Factions\u002F`) that would come from the fork\n- Check if any `run:` step executes code from the checked-out PR\n\n### Check 2: Expression Injection\n\nAre `${{ }}` expressions used inside `run:` blocks in externally-triggerable workflows?\n- Map every `${{ }}` expression in every `run:` step\n- Confirm the value is attacker-controlled (PR title, branch name, comment body — not numeric IDs, SHAs, or repository names)\n- Confirm the expression is in a `run:` block, not `if:`, `with:`, or job-level `env:`\n\n### Check 3: Unauthorized Command Execution\n\nDoes an `issue_comment`-triggered workflow execute commands without authorization?\n- Is there an `author_association` check?\n- Can any GitHub user trigger the command?\n- Does the command handler also use injectable expressions?\n\n### Check 4: Credential Escalation\n\nAre elevated credentials (PATs, deploy keys) accessible to untrusted code?\n- What's the blast radius of each secret?\n- Could a compromised workflow steal long-lived tokens?\n\n### Check 5: Config File Poisoning\n\nDoes the workflow load configuration from PR-supplied files?\n- AI agent instructions: `CLAUDE.md`, `AGENTS.md`, `.cursorrules`\n- Build configuration: `Makefile`, shell scripts\n\n### Check 6: Supply Chain\n\nAre third-party actions securely pinned?\n\n### Check 7: Permissions and Secrets\n\nAre workflow permissions minimal? Are secrets properly scoped?\n\n### Check 8: Runner Infrastructure\n\nAre self-hosted runners, caches, or artifacts used securely?\n\n## Safe Patterns (Do Not Flag)\n\nBefore reporting, check if the pattern is actually safe:\n\n| Pattern | Why Safe |\n|---|---|\n| `pull_request_target` WITHOUT checkout of fork code | Never executes attacker code |\n| `${{ github.event.pull_request.number }}` in `run:` | Numeric only — not injectable |\n| `${{ github.repository }}` \u002F `github.repository_owner` | Repo owner controls this |\n| `${{ secrets.* }}` | Not an expression injection vector |\n| `${{ }}` in `if:` conditions | Evaluated by Actions runtime, not shell |\n| `${{ }}` in `with:` inputs | Passed as string parameters, not shell-evaluated |\n| Actions pinned to full SHA | Immutable reference |\n| `pull_request` trigger (not `_target`) | Runs in fork context with read-only token |\n| Any expression in `workflow_dispatch`\u002F`schedule`\u002F`push` to protected branches | Requires write access — outside threat model |\n\n**Key distinction:** `${{ }}` is dangerous in `run:` blocks (shell expansion) but safe in `if:`, `with:`, and `env:` at the job\u002Fstep level (Actions runtime evaluation).\n\n## Step 3: Validate Before Reporting\n\nBefore including any finding, read the actual workflow YAML and trace the complete attack path:\n\n1. **Read the full workflow** — don't rely on grep output alone\n2. **Trace the trigger** — confirm the event and check `if:` conditions that gate execution\n3. **Trace the expression\u002Fcheckout** — confirm it's in a `run:` block or actually references fork code\n4. **Confirm attacker control** — verify the value maps to something an external attacker sets\n5. **Check existing mitigations** — env var wrapping, author_association checks, restricted permissions, SHA pinning\n\nIf any link is broken, mark MEDIUM (needs verification) or drop the finding.\n\n**If no checks produced a finding, report zero findings. Do not invent issues.**\n\n## Step 4: Report Findings\n\n````markdown\n## GitHub Actions Security Review\n\n### Findings\n\n#### [GHA-001] [Title] (Severity: Critical\u002FHigh\u002FMedium)\n- **Workflow**: `.github\u002Fworkflows\u002Frelease.yml:15`\n- **Trigger**: `pull_request_target`\n- **Confidence**: HIGH — confirmed through attack path tracing\n- **Exploitation Scenario**:\n  1. [Step-by-step attack]\n- **Impact**: [What attacker gains]\n- **Fix**: [Code that fixes the issue]\n\n### Needs Verification\n[MEDIUM confidence items with explanation of what to verify]\n\n### Reviewed and Cleared\n[Workflows reviewed and confirmed safe]\n````\n\nIf no findings: \"No exploitable vulnerabilities identified. All workflows reviewed and cleared.\"\n",{"name":5,"risk":43,"source":34,"date_added":49,"description":7},1773619200000,"main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcopilot\u002Fgha-security-review","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill gha-security-review",{"tool":62,"command":63},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill gha-security-review",{"tool":65,"command":66},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill gha-security-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fgha-security-review\u002FSKILL.md",true,[],[71,95,121,131,144,161],{"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":82,"publishedAt":44},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[83,84,85,86,87,88,89,90,91,92,93,94],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":44},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[102,103,104,105,106,107,85,108,109,110,111,112,113,114,115,116,117,118,119,120],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":44},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[128,129,102,113,114,115,116,106,85,118,130,119,120,112,110,109,108,117,107,105],"trend radar","radar","pulse",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":44},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[138,139,140,141,142,143],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":153,"publishedAt":44},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[150],{"categoryNo":151,"categoryName":152,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[146,91,154,155,156,94,113,157,158,159,104,160,117],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":167,"publishedAt":44},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[163,168,169,170,117,171,158,42,172,173,174,175],"status","play","go","latest","discover","control","cmd","volume"]