[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ADFV3964F8FT77AY74XJME":3,"skill-same:01M6ADFV3964F8FT77AY74XJME":62},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":43,"ownerHtmlUrl":44,"ownerBlogUrl":45,"ownerDescription":46,"updatedAt":47,"install":48,"resources":61},"01M6ADFV3964F8FT77AY74XJME","desk-open",null,"Create and open a new desk in the workshop. Sets up the folder structure, initial journal, and desk identity so the next session that sits down finds the trail.","github\u002Fawesome-copilot","github","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9919?v=4","01M6AC83DS133TPXFSP1DHNCC6","GitHub","01M6AD3PBDYPK7NVFJNJ66Y8RS",41046,"MIT","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fdesk-open\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"desk open","open","create","identity","down","session","up","journal","new","structure","next","folder","folder structure","trail","2026-11-10 10:12:30",false,"---\nname: desk-open\ndescription: 'Create and open a new desk in the workshop. Sets up the folder structure, initial journal, and desk identity so the next session that sits down finds the trail.'\n---\n\n# Open a Desk\n\nCreate a new desk in the workshop with the standard structure.\n\n## When to use\n\n- The operator wants to start a new workstream\n- Work arrives that doesn't belong to any existing desk\n- A topic needs its own frame (its own history, its own priors)\n\n## What it creates\n\nGiven a workshop directory and a desk name, create:\n\n```\ndesks\u002F\u003Cdesk-name>\u002F\n  journal.md       # persistent memory — read at start, written at end\n  .signals\u002F        # structured signal output (JSON) — dashboard reads this\n```\n\n`desks\u002F` is the default home. A desk can instead live in a group folder:\nany top-level folder whose name ends in `-desks` (for example\n`team-desks\u002F\u003Cdesk-name>\u002F`). Use one only when the operator asks for that\ngroup, create the group folder if it doesn't exist, and read `desks\u002F` in\nthe steps below as that group folder.\n\n## How to use\n\n1. **Choose a name.** Short, descriptive, kebab-case. The name is\n   how the operator and other desks refer to this desk.\n   Examples: `security-scan`, `api-review`, `ops`, `cloud-workshop`\n\n2. **Check if it already exists.** If `desks\u002F\u003Cdesk-name>\u002F` already\n   has a `journal.md`, the desk is live — **do not overwrite it.**\n   Instead, resume it: read the journal and continue from where it\n   left off. If the operator explicitly wants a fresh start, they\n   must rename or archive the existing desk first.\n\n3. **Create the structure.** Make the directory, initial journal,\n   and signals folder:\n\n   ```\n   desks\u002F\u003Cdesk-name>\u002Fjournal.md\n   desks\u002F\u003Cdesk-name>\u002F.signals\u002F\n   ```\n\n4. **Write the first journal entry.** The journal starts with:\n   - What this desk is for (its focus\u002Fpurpose)\n   - What repos or work it covers (if applicable)\n   - Any initial context the first session needs\n\n5. **Announce it.** Tell the operator what was created and what\n   the desk's focus is.\n\n## Session orientation\n\nThis skill initializes storage — it does not launch a session.\nA desk becomes active when a Copilot session references its\ndirectory. The session workflow:\n\n1. The operator (or TA) starts a session and says \"sit at the\n   `\u003Cdesk-name>` desk\"\n2. The session reads the desk's `journal.md` to load priors. To find\n   the desk, look in `desks\u002F\u003Cdesk-name>\u002F`, then in each\n   `\u003Cgroup>-desks\u002F\u003Cdesk-name>\u002F`; if more than one has that name, ask\n   which one (refer to it as `\u003Cgroup>-desks\u002F\u003Cdesk-name>`)\n3. Work happens — the session uses `signal-write` to emit signals\n   and `desk-journal` to persist state at the end\n4. The next session repeats from step 2\n\nThe desk identity comes from which journal is read, not from a\npersistent process. Desks are long-running in *state* (the journal\ncarries forward), not in *runtime* (each session is independent).\n\n## Journal format\n\n```markdown\n# \u003CDesk Name> — Journal\n\n## \u003Cdate> — Desk opened\n- **Purpose:** \u003Cwhat this desk focuses on>\n- **Scope:** \u003Crepos, areas, or work this desk covers>\n- **Next step:** \u003Cwhat the first session should do>\n```\n\n## Principles\n\n- A desk is a peer, not a sub-agent. It has equal standing to\n  disagree with other desks.\n- The journal is the memory. Without it, the next session starts\n  blind. Write enough that someone starting from zero finds the way.\n- One desk, one focus. If the scope is too broad, open two desks.\n  Each desk's value comes from its specific frame — dilute the\n  frame and you lose the value.\n","# Open a Desk\n\nCreate a new desk in the workshop with the standard structure.\n\n## When to use\n\n- The operator wants to start a new workstream\n- Work arrives that doesn't belong to any existing desk\n- A topic needs its own frame (its own history, its own priors)\n\n## What it creates\n\nGiven a workshop directory and a desk name, create:\n\n```\ndesks\u002F\u003Cdesk-name>\u002F\n  journal.md       # persistent memory — read at start, written at end\n  .signals\u002F        # structured signal output (JSON) — dashboard reads this\n```\n\n`desks\u002F` is the default home. A desk can instead live in a group folder:\nany top-level folder whose name ends in `-desks` (for example\n`team-desks\u002F\u003Cdesk-name>\u002F`). Use one only when the operator asks for that\ngroup, create the group folder if it doesn't exist, and read `desks\u002F` in\nthe steps below as that group folder.\n\n## How to use\n\n1. **Choose a name.** Short, descriptive, kebab-case. The name is\n   how the operator and other desks refer to this desk.\n   Examples: `security-scan`, `api-review`, `ops`, `cloud-workshop`\n\n2. **Check if it already exists.** If `desks\u002F\u003Cdesk-name>\u002F` already\n   has a `journal.md`, the desk is live — **do not overwrite it.**\n   Instead, resume it: read the journal and continue from where it\n   left off. If the operator explicitly wants a fresh start, they\n   must rename or archive the existing desk first.\n\n3. **Create the structure.** Make the directory, initial journal,\n   and signals folder:\n\n   ```\n   desks\u002F\u003Cdesk-name>\u002Fjournal.md\n   desks\u002F\u003Cdesk-name>\u002F.signals\u002F\n   ```\n\n4. **Write the first journal entry.** The journal starts with:\n   - What this desk is for (its focus\u002Fpurpose)\n   - What repos or work it covers (if applicable)\n   - Any initial context the first session needs\n\n5. **Announce it.** Tell the operator what was created and what\n   the desk's focus is.\n\n## Session orientation\n\nThis skill initializes storage — it does not launch a session.\nA desk becomes active when a Copilot session references its\ndirectory. The session workflow:\n\n1. The operator (or TA) starts a session and says \"sit at the\n   `\u003Cdesk-name>` desk\"\n2. The session reads the desk's `journal.md` to load priors. To find\n   the desk, look in `desks\u002F\u003Cdesk-name>\u002F`, then in each\n   `\u003Cgroup>-desks\u002F\u003Cdesk-name>\u002F`; if more than one has that name, ask\n   which one (refer to it as `\u003Cgroup>-desks\u002F\u003Cdesk-name>`)\n3. Work happens — the session uses `signal-write` to emit signals\n   and `desk-journal` to persist state at the end\n4. The next session repeats from step 2\n\nThe desk identity comes from which journal is read, not from a\npersistent process. Desks are long-running in *state* (the journal\ncarries forward), not in *runtime* (each session is independent).\n\n## Journal format\n\n```markdown\n# \u003CDesk Name> — Journal\n\n## \u003Cdate> — Desk opened\n- **Purpose:** \u003Cwhat this desk focuses on>\n- **Scope:** \u003Crepos, areas, or work this desk covers>\n- **Next step:** \u003Cwhat the first session should do>\n```\n\n## Principles\n\n- A desk is a peer, not a sub-agent. It has equal standing to\n  disagree with other desks.\n- The journal is the memory. Without it, the next session starts\n  blind. Write enough that someone starting from zero finds the way.\n- One desk, one focus. If the scope is too broad, open two desks.\n  Each desk's value comes from its specific frame — dilute the\n  frame and you lose the value.\n",{"name":5,"description":7},"main","227949a7542a55d2155c00e7cdb998d9a0fee4f3","skills\u002Fdesk-open",5340,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot","https:\u002F\u002Fawesome-copilot.github.com\u002F","https:\u002F\u002Fgithub.com\u002Fgithub","https:\u002F\u002Fgithub.com\u002Fabout","How people build software.","2026-11-11 13:41:32",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add github\u002Fawesome-copilot --skill desk-open",{"tool":54,"command":55},"bunx","bunx skills add github\u002Fawesome-copilot --skill desk-open",{"tool":57,"command":58},"pnpm","pnpm dlx skills add github\u002Fawesome-copilot --skill desk-open","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fdesk-open\u002FSKILL.md",true,[],[63,98,126,156,190,206],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":77,"publishedAt":33},"01M70KXZNX9ES38N2A8M58ZZMZ","supabase-rls-policies","Write, review, and test Supabase Row Level Security (RLS) policies so that one user cannot read or change another user's rows. Use when creating or changing tables, policies, views, or security definer functions in a Supabase project, when reviewing a migration that touches RLS, or when asked to prove user isolation with pgTAP tests that sign in as two users.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fsupabase-rls-policies\u002FSKILL.md",[69,74],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":75,"categoryName":76,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000023","Skill与智能体开发",[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],"supabase","rls","supabase rls","supabase rls policies","project","when","review","change","read","write","security","isolation","tables","as","tests","prove","use","users","functions","with",{"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":105,"publishedAt":33},"01M70KWA5YWXDV6V8DZ19E3T2Y","skill-distribution-audit","Audit a skill collection before release or investigate installer omissions, archived\u002Ftemplate leakage, duplicate identities, and manifest drift. Reconcile the intended public source set, distribution manifest, and actual discovery output for a specified consumer version. Includes a deterministic set-comparison helper.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fskill-distribution-audit\u002FSKILL.md",[104],{"categoryNo":75,"categoryName":76,"taxonomyType":72,"taxonomyTypeDesc":73},[106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],"distribution","skill distribution audit","audit","SET","deterministic","installer","for","discovery","comparison","helper","manifest","version","collection","drift","output","investigate","duplicate","template","release","reconcile",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":130,"sourceHtmlUrl":131,"categories":132,"keywords":138,"publishedAt":33},"01M70KCJPFVW7PPQ49CC5R8JGK","logicapps-custom-code-net10-migration","Migrate Azure Logic Apps Standard local-function custom-code projects from .NET 8 to .NET 10. Use for legacy Logic Apps custom-code workspace upgrades, project\u002Fpackage configuration, custom-worker settings, publication, and integrated VS Code debugging. Not for ordinary .NET applications, standalone Azure Functions, Consumption workflows, or cloud deployment.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Flogicapps-custom-code-net10-migration\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Flogicapps-custom-code-net10-migration\u002FSKILL.md",[133],{"categoryNo":134,"categoryName":135,"taxonomyType":136,"taxonomyTypeDesc":137},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[139,140,141,142,143,144,112,82,145,146,147,148,149,150,151,94,152,153,154,155],"custom","code","logicapps custom code net10 migration","migration","projects","standalone","deployment","applications","local","azure","worker","upgrades","package","apps","Legacy","debugging","workflows",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":160,"sourceHtmlUrl":161,"categories":162,"keywords":167,"publishedAt":33},"01M6AEBN37RQMXJ3298PEY7PG1","winmd-api-search","Find and explore Windows desktop APIs. Use when building features that need platform capabilities — camera, file access, notifications, UI controls, AI\u002FML, sensors, networking, etc. Discovers the right API for a task and retrieves full type details (methods, properties, events, enumeration values).","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fwinmd-api-search\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fwinmd-api-search\u002FSKILL.md",[163,166],{"categoryNo":164,"categoryName":165,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":134,"categoryName":135,"taxonomyType":136,"taxonomyTypeDesc":137},[168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,83,183,184,185,186,187,112,188,189],"winmd api search","search","api","windows","desktop","file access","enumeration","ui","ml","file","networking","capabilities","notifications","explore","access","features","full","camera","events","platform","methods","controls",{"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":194,"licenseFileUrl":195,"sourceHtmlUrl":196,"categories":197,"keywords":203,"publishedAt":33},"01M6AE571R3SC1ZGE202B3NB5S","resemble-detect","Deepfake detection and media safety — detect AI-generated audio, images, video, and text, trace synthesis sources, apply watermarks, verify speaker identity, and analyze media intelligence using Resemble AI","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fresemble-detect\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fresemble-detect\u002FSKILL.md",[198,199,202],{"categoryNo":164,"categoryName":165,"taxonomyType":72,"taxonomyTypeDesc":73},{"categoryNo":200,"categoryName":201,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":75,"categoryName":76,"taxonomyType":72,"taxonomyTypeDesc":73},[204,109,177,205,22],"resemble detect","https",{"skillNo":207,"name":208,"nameZh":6,"description":209,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":194,"licenseFileUrl":210,"sourceHtmlUrl":211,"categories":212,"keywords":217,"publishedAt":33},"01M6AE30BSK2HCY4TQQ22Z8JRD","quality-playbook","Run a complete quality engineering audit on any codebase. Derives behavioral requirements from the code, generates spec-traced functional tests, runs a three-pass code review with regression tests, executes a multi-model spec audit (Council of Three), and produces a consolidated bug report with TDD-verified patches. Finds the 35% of real defects that structural code review alone cannot catch. Works with any language. Trigger on 'quality playbook', 'spec audit', 'Council of Three', 'fitness-to-purpose', or 'coverage theater'.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fquality-playbook\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fquality-playbook\u002FSKILL.md",[213,216],{"categoryNo":214,"categoryName":215,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":75,"categoryName":76,"taxonomyType":72,"taxonomyTypeDesc":73},[218,219,220,221,140,84,9,108,222,223,205,224,225,226,227,228,229,230,231,232,233,234,92,235,236,237,238],"playbook","quality playbook","quality","code review","tdd","run","report","spec","bug report","council","engineering","functional","spec audit","bug","verified","multi-model","three","coverage","model","regression","structural"]