[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6J4DBFR4CRWBJHT4F810ADW":3,"skill-same:01M6J4DBFR4CRWBJHT4F810ADW":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M6J4DBFR4CRWBJHT4F810ADW","mcs-sync",null,"Use this skill to detect changes across all external dependencies (knowledge cache, upstream repos, Elevate, eval-guide plugin, MCP servers, om-cli binary, MS Learn docs, Claude Code plugins) and produce a triage board so a human can decide TAKE or REJECT per change. Never auto-applies. Use when the user asks to 'refresh everything', 'check what's new upstream', 'run dependency sync', 'sync', or when you want to see what has drifted since the last manual review.","dayour\u002FMCS-Agent-Builder","dayour","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F27440189?v=4","01M6J4B4HCG47B9AN14ADC3FV5","01M6J4B4P4QYVAZ0C7PZ84E1XD",0,"MIT","https:\u002F\u002Fgithub.com\u002Fdayour\u002FMCS-Agent-Builder\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmcs-sync\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"mcs sync","sync","eval","you","across","human","take","dependency","never","ms","auto","MCP","decide","knowledge","code","learn","run","change","cli","review","2026-11-10 10:12:30",false,"---\nname: mcs-sync\ndescription: \"Use this skill to detect changes across all external dependencies (knowledge cache, upstream repos, Elevate, eval-guide plugin, MCP servers, om-cli binary, MS Learn docs, Claude Code plugins) and produce a triage board so a human can decide TAKE or REJECT per change. Never auto-applies. Use when the user asks to 'refresh everything', 'check what's new upstream', 'run dependency sync', 'sync', or when you want to see what has drifted since the last manual review.\"\n---\n\n# MCS Sync — Detect, Understand, Decide\n\nSingle manifest-driven pipeline for every external dependency. Replaces the deleted `\u002Fmcs-refresh` + `tools\u002Frefresh-everything.js` auto-apply path. The key invariants:\n\n1. **Two decisions only** — `TAKE` or `REJECT`. No middle ground.\n2. **Never auto-applies** — taking a change prints the impacted artifacts and writes an action plan markdown for the user; the orchestrator never edits a downstream file itself.\n3. **Manual cadence** — there is no auto-cron, no session-start auto-fetch. The user runs sync weekly (or on demand). The session-start hook only warns about staleness; it does not invoke sync.\n\n## Invocation\n\n```bash\n# Default: detect + understand on all 8 sources, write triage bundle\nnode tools\u002Fsync-orchestrator.js\nnpm run sync\n\n# Single source\nnode tools\u002Fsync-orchestrator.js run --source knowledge-cache\nnode tools\u002Fsync-orchestrator.js run --source upstream-repos\nnode tools\u002Fsync-orchestrator.js run --source elevate\nnode tools\u002Fsync-orchestrator.js run --source eval-guide\nnode tools\u002Fsync-orchestrator.js run --source mcp-servers\nnode tools\u002Fsync-orchestrator.js run --source om-cli\nnode tools\u002Fsync-orchestrator.js run --source docs-manifest\nnode tools\u002Fsync-orchestrator.js run --source plugins\n\n# Fast detect-only (fingerprints, no classification)\nnode tools\u002Fsync-orchestrator.js detect\n\n# Re-open the last triage (no re-detection)\nnode tools\u002Fsync-orchestrator.js review\n\n# Record a decision\nnode tools\u002Fsync-orchestrator.js decide \u003CchangeId> reject --reason \"...\"\nnode tools\u002Fsync-orchestrator.js decide \u003CchangeId> take   --reason \"...\" --confirm\n\n# Inspect loaded manifest (lists all 8 sources)\nnode tools\u002Fsync-orchestrator.js manifest\n\n# Machine-readable output\nnode tools\u002Fsync-orchestrator.js --json\n```\n\n## Decisions\n\n| Decision | Meaning |\n|---|---|\n| **TAKE** | Accept the upstream change. The orchestrator prints the impact graph (downstream artifacts the change touches) and writes an action plan to `knowledge\u002Fsync\u002Fviews\u002F\u003CrunId>-actions.md`. The user works through the plan manually. Requires `--confirm` so the impact list is not silently bypassed. |\n| **REJECT** | Decline the change. Permanent for this `changeId`. If upstream moves again, the next sync run produces a fresh card with a different `changeId` and re-presents it. |\n\nThere are no `ADOPT\u002FMERGE\u002FLEVERAGE\u002FSKIP\u002FIGNORE` classes anymore. Legacy adapter outputs in those forms are remapped automatically by `tools\u002Fsync-orchestrator.js` (`normalizeRecommendation`).\n\n## Sources (8)\n\nAll sources registered in `knowledge\u002Fsync-manifest.json`. Each has a dedicated adapter under `tools\u002Fsync-adapters\u002F`.\n\n| Source | Adapter | Detection Signal | Default |\n|---|---|---|---|\n| `knowledge-cache` | `knowledge-cache.js` | Normalized markdown content hash per cache file | TAKE |\n| `upstream-repos` | `upstream-repos.js` | Commit SHA + watchPaths hash via `upstream-check.js` | REJECT |\n| `elevate` | `elevate.js` | Commit SHA + tracked path tree hash via `elevate-sync.js` | REJECT |\n| `eval-guide` | `eval-guide.js` | Installed plugin SHA + `gh api` HEAD comparison | TAKE |\n| `mcp-servers` | `mcp-servers.js` | Static config hash from `.claude\u002Fsettings.json` mcpServers | REJECT |\n| `om-cli` | `om-cli.js` | Binary hash + stamped source SHA | REJECT |\n| `docs-manifest` | `docs-manifest.js` | Per-URL content hash for tracked MS Learn pages | TAKE |\n| `plugins` | `plugins.js` | Installed Claude plugin SHA set (excluding eval-guide) | REJECT |\n\n## Storage Layout\n\n```\nknowledge\u002Fsync\u002F\n├── snapshots\u002F          (gitignored — last observed fingerprint per source)\n├── runs\u002F               (gitignored — per-run change records, working memory)\n├── decisions\u002F\u003Cid>\u002F     (committed — hash-chained JSONL, canonical machine truth)\n└── views\u002F              (committed — generated markdown projection for humans)\n    ├── \u003CrunId>.md         (triage board)\n    └── \u003CrunId>-actions.md (action plan; appended on every TAKE)\n```\n\n- **Snapshots** and **runs** are gitignored because they churn on every run.\n- **Decisions** (JSONL, partitioned by source id) are the authoritative audit trail.\n- **Views** are regenerated on every decision; never hand-edit. The pre-commit hook (`tools\u002Fgit-hooks\u002Fpre-commit`) runs `sync-orchestrator.js verify-views` and rejects edits that break the integrity marker.\n\n## Three-Phase Pipeline\n\n### Phase 1: DETECT\nEach adapter reports a fingerprint: `{primary, secondary, version, timestamp}`. The orchestrator compares against the stored snapshot. If fingerprints match, the source is `unchanged` and skipped.\n\n### Phase 2: UNDERSTAND\nFor each changed source, the adapter's `understand()` classifies the diff: kind (content\u002Fstructure\u002Fbehavior\u002Fdependency), breakingRisk, novelty. The impact graph in the manifest expands direct impacts into transitive review items (e.g., eval-guide change → flag eval-generation + eval-pipeline for review).\n\n### Phase 3: DECIDE\nThe orchestrator renders triage cards sorted by priority (impact 40 + breakingRisk 25 + confidence 15 + staleness 10 + opportunity 10). Top 10 shown in console, full bundle in `knowledge\u002Fsync\u002Fviews\u002F\u003CrunId>.md`. User issues `decide` per card. On TAKE, the orchestrator:\n\n1. Resolves the change's source through `manifest.impactGraph.edges`.\n2. Prints \"Taking this change touches N downstream artifact(s)\" with the list.\n3. Refuses to record without `--confirm`.\n4. Once confirmed, appends a hash-chained JSONL entry with `impactedArtifacts: [...]`.\n5. Appends a `## \u003CchangeId>` section to `knowledge\u002Fsync\u002Fviews\u002F\u003CrunId>-actions.md` containing the action plan steps and a checklist of impacted artifacts.\n\nThe action plan is a **manual checklist**. The orchestrator never edits any of those files.\n\n## Priority Score\n\n```\npriority = 40*impact + 25*breakingRisk + 15*confidence + 10*staleness + 10*opportunity\n```\n\nCards under priority 20 are noise-level; they appear but below the fold.\n\n## When to Use This Skill\n\n- User says **\"sync\"**, **\"refresh everything\"**, **\"check what's new upstream?\"**, **\"weekly sync\"** → run `npm run sync`\n- User says **\"check the knowledge cache\"** → `run --source knowledge-cache`\n- User says **\"has eval-guide changed?\"** → `run --source eval-guide`\n- User says **\"is om-cli current?\"** → `run --source om-cli`\n- Before a major build → `detect` (fast) then full `run` if anything moved\n- Weekly cadence: full run, review the triage, decide TAKE or REJECT for everything priority > 40\n\n## When NOT to Use This Skill\n\n- For per-task lookups inside another skill (e.g., `\u002Fmcs-research` calling `microsoft_docs_search` for a specific topic) — that is local research, not a dependency sync.\n- For applying a TAKE decision automatically — the orchestrator never edits framework files. The user works through the action plan manually and commits.\n- For amending a decision — decisions are append-only and hash-chained. To re-evaluate, wait for the next run to produce a fresh `changeId`.\n\n## Extending: Add a New Source\n\n1. Add entry to `knowledge\u002Fsync-manifest.json` under `sources[]` with `id`, `adapter`, `defaultRecommendation` (`TAKE` or `REJECT`), and `impacts: [...]`.\n2. Write adapter at `tools\u002Fsync-adapters\u002F\u003Csource-id>.js` exporting `detect({source, prevSnapshot, root})` and `understand({source, before, after, root})`.\n3. Declare any new impact graph edges in `manifest.impactGraph.edges`.\n4. Run `node tools\u002Fsync-orchestrator.js run --source \u003Cid>` to baseline.\n\n## Adapter Contract\n\n```js\n\u002F\u002F tools\u002Fsync-adapters\u002F\u003Csource-id>.js\nmodule.exports = {\n  async detect({ source, prevSnapshot, root }) {\n    return {\n      fingerprint: { primary, secondary, version, timestamp },\n      meta: { \u002F* optional free-form *\u002F },\n    };\n  },\n  async understand({ source, before, after, root }) {\n    return {\n      severity: 'none' | 'low' | 'medium' | 'high',\n      confidence: 0..1,\n      classification: { kind, subkind?, breakingRisk, novelty? },\n      recommendation: 'TAKE' | 'REJECT',\n      actionPlan: 'Step 1\\nStep 2\\n...',          \u002F\u002F newline-delimited; rendered as a checklist\n      evidence: [{ type, path?, ref?, excerpt? }],\n      headline: 'Short one-line summary',\n      why: ['Bullet 1', 'Bullet 2'],\n    };\n  },\n};\n```\n\nReturn `{ error: '...' }` from `detect` for recoverable issues; orchestrator logs it as a REJECT card without crashing other sources.\n\n## Notes on side effects\n\n- The orchestrator never modifies a tracked source file under the user's control. It only writes:\n  - `knowledge\u002Fsync\u002Fsnapshots\u002F*.json` (gitignored)\n  - `knowledge\u002Fsync\u002Fruns\u002F\u003CrunId>\u002F*` (gitignored)\n  - `knowledge\u002Fsync\u002Fdecisions\u002F\u003Csource>\u002F\u003CrunId>.jsonl` (committed audit trail)\n  - `knowledge\u002Fsync\u002Fviews\u002F\u003CrunId>.md` and `\u003CrunId>-actions.md` (committed)\n  - `knowledge\u002Fdocs-cache\u002F\u003Cslug>.txt` (gitignored, raw fetched content for diff)\n- `tools\u002Felevate-sync.js --digest` and `tools\u002Fupstream-check.js --update` advance their own tracking state when the user runs them manually as part of an action plan. Sync never invokes those `--update`\u002F`--digest` modes itself.\n","# MCS Sync — Detect, Understand, Decide\n\nSingle manifest-driven pipeline for every external dependency. Replaces the deleted `\u002Fmcs-refresh` + `tools\u002Frefresh-everything.js` auto-apply path. The key invariants:\n\n1. **Two decisions only** — `TAKE` or `REJECT`. No middle ground.\n2. **Never auto-applies** — taking a change prints the impacted artifacts and writes an action plan markdown for the user; the orchestrator never edits a downstream file itself.\n3. **Manual cadence** — there is no auto-cron, no session-start auto-fetch. The user runs sync weekly (or on demand). The session-start hook only warns about staleness; it does not invoke sync.\n\n## Invocation\n\n```bash\n# Default: detect + understand on all 8 sources, write triage bundle\nnode tools\u002Fsync-orchestrator.js\nnpm run sync\n\n# Single source\nnode tools\u002Fsync-orchestrator.js run --source knowledge-cache\nnode tools\u002Fsync-orchestrator.js run --source upstream-repos\nnode tools\u002Fsync-orchestrator.js run --source elevate\nnode tools\u002Fsync-orchestrator.js run --source eval-guide\nnode tools\u002Fsync-orchestrator.js run --source mcp-servers\nnode tools\u002Fsync-orchestrator.js run --source om-cli\nnode tools\u002Fsync-orchestrator.js run --source docs-manifest\nnode tools\u002Fsync-orchestrator.js run --source plugins\n\n# Fast detect-only (fingerprints, no classification)\nnode tools\u002Fsync-orchestrator.js detect\n\n# Re-open the last triage (no re-detection)\nnode tools\u002Fsync-orchestrator.js review\n\n# Record a decision\nnode tools\u002Fsync-orchestrator.js decide \u003CchangeId> reject --reason \"...\"\nnode tools\u002Fsync-orchestrator.js decide \u003CchangeId> take   --reason \"...\" --confirm\n\n# Inspect loaded manifest (lists all 8 sources)\nnode tools\u002Fsync-orchestrator.js manifest\n\n# Machine-readable output\nnode tools\u002Fsync-orchestrator.js --json\n```\n\n## Decisions\n\n| Decision | Meaning |\n|---|---|\n| **TAKE** | Accept the upstream change. The orchestrator prints the impact graph (downstream artifacts the change touches) and writes an action plan to `knowledge\u002Fsync\u002Fviews\u002F\u003CrunId>-actions.md`. The user works through the plan manually. Requires `--confirm` so the impact list is not silently bypassed. |\n| **REJECT** | Decline the change. Permanent for this `changeId`. If upstream moves again, the next sync run produces a fresh card with a different `changeId` and re-presents it. |\n\nThere are no `ADOPT\u002FMERGE\u002FLEVERAGE\u002FSKIP\u002FIGNORE` classes anymore. Legacy adapter outputs in those forms are remapped automatically by `tools\u002Fsync-orchestrator.js` (`normalizeRecommendation`).\n\n## Sources (8)\n\nAll sources registered in `knowledge\u002Fsync-manifest.json`. Each has a dedicated adapter under `tools\u002Fsync-adapters\u002F`.\n\n| Source | Adapter | Detection Signal | Default |\n|---|---|---|---|\n| `knowledge-cache` | `knowledge-cache.js` | Normalized markdown content hash per cache file | TAKE |\n| `upstream-repos` | `upstream-repos.js` | Commit SHA + watchPaths hash via `upstream-check.js` | REJECT |\n| `elevate` | `elevate.js` | Commit SHA + tracked path tree hash via `elevate-sync.js` | REJECT |\n| `eval-guide` | `eval-guide.js` | Installed plugin SHA + `gh api` HEAD comparison | TAKE |\n| `mcp-servers` | `mcp-servers.js` | Static config hash from `.claude\u002Fsettings.json` mcpServers | REJECT |\n| `om-cli` | `om-cli.js` | Binary hash + stamped source SHA | REJECT |\n| `docs-manifest` | `docs-manifest.js` | Per-URL content hash for tracked MS Learn pages | TAKE |\n| `plugins` | `plugins.js` | Installed Claude plugin SHA set (excluding eval-guide) | REJECT |\n\n## Storage Layout\n\n```\nknowledge\u002Fsync\u002F\n├── snapshots\u002F          (gitignored — last observed fingerprint per source)\n├── runs\u002F               (gitignored — per-run change records, working memory)\n├── decisions\u002F\u003Cid>\u002F     (committed — hash-chained JSONL, canonical machine truth)\n└── views\u002F              (committed — generated markdown projection for humans)\n    ├── \u003CrunId>.md         (triage board)\n    └── \u003CrunId>-actions.md (action plan; appended on every TAKE)\n```\n\n- **Snapshots** and **runs** are gitignored because they churn on every run.\n- **Decisions** (JSONL, partitioned by source id) are the authoritative audit trail.\n- **Views** are regenerated on every decision; never hand-edit. The pre-commit hook (`tools\u002Fgit-hooks\u002Fpre-commit`) runs `sync-orchestrator.js verify-views` and rejects edits that break the integrity marker.\n\n## Three-Phase Pipeline\n\n### Phase 1: DETECT\nEach adapter reports a fingerprint: `{primary, secondary, version, timestamp}`. The orchestrator compares against the stored snapshot. If fingerprints match, the source is `unchanged` and skipped.\n\n### Phase 2: UNDERSTAND\nFor each changed source, the adapter's `understand()` classifies the diff: kind (content\u002Fstructure\u002Fbehavior\u002Fdependency), breakingRisk, novelty. The impact graph in the manifest expands direct impacts into transitive review items (e.g., eval-guide change → flag eval-generation + eval-pipeline for review).\n\n### Phase 3: DECIDE\nThe orchestrator renders triage cards sorted by priority (impact 40 + breakingRisk 25 + confidence 15 + staleness 10 + opportunity 10). Top 10 shown in console, full bundle in `knowledge\u002Fsync\u002Fviews\u002F\u003CrunId>.md`. User issues `decide` per card. On TAKE, the orchestrator:\n\n1. Resolves the change's source through `manifest.impactGraph.edges`.\n2. Prints \"Taking this change touches N downstream artifact(s)\" with the list.\n3. Refuses to record without `--confirm`.\n4. Once confirmed, appends a hash-chained JSONL entry with `impactedArtifacts: [...]`.\n5. Appends a `## \u003CchangeId>` section to `knowledge\u002Fsync\u002Fviews\u002F\u003CrunId>-actions.md` containing the action plan steps and a checklist of impacted artifacts.\n\nThe action plan is a **manual checklist**. The orchestrator never edits any of those files.\n\n## Priority Score\n\n```\npriority = 40*impact + 25*breakingRisk + 15*confidence + 10*staleness + 10*opportunity\n```\n\nCards under priority 20 are noise-level; they appear but below the fold.\n\n## When to Use This Skill\n\n- User says **\"sync\"**, **\"refresh everything\"**, **\"check what's new upstream?\"**, **\"weekly sync\"** → run `npm run sync`\n- User says **\"check the knowledge cache\"** → `run --source knowledge-cache`\n- User says **\"has eval-guide changed?\"** → `run --source eval-guide`\n- User says **\"is om-cli current?\"** → `run --source om-cli`\n- Before a major build → `detect` (fast) then full `run` if anything moved\n- Weekly cadence: full run, review the triage, decide TAKE or REJECT for everything priority > 40\n\n## When NOT to Use This Skill\n\n- For per-task lookups inside another skill (e.g., `\u002Fmcs-research` calling `microsoft_docs_search` for a specific topic) — that is local research, not a dependency sync.\n- For applying a TAKE decision automatically — the orchestrator never edits framework files. The user works through the action plan manually and commits.\n- For amending a decision — decisions are append-only and hash-chained. To re-evaluate, wait for the next run to produce a fresh `changeId`.\n\n## Extending: Add a New Source\n\n1. Add entry to `knowledge\u002Fsync-manifest.json` under `sources[]` with `id`, `adapter`, `defaultRecommendation` (`TAKE` or `REJECT`), and `impacts: [...]`.\n2. Write adapter at `tools\u002Fsync-adapters\u002F\u003Csource-id>.js` exporting `detect({source, prevSnapshot, root})` and `understand({source, before, after, root})`.\n3. Declare any new impact graph edges in `manifest.impactGraph.edges`.\n4. Run `node tools\u002Fsync-orchestrator.js run --source \u003Cid>` to baseline.\n\n## Adapter Contract\n\n```js\n\u002F\u002F tools\u002Fsync-adapters\u002F\u003Csource-id>.js\nmodule.exports = {\n  async detect({ source, prevSnapshot, root }) {\n    return {\n      fingerprint: { primary, secondary, version, timestamp },\n      meta: { \u002F* optional free-form *\u002F },\n    };\n  },\n  async understand({ source, before, after, root }) {\n    return {\n      severity: 'none' | 'low' | 'medium' | 'high',\n      confidence: 0..1,\n      classification: { kind, subkind?, breakingRisk, novelty? },\n      recommendation: 'TAKE' | 'REJECT',\n      actionPlan: 'Step 1\\nStep 2\\n...',          \u002F\u002F newline-delimited; rendered as a checklist\n      evidence: [{ type, path?, ref?, excerpt? }],\n      headline: 'Short one-line summary',\n      why: ['Bullet 1', 'Bullet 2'],\n    };\n  },\n};\n```\n\nReturn `{ error: '...' }` from `detect` for recoverable issues; orchestrator logs it as a REJECT card without crashing other sources.\n\n## Notes on side effects\n\n- The orchestrator never modifies a tracked source file under the user's control. It only writes:\n  - `knowledge\u002Fsync\u002Fsnapshots\u002F*.json` (gitignored)\n  - `knowledge\u002Fsync\u002Fruns\u002F\u003CrunId>\u002F*` (gitignored)\n  - `knowledge\u002Fsync\u002Fdecisions\u002F\u003Csource>\u002F\u003CrunId>.jsonl` (committed audit trail)\n  - `knowledge\u002Fsync\u002Fviews\u002F\u003CrunId>.md` and `\u003CrunId>-actions.md` (committed)\n  - `knowledge\u002Fdocs-cache\u002F\u003Cslug>.txt` (gitignored, raw fetched content for diff)\n- `tools\u002Felevate-sync.js --digest` and `tools\u002Fupstream-check.js --update` advance their own tracking state when the user runs them manually as part of an action plan. Sync never invokes those `--update`\u002F`--digest` modes itself.\n",{"name":5,"description":7},"main","b7593fb57652591678d1aeb9bcc19738e903ffbe",".claude\u002Fskills\u002Fmcs-sync",3,"https:\u002F\u002Fgithub.com\u002Fdayour\u002FMCS-Agent-Builder","https:\u002F\u002Fgithub.com\u002Fdayour","2026-11-08 11:20:11",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add dayour\u002FMCS-Agent-Builder --skill mcs-sync",{"tool":61,"command":62},"bunx","bunx skills add dayour\u002FMCS-Agent-Builder --skill mcs-sync",{"tool":64,"command":65},"pnpm","pnpm dlx skills add dayour\u002FMCS-Agent-Builder --skill mcs-sync","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdayour\u002FMCS-Agent-Builder\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmcs-sync\u002FSKILL.md",true,[],[70,89,96,101,108,113],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":43},"01M6WTHH2JPKXM1JDRE55KC4A6","order-status","Read the packaged Copilot Studio agent definition, including messaging topics and boundaries, from the local plugin.","https:\u002F\u002Fgithub.com\u002Fdayour\u002FMCS-Agent-Builder\u002Fblob\u002Fmain\u002Fschema\u002Ffixtures\u002Finvalid\u002Fmodel-secret\u002Fskills\u002Forder-status\u002FSKILL.md",[],[77,78,79,80,81,82,83,84,85,86,87,88],"order status","status","copilot","plugin","copilot studio","messaging","read","local","agent definition","studio","definition","topics",{"skillNo":90,"name":91,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":43},"01M6WTHE20Y6X94754CP3TAY1Y","level-pass","https:\u002F\u002Fgithub.com\u002Fdayour\u002FMCS-Agent-Builder\u002Fblob\u002Fmain\u002Fschema\u002Ffixtures\u002Finvalid\u002Flevel-status-failed\u002Fskills\u002Flevel-pass\u002FSKILL.md",[],[95,83,82,81,80,79,86,84,85,87,88],"level pass",{"skillNo":97,"name":91,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":43},"01M6WTHBZ5EY53QPYKREMEVHZK","https:\u002F\u002Fgithub.com\u002Fdayour\u002FMCS-Agent-Builder\u002Fblob\u002Fmain\u002Fschema\u002Ffixtures\u002Finvalid\u002Flevel-status-fail\u002Fskills\u002Flevel-pass\u002FSKILL.md",[],[95,87,88,86,85,84,83,82,79,81,80],{"skillNo":102,"name":103,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":43},"01M6WTH9AKX173Y69CJS3CZM5A","level-not-passing","https:\u002F\u002Fgithub.com\u002Fdayour\u002FMCS-Agent-Builder\u002Fblob\u002Fmain\u002Fschema\u002Ffixtures\u002Finvalid\u002Flevel-malformed\u002Fskills\u002Flevel-not-passing\u002FSKILL.md",[],[107,79,80,81,82,83,84,85,86,87,88],"level not passing",{"skillNo":109,"name":91,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":43},"01M6WTH70Z5Z2JV26J9C1ZRYPS","https:\u002F\u002Fgithub.com\u002Fdayour\u002FMCS-Agent-Builder\u002Fblob\u002Fmain\u002Fschema\u002Ffixtures\u002Finvalid\u002Flevel-long-fence\u002Fskills\u002Flevel-pass\u002FSKILL.md",[],[95,85,79,80,81,82,83,84,86,87,88],{"skillNo":114,"name":91,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":43},"01M6WTH4ZSAJ8SADD803KY2DW0","https:\u002F\u002Fgithub.com\u002Fdayour\u002FMCS-Agent-Builder\u002Fblob\u002Fmain\u002Fschema\u002Ffixtures\u002Finvalid\u002Flevel-indented\u002Fskills\u002Flevel-pass\u002FSKILL.md",[],[95,80,81,82,83,84,85,86,87,88,79]]