[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699AGNJSEF6A87JSZ2ZG9J5":3,"skill-same:01M699AGNJSEF6A87JSZ2ZG9J5":97},{"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":18,"publishedAt":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":38,"ownerHtmlUrl":39,"ownerBlogUrl":40,"ownerDescription":41,"updatedAt":42,"install":43,"resources":56},"01M699AGNJSEF6A87JSZ2ZG9J5","feedback-learning",null,"Classify and record explicit corrective feedback without turning skills or instructions into append-only knowledge dumps.","microsoft\u002Fvscode","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M6998NK2WED5M549DX06VBCH",195271,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffeedback-learning\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27],"feedback learning","learning","feedback","knowledge","append","instructions","only","record","classify","2026-11-10 10:12:30",false,"---\nname: feedback-learning\ndescription: Classify and record explicit corrective feedback without turning skills or instructions into append-only knowledge dumps.\n---\n\n# Feedback learning\n\nUse this skill when a user explicitly corrects an implementation or design approach, rejects a pattern, or asks the agent to learn from feedback, except when the user invokes the literal `learn!` trigger.\n\nLiteral `learn!` requests are governed exclusively by `.github\u002Finstructions\u002Flearnings.instructions.md` and are outside this skill's scope. Do not replace or reinterpret that instruction.\n\n## Goal\n\nPreserve reusable knowledge in the smallest authoritative artifact. A correction is not automatically a permanent rule.\n\n## Workflow\n\n1. **Identify the correction**\n   - What was wrong?\n   - Why was it wrong?\n   - What approach did the user prefer?\n   - Which paths or subsystem does it affect?\n\n2. **Search before writing**\n   - Check applicable instructions, skills, design documents, tests, and scoped learning files.\n   - Update an existing rule instead of adding a duplicate.\n\n3. **Classify the feedback**\n\n   | Feedback kind | Destination |\n   |---------------|-------------|\n   | Task-specific preference or one-off adjustment | Do not persist |\n   | Concrete behavior that must not regress | Regression test |\n   | Stable subsystem architecture or product invariant | Relevant design\u002Fspecification document |\n   | Universal repository rule | Applicable instruction file |\n   | Reusable but not yet mature or proven guidance | `.github\u002Flearnings\u002F\u003Carea>.md` |\n   | Tool-driven workflow | Relevant skill |\n\n4. **Generalize carefully**\n   - Preserve the principle, not the incident chronology.\n   - Do not include temporary symbol names, line numbers, or implementation details unless they define the durable contract.\n   - Do not turn a single rejected implementation into a universal prohibition without broader evidence.\n\n5. **Record once**\n   - Design documents and tests are authoritative.\n   - A learning inbox entry is temporary. When promoted, remove the inbox entry in the same change.\n   - Never copy the same rule into a skill, instruction, and design document.\n   - Before adding an inbox entry, compact the target file using the maintenance rules below.\n\n6. **Validate**\n   - Confirm the destination applies to the affected path.\n   - Check links and remove superseded or contradictory guidance.\n\n## Learning inbox format\n\nCreate or update `.github\u002Flearnings\u002F\u003Carea>.md` using:\n\n```markdown\n# Area learning inbox\n\nLast reviewed: YYYY-MM-DD\n\n## Short topic\n\n- **Scope:** `affected\u002Fpath\u002F**`\n- **Learning:** Generalized guidance in one or two sentences.\n- **Evidence:** Why this is reusable beyond the current task.\n- **Disposition:** Candidate for `\u003Cdesign document, instruction, skill, or test>`.\n```\n\nKeep entries concise. Each area inbox is limited to ten topics and 8 KB. If a new entry would exceed either limit, promote, merge, or remove existing entries before deciding whether the new feedback deserves persistence.\n\n## Reading learnings\n\nDo not inject learning inboxes into every task. Search the relevant file's headings and `Scope` fields first, then read only matching entries. Learning inboxes supplement source code, tests, and design documents; they are not a prerequisite for unrelated work and are not authoritative over them.\n\n## Compaction and garbage collection\n\nCompact an inbox before every write. Also perform a full review when an inbox is at either limit or its `Last reviewed` date is more than 90 days old when read. During review:\n\n- promote stable architectural guidance into the owning specification;\n- encode concrete behavior in tests;\n- merge overlapping entries into one general principle;\n- remove obsolete, contradicted, already-promoted, or weakly supported entries;\n- update `Last reviewed` after checking every retained entry against the current source and authoritative documentation.\n\nAn inbox may shrink to zero entries. Do not retain a learning merely because it might be useful someday.\n","# Feedback learning\n\nUse this skill when a user explicitly corrects an implementation or design approach, rejects a pattern, or asks the agent to learn from feedback, except when the user invokes the literal `learn!` trigger.\n\nLiteral `learn!` requests are governed exclusively by `.github\u002Finstructions\u002Flearnings.instructions.md` and are outside this skill's scope. Do not replace or reinterpret that instruction.\n\n## Goal\n\nPreserve reusable knowledge in the smallest authoritative artifact. A correction is not automatically a permanent rule.\n\n## Workflow\n\n1. **Identify the correction**\n   - What was wrong?\n   - Why was it wrong?\n   - What approach did the user prefer?\n   - Which paths or subsystem does it affect?\n\n2. **Search before writing**\n   - Check applicable instructions, skills, design documents, tests, and scoped learning files.\n   - Update an existing rule instead of adding a duplicate.\n\n3. **Classify the feedback**\n\n   | Feedback kind | Destination |\n   |---------------|-------------|\n   | Task-specific preference or one-off adjustment | Do not persist |\n   | Concrete behavior that must not regress | Regression test |\n   | Stable subsystem architecture or product invariant | Relevant design\u002Fspecification document |\n   | Universal repository rule | Applicable instruction file |\n   | Reusable but not yet mature or proven guidance | `.github\u002Flearnings\u002F\u003Carea>.md` |\n   | Tool-driven workflow | Relevant skill |\n\n4. **Generalize carefully**\n   - Preserve the principle, not the incident chronology.\n   - Do not include temporary symbol names, line numbers, or implementation details unless they define the durable contract.\n   - Do not turn a single rejected implementation into a universal prohibition without broader evidence.\n\n5. **Record once**\n   - Design documents and tests are authoritative.\n   - A learning inbox entry is temporary. When promoted, remove the inbox entry in the same change.\n   - Never copy the same rule into a skill, instruction, and design document.\n   - Before adding an inbox entry, compact the target file using the maintenance rules below.\n\n6. **Validate**\n   - Confirm the destination applies to the affected path.\n   - Check links and remove superseded or contradictory guidance.\n\n## Learning inbox format\n\nCreate or update `.github\u002Flearnings\u002F\u003Carea>.md` using:\n\n```markdown\n# Area learning inbox\n\nLast reviewed: YYYY-MM-DD\n\n## Short topic\n\n- **Scope:** `affected\u002Fpath\u002F**`\n- **Learning:** Generalized guidance in one or two sentences.\n- **Evidence:** Why this is reusable beyond the current task.\n- **Disposition:** Candidate for `\u003Cdesign document, instruction, skill, or test>`.\n```\n\nKeep entries concise. Each area inbox is limited to ten topics and 8 KB. If a new entry would exceed either limit, promote, merge, or remove existing entries before deciding whether the new feedback deserves persistence.\n\n## Reading learnings\n\nDo not inject learning inboxes into every task. Search the relevant file's headings and `Scope` fields first, then read only matching entries. Learning inboxes supplement source code, tests, and design documents; they are not a prerequisite for unrelated work and are not authoritative over them.\n\n## Compaction and garbage collection\n\nCompact an inbox before every write. Also perform a full review when an inbox is at either limit or its `Last reviewed` date is more than 90 days old when read. During review:\n\n- promote stable architectural guidance into the owning specification;\n- encode concrete behavior in tests;\n- merge overlapping entries into one general principle;\n- remove obsolete, contradicted, already-promoted, or weakly supported entries;\n- update `Last reviewed` after checking every retained entry against the current source and authoritative documentation.\n\nAn inbox may shrink to zero entries. Do not retain a learning merely because it might be useful someday.\n",{"name":5,"description":7},"main","11ba54a90a0ff8720cf47c086f5a9948eef9cf2c",".github\u002Fskills\u002Ffeedback-learning",43773,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode","https:\u002F\u002Fcode.visualstudio.com","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-11 08:47:49",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add microsoft\u002Fvscode --skill feedback-learning",{"tool":49,"command":50},"bunx","bunx skills add microsoft\u002Fvscode --skill feedback-learning",{"tool":52,"command":53},"pnpm","pnpm dlx skills add microsoft\u002Fvscode --skill feedback-learning","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffeedback-learning\u002FSKILL.md",true,[57,63,67,71,75,81,85,89,93],{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"assets\u002Ffonts\u002FNotoSansSC-Regular.otf","ASSET","资产文件",16437364,"https:\u002F\u002Fgithub.com\u002Fwallfacers\u002Fdata-talk\u002Fblob\u002Fmaster\u002Fserver\u002Fdata-talk-adapter\u002Fsrc\u002Fmain\u002Fresources\u002Fskills\u002Fledger\u002Fassets\u002Ffonts\u002FNotoSansSC-Regular.otf",{"path":64,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":65,"sourceHtmlUrl":66},"assets\u002Ffonts\u002FNotoSerifSC-Regular.otf",24543080,"https:\u002F\u002Fgithub.com\u002Fwallfacers\u002Fdata-talk\u002Fblob\u002Fmaster\u002Fserver\u002Fdata-talk-adapter\u002Fsrc\u002Fmain\u002Fresources\u002Fskills\u002Fledger\u002Fassets\u002Ffonts\u002FNotoSerifSC-Regular.otf",{"path":68,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":69,"sourceHtmlUrl":70},"assets\u002Ffonts\u002FREADME.md",1252,"https:\u002F\u002Fgithub.com\u002Fwallfacers\u002Fdata-talk\u002Fblob\u002Fmaster\u002Fserver\u002Fdata-talk-adapter\u002Fsrc\u002Fmain\u002Fresources\u002Fskills\u002Fledger\u002Fassets\u002Ffonts\u002FREADME.md",{"path":72,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":73,"sourceHtmlUrl":74},"assets\u002Fstyles\u002Fledger.css",15883,"https:\u002F\u002Fgithub.com\u002Fwallfacers\u002Fdata-talk\u002Fblob\u002Fmaster\u002Fserver\u002Fdata-talk-adapter\u002Fsrc\u002Fmain\u002Fresources\u002Fskills\u002Fledger\u002Fassets\u002Fstyles\u002Fledger.css",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"data-contract.md","REFERENCE","参考文档",8828,"https:\u002F\u002Fgithub.com\u002Fwallfacers\u002Fdata-talk\u002Fblob\u002Fmaster\u002Fserver\u002Fdata-talk-adapter\u002Fsrc\u002Fmain\u002Fresources\u002Fskills\u002Fledger\u002Fdata-contract.md",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"design-language.md",10322,"https:\u002F\u002Fgithub.com\u002Fwallfacers\u002Fdata-talk\u002Fblob\u002Fmaster\u002Fserver\u002Fdata-talk-adapter\u002Fsrc\u002Fmain\u002Fresources\u002Fskills\u002Fledger\u002Fdesign-language.md",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"section-patterns.md",18385,"https:\u002F\u002Fgithub.com\u002Fwallfacers\u002Fdata-talk\u002Fblob\u002Fmaster\u002Fserver\u002Fdata-talk-adapter\u002Fsrc\u002Fmain\u002Fresources\u002Fskills\u002Fledger\u002Fsection-patterns.md",{"path":90,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":91,"sourceHtmlUrl":92},"templates\u002Fincident-postmortem.md",8288,"https:\u002F\u002Fgithub.com\u002Fwallfacers\u002Fdata-talk\u002Fblob\u002Fmaster\u002Fserver\u002Fdata-talk-adapter\u002Fsrc\u002Fmain\u002Fresources\u002Fskills\u002Fledger\u002Ftemplates\u002Fincident-postmortem.md",{"path":94,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":95,"sourceHtmlUrl":96},"templates\u002Fmonthly-business-review.md",7937,"https:\u002F\u002Fgithub.com\u002Fwallfacers\u002Fdata-talk\u002Fblob\u002Fmaster\u002Fserver\u002Fdata-talk-adapter\u002Fsrc\u002Fmain\u002Fresources\u002Fskills\u002Fledger\u002Ftemplates\u002Fmonthly-business-review.md",[98,124,145,159,174,190],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":28},"01M70H0ANBKZAVEP1NVV4K28M3","sweeper-query","Answer natural-language questions about the VS Code Sweeper's published issue index (index-\u003Cname>.json for microsoft\u002Fvscode and the enrolled family repos) — which issues are agent-ready to implement or plan, what the sweeper proposed for an assignee or area, whether the sweeper knows a report as a duplicate, the highest-value open bugs in a lane — and, for one issue, the review's full record (evidence with file citations, fix brief, proposed comment). Use ONLY when the request explicitly names the sweeper — \"sweeper\", \"vscodesweeper\", \"sweeper-query\", a sweeper verdict, record, brief or index, an agent-ready issue — or asks what \"the sweeper\" found, proposed or knows. Do NOT use for general questions about issues, duplicates, priorities or ranking that do not mention the sweeper. Read-only; discovery only.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fsweeper-query\u002FSKILL.md",[],[105,106,107,108,109,110,111,112,113,114,115,116,25,117,118,119,120,121,122,123],"sweeper query","query","sweeper","review","fix","when","request","which","natural-language","ranking","duplicates","ready","read","plan","open","Citations","brief","issues","code",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":28},"01M699DRJS4YJCV600Q72SVVWE","update-skills","Create or update repository skills and instructions when major learnings are discovered during a session. Use when the user says \"learn!\", when a significant pattern or pitfall is identified, or when reusable domain knowledge should be captured for future sessions.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode\u002Fblob\u002Fmain\u002Fsrc\u002Fvs\u002Fsessions\u002Fskills\u002Fupdate-skills\u002FSKILL.md",[],[131,132,133,134,135,136,137,138,139,140,24,22,141,142,143,144,110],"update","update skills","for","pattern","domain","learnings","reusable","use","session","user","repository","learn","create","sessions",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":151,"publishedAt":28},"01M699DPWHZ72B66P82EW31RNE","update-pr","Update the pull request for the current session. Use when the user wants to push new changes to an existing PR.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode\u002Fblob\u002Fmain\u002Fsrc\u002Fvs\u002Fsessions\u002Fskills\u002Fupdate-pr\u002FSKILL.md",[],[131,152,153,110,111,154,133,138,139,140,155,156,157,158],"pr","update pr","Existing","push","pull","pull request","changes",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":28},"01M699DJMR6CE1MH5XCJZ0GFQ0","sync","Sync the current session branch with its upstream branch, or publish the current session branch to a remote. Use when the user asks to sync a branch, pull latest changes, rebase onto upstream, push current branch, publish branch, or set upstream.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode\u002Fblob\u002Fmain\u002Fsrc\u002Fvs\u002Fsessions\u002Fskills\u002Fsync\u002FSKILL.md",[],[161,166,167,155,156,168,110,158,169,170,171,172,138,139,140,173],"SET","publish","rebase","latest","with","remote","upstream","branch",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":28},"01M699DGXHX6A2A72X57R6GGHJ","sync-upstream","Update a stale session branch by rebasing onto the latest origin. Use when the upstream has moved significantly and the session needs to catch up, resolving conflicts by preserving upstream changes and adapting session work to fit.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode\u002Fblob\u002Fmain\u002Fsrc\u002Fvs\u002Fsessions\u002Fskills\u002Fsync-upstream\u002FSKILL.md",[],[172,161,181,182,110,183,184,158,169,185,186,187,188,138,139,173,189,131],"sync upstream","fit","catch","catch up","origin","conflicts","stale","up","work",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":196,"publishedAt":28},"01M699DEXYFWDGW0BAXJ5QQ377","merge","Merge changes from the topic branch to the merge base branch. Use when the user wants to merge their session's work back to the base branch.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvscode\u002Fblob\u002Fmain\u002Fsrc\u002Fvs\u002Fsessions\u002Fskills\u002Fmerge\u002FSKILL.md",[],[192,139,138,189,173,140,110,197,198,158],"back","base"]