[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6E2GJS7H3X6DKAEYE2WCAND":3,"skill-same:01M6E2GJS7H3X6DKAEYE2WCAND":64},{"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":22,"publishedAt":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":13,"repositoryHtmlUrl":40,"repositoryHomepageUrl":41,"ownerHtmlUrl":42,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":43,"install":44,"resources":57},"01M6E2GJS7H3X6DKAEYE2WCAND","openclaw-pr-maintainer",null,"Review, triage, close, label, comment on, or land OpenClaw PRs\u002Fissues with maintainer evidence checks.","7dvq6yrkgs-stack\u002Fplaywright","7dvq6yrkgs-stack","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F251638143?v=4","01M6E061J2AMGWYZ6TK7Y8NM74","01M6E061PQCQJGQMPBERMCFN5G",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fopenclaw-pr-maintainer\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31],"openclaw","openclaw pr maintainer","pr","review","triage","issues","land","evidence","close","2026-11-10 10:12:30",false,"---\nname: openclaw-pr-maintainer\ndescription: Review, triage, close, label, comment on, or land OpenClaw PRs\u002Fissues with maintainer evidence checks.\n---\n\n# OpenClaw PR Maintainer\n\nUse this skill for maintainer-facing GitHub workflow, not for ordinary code changes.\n\n## Apply close and triage labels correctly\n\n- If an issue or PR matches an auto-close reason, apply the label and let `.github\u002Fworkflows\u002Fauto-response.yml` handle the comment\u002Fclose\u002Flock flow.\n- Do not manually close plus manually comment for these reasons.\n- `r:*` labels can be used on both issues and PRs.\n- Current reasons:\n  - `r: skill`\n  - `r: support`\n  - `r: no-ci-pr`\n  - `r: too-many-prs`\n  - `r: testflight`\n  - `r: third-party-extension`\n  - `r: moltbook`\n  - `r: spam`\n  - `invalid`\n  - `dirty` for PRs only\n\n## Enforce the bug-fix evidence bar\n\n- Never merge a bug-fix PR based only on issue text, PR text, or AI rationale.\n- Before landing, require:\n  1. symptom evidence such as a repro, logs, or a failing test\n  2. a verified root cause in code with file\u002Fline\n  3. a fix that touches the implicated code path\n  4. a regression test when feasible, or explicit manual verification plus a reason no test was added\n- If the claim is unsubstantiated or likely wrong, request evidence or changes instead of merging.\n- If the linked issue appears outdated or incorrect, correct triage first. Do not merge a speculative fix.\n\n## Handle GitHub text safely\n\n- For issue comments and PR comments, use literal multiline strings or `-F - \u003C\u003C'EOF'` for real newlines. Never embed `\\n`.\n- Do not use `gh issue\u002Fpr comment -b \"...\"` when the body contains backticks or shell characters. Prefer a single-quoted heredoc.\n- Do not wrap issue or PR refs like `#24643` in backticks when you want auto-linking.\n- PR landing comments should include clickable full commit links for landed and source SHAs when present.\n\n## Search broadly before deciding\n\n- Prefer targeted keyword search before proposing new work or closing something as duplicate.\n- Use `--repo openclaw\u002Fopenclaw` with `--match title,body` first.\n- Add `--match comments` when triaging follow-up discussion.\n- Do not stop at the first 500 results when the task requires a full search.\n\nExamples:\n\n```bash\ngh search prs --repo openclaw\u002Fopenclaw --match title,body --limit 50 -- \"auto-update\"\ngh search issues --repo openclaw\u002Fopenclaw --match title,body --limit 50 -- \"auto-update\"\ngh search issues --repo openclaw\u002Fopenclaw --match title,body --limit 50 \\\n  --json number,title,state,url,updatedAt -- \"auto update\" \\\n  --jq '.[] | \"\\(.number) | \\(.state) | \\(.title) | \\(.url)\"'\n```\n\n## Follow PR review and landing hygiene\n\n- If bot review conversations exist on your PR, address them and resolve them yourself once fixed.\n- Leave a review conversation unresolved only when reviewer or maintainer judgment is still needed.\n- When landing or merging any PR, follow the global `\u002Flandpr` process.\n- Use `scripts\u002Fcommitter \"\u003Cmsg>\" \u003Cfile...>` for scoped commits instead of manual `git add` and `git commit`.\n- Keep commit messages concise and action-oriented.\n- Group related changes; avoid bundling unrelated refactors.\n- Use `.github\u002Fpull_request_template.md` for PR submissions and `.github\u002FISSUE_TEMPLATE\u002F` for issues.\n\n## Extra safety\n\n- If a close or reopen action would affect more than 5 PRs, ask for explicit confirmation with the exact count and target query first.\n- `sync` means: if the tree is dirty, commit all changes with a sensible Conventional Commit message, then `git pull --rebase`, then `git push`. Stop if rebase conflicts cannot be resolved safely.\n","# OpenClaw PR Maintainer\n\nUse this skill for maintainer-facing GitHub workflow, not for ordinary code changes.\n\n## Apply close and triage labels correctly\n\n- If an issue or PR matches an auto-close reason, apply the label and let `.github\u002Fworkflows\u002Fauto-response.yml` handle the comment\u002Fclose\u002Flock flow.\n- Do not manually close plus manually comment for these reasons.\n- `r:*` labels can be used on both issues and PRs.\n- Current reasons:\n  - `r: skill`\n  - `r: support`\n  - `r: no-ci-pr`\n  - `r: too-many-prs`\n  - `r: testflight`\n  - `r: third-party-extension`\n  - `r: moltbook`\n  - `r: spam`\n  - `invalid`\n  - `dirty` for PRs only\n\n## Enforce the bug-fix evidence bar\n\n- Never merge a bug-fix PR based only on issue text, PR text, or AI rationale.\n- Before landing, require:\n  1. symptom evidence such as a repro, logs, or a failing test\n  2. a verified root cause in code with file\u002Fline\n  3. a fix that touches the implicated code path\n  4. a regression test when feasible, or explicit manual verification plus a reason no test was added\n- If the claim is unsubstantiated or likely wrong, request evidence or changes instead of merging.\n- If the linked issue appears outdated or incorrect, correct triage first. Do not merge a speculative fix.\n\n## Handle GitHub text safely\n\n- For issue comments and PR comments, use literal multiline strings or `-F - \u003C\u003C'EOF'` for real newlines. Never embed `\\n`.\n- Do not use `gh issue\u002Fpr comment -b \"...\"` when the body contains backticks or shell characters. Prefer a single-quoted heredoc.\n- Do not wrap issue or PR refs like `#24643` in backticks when you want auto-linking.\n- PR landing comments should include clickable full commit links for landed and source SHAs when present.\n\n## Search broadly before deciding\n\n- Prefer targeted keyword search before proposing new work or closing something as duplicate.\n- Use `--repo openclaw\u002Fopenclaw` with `--match title,body` first.\n- Add `--match comments` when triaging follow-up discussion.\n- Do not stop at the first 500 results when the task requires a full search.\n\nExamples:\n\n```bash\ngh search prs --repo openclaw\u002Fopenclaw --match title,body --limit 50 -- \"auto-update\"\ngh search issues --repo openclaw\u002Fopenclaw --match title,body --limit 50 -- \"auto-update\"\ngh search issues --repo openclaw\u002Fopenclaw --match title,body --limit 50 \\\n  --json number,title,state,url,updatedAt -- \"auto update\" \\\n  --jq '.[] | \"\\(.number) | \\(.state) | \\(.title) | \\(.url)\"'\n```\n\n## Follow PR review and landing hygiene\n\n- If bot review conversations exist on your PR, address them and resolve them yourself once fixed.\n- Leave a review conversation unresolved only when reviewer or maintainer judgment is still needed.\n- When landing or merging any PR, follow the global `\u002Flandpr` process.\n- Use `scripts\u002Fcommitter \"\u003Cmsg>\" \u003Cfile...>` for scoped commits instead of manual `git add` and `git commit`.\n- Keep commit messages concise and action-oriented.\n- Group related changes; avoid bundling unrelated refactors.\n- Use `.github\u002Fpull_request_template.md` for PR submissions and `.github\u002FISSUE_TEMPLATE\u002F` for issues.\n\n## Extra safety\n\n- If a close or reopen action would affect more than 5 PRs, ask for explicit confirmation with the exact count and target query first.\n- `sync` means: if the tree is dirty, commit all changes with a sensible Conventional Commit message, then `git pull --rebase`, then `git push`. Stop if rebase conflicts cannot be resolved safely.\n",{"name":5,"description":7},"main","a2e3284ed4488780397ee2f78217366e11470dfb","skills\u002Fopenclaw-pr-maintainer","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright","https:\u002F\u002Fplaywright.dev","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack","2026-04-25 06:04:45",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add 7dvq6yrkgs-stack\u002Fplaywright --skill openclaw-pr-maintainer",{"tool":50,"command":51},"bunx","bunx skills add 7dvq6yrkgs-stack\u002Fplaywright --skill openclaw-pr-maintainer",{"tool":53,"command":54},"pnpm","pnpm dlx skills add 7dvq6yrkgs-stack\u002Fplaywright --skill openclaw-pr-maintainer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fopenclaw-pr-maintainer\u002FSKILL.md",true,[58],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},".skillfish.json","REFERENCE","参考文档",245,"https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fopenclaw-pr-maintainer\u002F.skillfish.json",[65,95,105,115,130,145],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":83,"publishedAt":32},"01M6E3XK4PRPMQHM7Y98FQPTY1","zyte-api-automation","Automate Zyte API tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fzyte-api-automation\u002FSKILL.md",[71,72,75,78],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":73,"categoryName":74,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":76,"categoryName":77,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[84,85,86,87,88,89,90,91,92,93,94],"zyte api automation","api","automation","MCP","tasks","search","Tools","first","automate","composio","via",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":103,"publishedAt":32},"01M6E3XFX6QSTR1QR59NFXJTMA","zylvie-automation","Automate Zylvie tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fzylvie-automation\u002FSKILL.md",[101,102],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":76,"categoryName":77,"taxonomyType":20,"taxonomyTypeDesc":21},[104,86,92,87,88,89,90,91,93,94],"zylvie automation",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":113,"publishedAt":32},"01M6E3XCX2GDYYCHN58ZJHT37M","zoominfo-automation","Automate Zoominfo tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fzoominfo-automation\u002FSKILL.md",[111,112],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":76,"categoryName":77,"taxonomyType":20,"taxonomyTypeDesc":21},[114,86,89,90,91,92,93,94,88,87],"zoominfo automation",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":123,"publishedAt":32},"01M6E3X9WJ2T73216WQHHTB9BD","zoho_mail-automation","Automate Zoho Mail tasks via Rube MCP (Composio): email sending, folders, labels, and mailbox management. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fzoho_mail-automation\u002FSKILL.md",[121,122],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":76,"categoryName":77,"taxonomyType":20,"taxonomyTypeDesc":21},[124,125,126,86,87,88,89,127,90,91,92,128,93,129,94],"mail","zoho mail automation","zoho","email","management","mailbox",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":141,"publishedAt":32},"01M6E3X719W648XZBW1EC6JQ64","zoho_invoice-automation","Automate Zoho Invoice tasks via Rube MCP (Composio): invoices, estimates, expenses, clients, and payment tracking. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fzoho_invoice-automation\u002FSKILL.md",[136,137,138],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":76,"categoryName":77,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":139,"categoryName":140,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000040","财务",[142,126,86,88,89,90,91,92,143,144,93,94,87],"zoho invoice automation","tracking","payment",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":153,"publishedAt":32},"01M6E3X28JYTC3QTK32AQF7BYB","zoho_inventory-automation","Automate Zoho Inventory tasks via Rube MCP (Composio): items, orders, warehouses, shipments, and stock management. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fzoho_inventory-automation\u002FSKILL.md",[151,152],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":76,"categoryName":77,"taxonomyType":20,"taxonomyTypeDesc":21},[86,154,126,155,91,92,90,89,88,87,93,94,156,157,128],"inventory","zoho inventory automation","stock","orders"]