[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699D49GV8HQJE6KB4KA9YJ7":3,"skill-same:01M699D49GV8HQJE6KB4KA9YJ7":84},{"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":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":60,"ownerHtmlUrl":61,"ownerBlogUrl":62,"ownerDescription":63,"updatedAt":64,"install":65,"resources":77},"01M699D49GV8HQJE6KB4KA9YJ7","autopilot-pr-review-scheduler",null,"Queue microsoft\u002Fapm pull requests labelled `panel-review` (or an explicit named list) and fan them out through an isolated pool (default 2) of autopilot-pr-review-worker sessions. Advisory only. Never implements. Never composes autopilot-pr-merge-worker. Never review every open PR. Works in a local session, Copilot App automation, Cloud Agent, Remote Agent, or Agentic Workflow. Does not triage issues or open greenfield PRs.","microsoft\u002Fapm","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M699CC41JR5QW38C9PDX6101",4369,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fautopilot-pr-review-scheduler\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,9,44,45,46,47,48],"autopilot","autopilot pr review scheduler","scheduler","pr review","review","pr","copilot","remote","app","worker","local","default","only","never","open","issues","merge","sessions","triage issues","pull requests","automation","workflow","triage","agentic workflow","agentic","2026-11-10 10:12:30",false,"---\nname: autopilot-pr-review-scheduler\nactivation_card: on\ndescription: >-\n  Queue microsoft\u002Fapm pull requests labelled `panel-review` (or an\n  explicit named list) and fan them out through an isolated pool\n  (default 2) of autopilot-pr-review-worker sessions. Advisory only.\n  Never implements. Never composes autopilot-pr-merge-worker. Never\n  review every open PR. Works in a local session, Copilot App\n  automation, Cloud Agent, Remote Agent, or Agentic Workflow. Does\n  not triage issues or open greenfield PRs.\n---\n\n# autopilot-pr-review-scheduler\n\nUser-facing PR REVIEW queue. This skill SELECTS pull requests and\nTHROTTLES fan-out. It does not triage issues, does not implement,\nand does not open greenfield PRs.\n\nCompose [autopilot-pr-review-worker](..\u002Fautopilot-pr-review-worker\u002FSKILL.md)\none PR per slot (`INVOCATION_MODE=session-review`,\n`panel-mode: full` for a first advisory). Never compose\n`autopilot-pr-merge-worker`. Drive-to-merge is a different skill.\n\nNever borrow slots from `autopilot-issue-triage-scheduler`,\n`autopilot-issue-delivery-scheduler`, or\n`autopilot-pr-triage-scheduler`.\n\n## Activation card\n\n`activation_card: on`. Before any queue read or spawn, emit\nthis Enter card with every field filled. Missing field -> stop.\n\n```text\nskill: autopilot-pr-review-scheduler\nskill_path: \u003Cresolved directory of this SKILL.md>\nmode: run\nsubject: microsoft\u002Fapm\npath: review\nintent: select accepted review PRs and fan out review workers\norigin: unattended | actor-session\nwrite: off\nrepo: microsoft\u002Fapm\nfanout_limit: \u003Cpositive integer>\ninvocation: agentic-workflow | actor-session\n```\n\nRules:\n\n- `write` is always `off`. This scheduler never comments,\n  labels, assigns, or requests reviewers.\n- `write: on` -> stop.\n- `origin` fail-closed unknown -> `unattended`.\n- `invocation` is the harness. Copilot App, local session, Cloud\n  Agent, and Remote Agent are `actor-session`. `agentic-workflow`\n  is only gh-aw \u002F GitHub Actions. Do not copy `origin` into\n  `invocation`.\n- One queue. Do not nest another scheduler path.\n- Do not compose `autopilot-pr-merge-worker`.\n\nAfter the run, emit this Exit receipt:\n\n```text\nskill: autopilot-pr-review-scheduler\nsubject: microsoft\u002Fapm\npath: review\nwrite: off\nqueued: \u003Cinteger>\nspawned: \u003Cinteger>\napproved: n\u002Fa\n```\n\n## Invocation\n\nWorks in local sessions, Copilot App automations, Cloud Agent,\nRemote Agent, and Agentic Workflows.\n\nResolve ORIGIN before spawning slots so each reviewing session\ncan apply ownership writes. This scheduler never comments,\nlabels, assigns, or requests reviewers.\n\n- `unattended` -- slots never assign, never request reviewers.\n- `actor-session` -- `autopilot-pr-review-worker` requests `@me`\n  as a supplemental reviewer. Never assign the PR. Skip only on\n  `self-review-red-flag` (operator is the PR author).\n\nOwnership writes:\n\n- Issue triage: none (no assignment needed)\n- Code (accepted implementation): assign the implementing user\n- PR review: the reviewing session requests the reviewing user as\n  reviewer, never assignee. Scheduler does not perform that write.\n\n## Selection\n\n`panel-review` is the only request trigger. It matches\n`.github\u002Fworkflows\u002Fpr-review-panel.md`. It is not a human decision\nlabel. Re-apply it (remove + add) for a fresh review after the\npanel clears it.\n\n`status\u002Faccepted` on the PR is a sweep source, not a request\ntrigger. A maintainer already accepted that PR. Union it with\nthe `panel-review` list. Do not treat `status\u002Faccepted` on a\nlinked issue as a sweep source (that would require listing every\nopen PR).\n\nNo accepted, no review. After building the union, drop any PR\nthat is not `status\u002Faccepted` on the PR or a same-repo linked\nissue. Do not spawn it. Do not comment. Do not remove labels.\nThe review-worker, if already invoked, also stops with no\ncomment and may clear `panel-review`.\n\nModes:\n\n- Named list or one PR number: explicit request. Honor those\n  numbers even without `panel-review`.\n- `queue-open` \u002F no names: open PRs that currently have\n  `panel-review` or `status\u002Faccepted` on the PR.\n\nNever list all open PRs. Never fall back to an unfiltered\n`gh pr list --state open`. Empty label queue -> empty table, stop.\n\nDefault (authenticated `gh`):\n\n```\ngh pr list --state open --label panel-review --json number,title,isDraft,labels,updatedAt\ngh pr list --state open --label status\u002Faccepted --json number,title,isDraft,labels,updatedAt\n```\n\nDeduplicate by number. Skip drafts unless the caller named them.\nLabel sweep: oldest first, cap 10. Named list is not capped.\n\nDo not invent a second trigger label.\n\n## CODEOWNERS last-comment gate\n\nBefore any spawn, for each candidate PR (named list,\n`panel-review` sweep, or `status\u002Faccepted` on the PR). This\ngate does not bypass `status\u002Faccepted`. Named list and\n`panel-review` do not bypass this gate.\n\n1. Snapshot the CODEOWNERS set from current `reviewRequests`\n   (users and teams). If empty, use `CODEOWNERS` for the changed\n   paths. If still empty, skip this gate.\n2. Paginate issue comments and submitted reviews to exhaustion.\n   Ignore bots.\n3. Last CODEOWNER comment = latest of those authored by the\n   CODEOWNERS set.\n4. If none: eligible. The worker still reads full context.\n5. Read that comment as standing conditions (open an issue, link\n   it, wait, change approach, add labels, or explicitly ask for a\n   panel or further review). Evaluate whether those conditions are\n   already met using later comments AND current labels on the PR\n   and on same-repo linked issues. Do not treat \"last word\" as a\n   stop when the asked work is done.\n6. If the comment explicitly asks for a panel or further review,\n   or its conditions are met: eligible. The comment is required\n   context. Do not contradict it.\n7. If conditions are not met: drop. Do not spawn. Do not comment.\n   Do not change labels. Rationale:\n   `CODEOWNERS last comment conditions unmet`.\n8. If it is unclear whether conditions are met: fail closed.\n   Drop with rationale:\n   `CODEOWNERS last comment conditions unclear`.\n\n## Queue table (mandatory)\n\nBefore any spawn, emit the keep-set and the drop-set in `plan.md`\nand in the session report. Missing table, missing column, or blank\nrationale -> stop. Do not spawn.\n\nKeep-set (items this run will schedule). One row per item. Do not\ntruncate to FANOUT_LIMIT:\n\n| number | kind | labels | rationale | slot |\n\nDrop-set (considered, then not scheduled). `slot` is `-`:\n\n| number | kind | labels | rationale | slot |\n\n- `kind`: `issue` or `pr`\n- `labels`: current GitHub labels, comma-separated; `none` if empty\n- `rationale`: why queued or dropped (helper rule and labels)\n- `slot`: 1-based spawn order, or `-` when dropped\n\nEmpty keep-set is success. Still emit the drop-set, or `none`.\nYou are the sole table writer. Name missing `panel-review`,\nmissing `status\u002Faccepted`, or a CODEOWNERS last-comment drop\nin `rationale`.\n\n## Fan-out\n\nLoad [assets\u002Ffan-out-pool.md](assets\u002Ffan-out-pool.md). Default\n`FANOUT_LIMIT=2` concurrent slots. Isolated to this run.\n`FANOUT_LIMIT` is concurrency, not queue length. Drain the full\nselected list; when a slot returns, fill it with the next item.\n\n## Procedure\n\n1. Probe autopilot-pr-review-worker on disk. Missing sibling -> stop.\n   Do not probe or spawn autopilot-pr-merge-worker.\n2. Apply the CODEOWNERS last-comment gate. Emit the mandatory\n   queue table (labels + rationale) before any spawn. Drain the\n   keep-set. Concurrent slots \u003C= FANOUT_LIMIT. One PR per slot.\n   When a slot returns, dispatch the next queued PR. Do not stop\n   because the pool was full.\n3. Each slot reads the complete PR conversation, including the\n   last CODEOWNER comment, and honors CODEOWNERS `reviewRequests`.\n   Pass `panel-mode: full` on the worker activation card (first\n   advisory). The worker may still lean or add ad-hoc personas.\n4. Never auto-merge.\n\n## Hard nos\n\n- Do not share this pool.\n- Do not dispatch the same PR to two slots.\n- Do not comment, label, close, assign, or request reviewers.\n  Reviewing sessions own those writes.\n- Do not list all open PRs. `panel-review`, `status\u002Faccepted` on\n  the PR, or a named list only.\n- Do not open issues or greenfield PRs.\n- Do not implement. Do not drive-to-merge.\n- Do not compose `autopilot-pr-merge-worker`.\n- Do not contradict CODEOWNERS.\n- ASCII only.\n","# autopilot-pr-review-scheduler\n\nUser-facing PR REVIEW queue. This skill SELECTS pull requests and\nTHROTTLES fan-out. It does not triage issues, does not implement,\nand does not open greenfield PRs.\n\nCompose [autopilot-pr-review-worker](..\u002Fautopilot-pr-review-worker\u002FSKILL.md)\none PR per slot (`INVOCATION_MODE=session-review`,\n`panel-mode: full` for a first advisory). Never compose\n`autopilot-pr-merge-worker`. Drive-to-merge is a different skill.\n\nNever borrow slots from `autopilot-issue-triage-scheduler`,\n`autopilot-issue-delivery-scheduler`, or\n`autopilot-pr-triage-scheduler`.\n\n## Activation card\n\n`activation_card: on`. Before any queue read or spawn, emit\nthis Enter card with every field filled. Missing field -> stop.\n\n```text\nskill: autopilot-pr-review-scheduler\nskill_path: \u003Cresolved directory of this SKILL.md>\nmode: run\nsubject: microsoft\u002Fapm\npath: review\nintent: select accepted review PRs and fan out review workers\norigin: unattended | actor-session\nwrite: off\nrepo: microsoft\u002Fapm\nfanout_limit: \u003Cpositive integer>\ninvocation: agentic-workflow | actor-session\n```\n\nRules:\n\n- `write` is always `off`. This scheduler never comments,\n  labels, assigns, or requests reviewers.\n- `write: on` -> stop.\n- `origin` fail-closed unknown -> `unattended`.\n- `invocation` is the harness. Copilot App, local session, Cloud\n  Agent, and Remote Agent are `actor-session`. `agentic-workflow`\n  is only gh-aw \u002F GitHub Actions. Do not copy `origin` into\n  `invocation`.\n- One queue. Do not nest another scheduler path.\n- Do not compose `autopilot-pr-merge-worker`.\n\nAfter the run, emit this Exit receipt:\n\n```text\nskill: autopilot-pr-review-scheduler\nsubject: microsoft\u002Fapm\npath: review\nwrite: off\nqueued: \u003Cinteger>\nspawned: \u003Cinteger>\napproved: n\u002Fa\n```\n\n## Invocation\n\nWorks in local sessions, Copilot App automations, Cloud Agent,\nRemote Agent, and Agentic Workflows.\n\nResolve ORIGIN before spawning slots so each reviewing session\ncan apply ownership writes. This scheduler never comments,\nlabels, assigns, or requests reviewers.\n\n- `unattended` -- slots never assign, never request reviewers.\n- `actor-session` -- `autopilot-pr-review-worker` requests `@me`\n  as a supplemental reviewer. Never assign the PR. Skip only on\n  `self-review-red-flag` (operator is the PR author).\n\nOwnership writes:\n\n- Issue triage: none (no assignment needed)\n- Code (accepted implementation): assign the implementing user\n- PR review: the reviewing session requests the reviewing user as\n  reviewer, never assignee. Scheduler does not perform that write.\n\n## Selection\n\n`panel-review` is the only request trigger. It matches\n`.github\u002Fworkflows\u002Fpr-review-panel.md`. It is not a human decision\nlabel. Re-apply it (remove + add) for a fresh review after the\npanel clears it.\n\n`status\u002Faccepted` on the PR is a sweep source, not a request\ntrigger. A maintainer already accepted that PR. Union it with\nthe `panel-review` list. Do not treat `status\u002Faccepted` on a\nlinked issue as a sweep source (that would require listing every\nopen PR).\n\nNo accepted, no review. After building the union, drop any PR\nthat is not `status\u002Faccepted` on the PR or a same-repo linked\nissue. Do not spawn it. Do not comment. Do not remove labels.\nThe review-worker, if already invoked, also stops with no\ncomment and may clear `panel-review`.\n\nModes:\n\n- Named list or one PR number: explicit request. Honor those\n  numbers even without `panel-review`.\n- `queue-open` \u002F no names: open PRs that currently have\n  `panel-review` or `status\u002Faccepted` on the PR.\n\nNever list all open PRs. Never fall back to an unfiltered\n`gh pr list --state open`. Empty label queue -> empty table, stop.\n\nDefault (authenticated `gh`):\n\n```\ngh pr list --state open --label panel-review --json number,title,isDraft,labels,updatedAt\ngh pr list --state open --label status\u002Faccepted --json number,title,isDraft,labels,updatedAt\n```\n\nDeduplicate by number. Skip drafts unless the caller named them.\nLabel sweep: oldest first, cap 10. Named list is not capped.\n\nDo not invent a second trigger label.\n\n## CODEOWNERS last-comment gate\n\nBefore any spawn, for each candidate PR (named list,\n`panel-review` sweep, or `status\u002Faccepted` on the PR). This\ngate does not bypass `status\u002Faccepted`. Named list and\n`panel-review` do not bypass this gate.\n\n1. Snapshot the CODEOWNERS set from current `reviewRequests`\n   (users and teams). If empty, use `CODEOWNERS` for the changed\n   paths. If still empty, skip this gate.\n2. Paginate issue comments and submitted reviews to exhaustion.\n   Ignore bots.\n3. Last CODEOWNER comment = latest of those authored by the\n   CODEOWNERS set.\n4. If none: eligible. The worker still reads full context.\n5. Read that comment as standing conditions (open an issue, link\n   it, wait, change approach, add labels, or explicitly ask for a\n   panel or further review). Evaluate whether those conditions are\n   already met using later comments AND current labels on the PR\n   and on same-repo linked issues. Do not treat \"last word\" as a\n   stop when the asked work is done.\n6. If the comment explicitly asks for a panel or further review,\n   or its conditions are met: eligible. The comment is required\n   context. Do not contradict it.\n7. If conditions are not met: drop. Do not spawn. Do not comment.\n   Do not change labels. Rationale:\n   `CODEOWNERS last comment conditions unmet`.\n8. If it is unclear whether conditions are met: fail closed.\n   Drop with rationale:\n   `CODEOWNERS last comment conditions unclear`.\n\n## Queue table (mandatory)\n\nBefore any spawn, emit the keep-set and the drop-set in `plan.md`\nand in the session report. Missing table, missing column, or blank\nrationale -> stop. Do not spawn.\n\nKeep-set (items this run will schedule). One row per item. Do not\ntruncate to FANOUT_LIMIT:\n\n| number | kind | labels | rationale | slot |\n\nDrop-set (considered, then not scheduled). `slot` is `-`:\n\n| number | kind | labels | rationale | slot |\n\n- `kind`: `issue` or `pr`\n- `labels`: current GitHub labels, comma-separated; `none` if empty\n- `rationale`: why queued or dropped (helper rule and labels)\n- `slot`: 1-based spawn order, or `-` when dropped\n\nEmpty keep-set is success. Still emit the drop-set, or `none`.\nYou are the sole table writer. Name missing `panel-review`,\nmissing `status\u002Faccepted`, or a CODEOWNERS last-comment drop\nin `rationale`.\n\n## Fan-out\n\nLoad [assets\u002Ffan-out-pool.md](assets\u002Ffan-out-pool.md). Default\n`FANOUT_LIMIT=2` concurrent slots. Isolated to this run.\n`FANOUT_LIMIT` is concurrency, not queue length. Drain the full\nselected list; when a slot returns, fill it with the next item.\n\n## Procedure\n\n1. Probe autopilot-pr-review-worker on disk. Missing sibling -> stop.\n   Do not probe or spawn autopilot-pr-merge-worker.\n2. Apply the CODEOWNERS last-comment gate. Emit the mandatory\n   queue table (labels + rationale) before any spawn. Drain the\n   keep-set. Concurrent slots \u003C= FANOUT_LIMIT. One PR per slot.\n   When a slot returns, dispatch the next queued PR. Do not stop\n   because the pool was full.\n3. Each slot reads the complete PR conversation, including the\n   last CODEOWNER comment, and honors CODEOWNERS `reviewRequests`.\n   Pass `panel-mode: full` on the worker activation card (first\n   advisory). The worker may still lean or add ad-hoc personas.\n4. Never auto-merge.\n\n## Hard nos\n\n- Do not share this pool.\n- Do not dispatch the same PR to two slots.\n- Do not comment, label, close, assign, or request reviewers.\n  Reviewing sessions own those writes.\n- Do not list all open PRs. `panel-review`, `status\u002Faccepted` on\n  the PR, or a named list only.\n- Do not open issues or greenfield PRs.\n- Do not implement. Do not drive-to-merge.\n- Do not compose `autopilot-pr-merge-worker`.\n- Do not contradict CODEOWNERS.\n- ASCII only.\n",{"name":5,"description":7,"activation_card":54},true,"main","2920043258932f0f67e6f01df7b9047eb42f358c",".agents\u002Fskills\u002Fautopilot-pr-review-scheduler",426,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm","https:\u002F\u002Fmicrosoft.github.io\u002Fapm\u002F","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-14 10:21:38",{"source":8,"skillName":5,"commands":66,"prompt":76,"zipAvailable":54},[67,70,73],{"tool":68,"command":69},"npx","npx skills add microsoft\u002Fapm --skill autopilot-pr-review-scheduler",{"tool":71,"command":72},"bunx","bunx skills add microsoft\u002Fapm --skill autopilot-pr-review-scheduler",{"tool":74,"command":75},"pnpm","pnpm dlx skills add microsoft\u002Fapm --skill autopilot-pr-review-scheduler","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fautopilot-pr-review-scheduler\u002FSKILL.md",[78],{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"assets\u002Ffan-out-pool.md","ASSET","资产文件",1265,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fautopilot-pr-review-scheduler\u002Fassets\u002Ffan-out-pool.md",[85,91,97,102,107,112],{"skillNo":86,"name":87,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":49},"01M699JMZBYWPBT7JYWBSB95Z6","hello","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002Ftests\u002Fintegration\u002Ffixtures\u002Ftarget_resolution\u002Fshared\u002Fminimal_skill\u002F.apm\u002Fskills\u002Fhello\u002FSKILL.md",[],[87],{"skillNo":92,"name":93,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":49},"01M699JKAMZ4DH1PYJMXHE4FG4","placeholder","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002Ftests\u002Fintegration\u002Ffixtures\u002Ftarget_resolution\u002Fs25_copilot_alias\u002F.apm\u002Fskills\u002Fplaceholder\u002FSKILL.md",[],[93],{"skillNo":98,"name":93,"nameZh":6,"description":6,"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":49},"01M699JHR9DKJ7BZHAPF6DZX2Z","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002Ftests\u002Fintegration\u002Ffixtures\u002Ftarget_resolution\u002Fs24_priority_override\u002F.apm\u002Fskills\u002Fplaceholder\u002FSKILL.md",[],[93],{"skillNo":103,"name":93,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":49},"01M699JG5BJBZSWM25F1VMJ2H6","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002Ftests\u002Fintegration\u002Ffixtures\u002Ftarget_resolution\u002Fs23_error_renderer\u002F.apm\u002Fskills\u002Fplaceholder\u002FSKILL.md",[],[93],{"skillNo":108,"name":93,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":49},"01M699JEFSMBP3HNS061R15CE9","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002Ftests\u002Fintegration\u002Ffixtures\u002Ftarget_resolution\u002Fs22_gemini_md_only\u002F.apm\u002Fskills\u002Fplaceholder\u002FSKILL.md",[],[93],{"skillNo":113,"name":93,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":49},"01M699JCRCJCVZ3Z3RD8F9MXF5","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002Ftests\u002Fintegration\u002Ffixtures\u002Ftarget_resolution\u002Fs21_codex_dir\u002F.apm\u002Fskills\u002Fplaceholder\u002FSKILL.md",[],[93]]