[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AEBXFXDN9GP77MF595QQNT":3,"skill-same:01M6AEBXFXDN9GP77MF595QQNT":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},"01M6AEBXFXDN9GP77MF595QQNT","workshop-create",null,"Create a new workshop or use an existing directory as one. Handles two paths: (A) use an existing local directory the operator points at, or (B) create a new private GitHub repo in the signed-in account. Never creates a repo inside another repo.","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\u002Fworkshop-create\u002FSKILL.md",[],[19,20,21,9,22,23,24,25,26,27,28,29,30,31,32],"create","workshop create","operator","directory","as","never","repo","local","new","use","Existing","github repo","at","paths","2026-11-10 10:12:30",false,"---\nname: workshop-create\ndescription: 'Create a new workshop or use an existing directory as one. Handles two paths: (A) use an existing local directory the operator points at, or (B) create a new private GitHub repo in the signed-in account. Never creates a repo inside another repo.'\n---\n\n# Create a Workshop\n\nSet up a new workshop — the root directory where desks live.\n\n## When to use\n\n- The operator says \"create a workshop\" or \"start a new workshop\"\n- The operator wants to organize work under a shared root\n- The operator has an existing directory they want to use as a workshop\n\n## Two paths\n\n### Path A: Use an existing directory\n\nThe operator already has a folder they want to use. Maybe it's a repo\nthey cloned, maybe it's a local project folder.\n\n1. **Confirm the path exists.** If not, ask the operator for a valid path.\n2. **Detect existing workshop markers.** Look for `desks\u002F`, `classroom\u002F`,\n   or `*-desks\u002F` folders, a `workshop.md`, `CAIRN.md`, or `hands-up.md`.\n   Finding any of these tells you this is an existing workshop — but this\n   is detection only, not a stopping point. Continue to the next step and\n   add whatever is missing; never overwrite what is already there.\n3. **Scaffold the workshop structure** (only what's missing):\n   ```\n   \u003Cpath>\u002F\n     desks\u002F           # where desks live\n     bench\u002F            # shared workspace\n     CAIRN.md          # operating disposition\n     README.md         # workshop map\n   ```\n4. **Do NOT run `git init`.** The directory may already be a git repo, or\n   the operator may not want one yet. Leave git state alone.\n5. **Do NOT create a GitHub repo.** This path is local-only.\n\n### Path B: Create a new private GitHub repo\n\nThe operator wants a fresh workshop backed by a GitHub repo.\n\n1. **Get the workshop name.** Short, no spaces, kebab-case preferred.\n2. **Pick and validate a clone parent.** `gh repo create --clone` clones\n   into the **current working directory**, so choose an explicit parent\n   directory first (ask the operator, or use their configured workshops\n   directory) and confirm it is **not** already inside a git repo:\n   ```bash\n   git -C \u003Cparent-dir> rev-parse --is-inside-work-tree\n   ```\n   If that prints `true`, pick a different parent — otherwise the new\n   repo nests inside the existing one. Create the parent if needed.\n3. **Create and clone the repo from that parent:**\n   ```bash\n   cd \u003Cparent-dir>\n   gh repo create \u003Cowner>\u002F\u003Cname> --private --clone\n   ```\n   Use the operator's signed-in GitHub account as `\u003Cowner>`.\n4. **Scaffold the workshop structure** inside the cloned repo. Git does\n   not track empty directories, so add a placeholder in each otherwise\n   empty folder or the scaffold will not survive the next clone:\n   ```\n   \u003Cname>\u002F\n     desks\u002F.gitkeep\n     bench\u002F.gitkeep\n     CAIRN.md\n     README.md\n   ```\n5. **Commit and push** the scaffold, including the `.gitkeep` placeholders.\n\n### Critical: Never nest repos\n\n**Never run `git init` inside a directory that is already inside a git\nrepository.** Before initializing, check:\n\n```bash\ngit -C \u003Cparent-dir> rev-parse --is-inside-work-tree\n```\n\nIf that returns `true`, the parent is already a git repo. Do NOT create\nanother repo inside it. Either:\n- Use Path A (just scaffold, no git)\n- Or clone to a different location that isn't inside a repo\n\n## CAIRN.md content\n\nThe operating disposition every desk reads:\n\n```markdown\n# cairn\n\nthe trail markers that say: someone was here, and they were honest.\n\n## how a desk stands\n\n- **stop is a valid finish.** don't force a result when the evidence\n  says stop. \"this doesn't work\" is a finding, not a failure.\n- **\"done\" means it holds.** if you'd bet your desk on it, ship it.\n  if not, say what's uncertain and why.\n- **hold scope.** touch only what the task needs. if you find something\n  outside scope, note it and move on — don't chase it.\n- **never go silent, never bluff.** partial + honest > complete + wrong.\n  if you're stuck, say so. if you're unsure, say that too.\n- **equal standing.** you can say \"that's the wrong question.\" you can\n  disagree with another desk. you answer to evidence, not hierarchy.\n\n## the bench\n\nthe shared workspace. leave your work where others can find it.\nlabel it. if it supersedes earlier work, say so.\n\n## hands-up\n\nwhen two desks disagree and can't settle it against external facts,\nthat's a hands-up. it goes to the operator. this is the system\nworking, not failing.\n```\n\n## After creation\n\nTell the operator:\n- Where the workshop lives (full path)\n- That they can now open desks in it with `desk-open` — in `desks\u002F`, or\n  in a top-level `\u003Cgroup>-desks\u002F` folder if they want to group desks\n- That Cairn will show signals once desks start emitting them\n\n## Principles\n\n- A workshop is a place, not a product. Keep it simple.\n- The operator decides where things go. Don't assume.\n- If an existing directory already has work in it, preserve everything.\n  Only add what's missing.\n","# Create a Workshop\n\nSet up a new workshop — the root directory where desks live.\n\n## When to use\n\n- The operator says \"create a workshop\" or \"start a new workshop\"\n- The operator wants to organize work under a shared root\n- The operator has an existing directory they want to use as a workshop\n\n## Two paths\n\n### Path A: Use an existing directory\n\nThe operator already has a folder they want to use. Maybe it's a repo\nthey cloned, maybe it's a local project folder.\n\n1. **Confirm the path exists.** If not, ask the operator for a valid path.\n2. **Detect existing workshop markers.** Look for `desks\u002F`, `classroom\u002F`,\n   or `*-desks\u002F` folders, a `workshop.md`, `CAIRN.md`, or `hands-up.md`.\n   Finding any of these tells you this is an existing workshop — but this\n   is detection only, not a stopping point. Continue to the next step and\n   add whatever is missing; never overwrite what is already there.\n3. **Scaffold the workshop structure** (only what's missing):\n   ```\n   \u003Cpath>\u002F\n     desks\u002F           # where desks live\n     bench\u002F            # shared workspace\n     CAIRN.md          # operating disposition\n     README.md         # workshop map\n   ```\n4. **Do NOT run `git init`.** The directory may already be a git repo, or\n   the operator may not want one yet. Leave git state alone.\n5. **Do NOT create a GitHub repo.** This path is local-only.\n\n### Path B: Create a new private GitHub repo\n\nThe operator wants a fresh workshop backed by a GitHub repo.\n\n1. **Get the workshop name.** Short, no spaces, kebab-case preferred.\n2. **Pick and validate a clone parent.** `gh repo create --clone` clones\n   into the **current working directory**, so choose an explicit parent\n   directory first (ask the operator, or use their configured workshops\n   directory) and confirm it is **not** already inside a git repo:\n   ```bash\n   git -C \u003Cparent-dir> rev-parse --is-inside-work-tree\n   ```\n   If that prints `true`, pick a different parent — otherwise the new\n   repo nests inside the existing one. Create the parent if needed.\n3. **Create and clone the repo from that parent:**\n   ```bash\n   cd \u003Cparent-dir>\n   gh repo create \u003Cowner>\u002F\u003Cname> --private --clone\n   ```\n   Use the operator's signed-in GitHub account as `\u003Cowner>`.\n4. **Scaffold the workshop structure** inside the cloned repo. Git does\n   not track empty directories, so add a placeholder in each otherwise\n   empty folder or the scaffold will not survive the next clone:\n   ```\n   \u003Cname>\u002F\n     desks\u002F.gitkeep\n     bench\u002F.gitkeep\n     CAIRN.md\n     README.md\n   ```\n5. **Commit and push** the scaffold, including the `.gitkeep` placeholders.\n\n### Critical: Never nest repos\n\n**Never run `git init` inside a directory that is already inside a git\nrepository.** Before initializing, check:\n\n```bash\ngit -C \u003Cparent-dir> rev-parse --is-inside-work-tree\n```\n\nIf that returns `true`, the parent is already a git repo. Do NOT create\nanother repo inside it. Either:\n- Use Path A (just scaffold, no git)\n- Or clone to a different location that isn't inside a repo\n\n## CAIRN.md content\n\nThe operating disposition every desk reads:\n\n```markdown\n# cairn\n\nthe trail markers that say: someone was here, and they were honest.\n\n## how a desk stands\n\n- **stop is a valid finish.** don't force a result when the evidence\n  says stop. \"this doesn't work\" is a finding, not a failure.\n- **\"done\" means it holds.** if you'd bet your desk on it, ship it.\n  if not, say what's uncertain and why.\n- **hold scope.** touch only what the task needs. if you find something\n  outside scope, note it and move on — don't chase it.\n- **never go silent, never bluff.** partial + honest > complete + wrong.\n  if you're stuck, say so. if you're unsure, say that too.\n- **equal standing.** you can say \"that's the wrong question.\" you can\n  disagree with another desk. you answer to evidence, not hierarchy.\n\n## the bench\n\nthe shared workspace. leave your work where others can find it.\nlabel it. if it supersedes earlier work, say so.\n\n## hands-up\n\nwhen two desks disagree and can't settle it against external facts,\nthat's a hands-up. it goes to the operator. this is the system\nworking, not failing.\n```\n\n## After creation\n\nTell the operator:\n- Where the workshop lives (full path)\n- That they can now open desks in it with `desk-open` — in `desks\u002F`, or\n  in a top-level `\u003Cgroup>-desks\u002F` folder if they want to group desks\n- That Cairn will show signals once desks start emitting them\n\n## Principles\n\n- A workshop is a place, not a product. Keep it simple.\n- The operator decides where things go. Don't assume.\n- If an existing directory already has work in it, preserve everything.\n  Only add what's missing.\n",{"name":5,"description":7},"main","227949a7542a55d2155c00e7cdb998d9a0fee4f3","skills\u002Fworkshop-create",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 workshop-create",{"tool":54,"command":55},"bunx","bunx skills add github\u002Fawesome-copilot --skill workshop-create",{"tool":57,"command":58},"pnpm","pnpm dlx skills add github\u002Fawesome-copilot --skill workshop-create","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fworkshop-create\u002FSKILL.md",true,[],[63,96,124,153,187,204],{"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,23,91,92,28,93,94,95],"supabase","rls","supabase rls","supabase rls policies","project","when","review","change","read","write","security","isolation","tables","tests","prove","users","functions","with",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":103,"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",[102],{"categoryNo":75,"categoryName":76,"taxonomyType":72,"taxonomyTypeDesc":73},[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123],"distribution","skill distribution audit","audit","SET","deterministic","installer","for","discovery","comparison","helper","manifest","version","collection","drift","output","investigate","duplicate","template","release","reconcile",{"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":128,"sourceHtmlUrl":129,"categories":130,"keywords":136,"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",[131],{"categoryNo":132,"categoryName":133,"taxonomyType":134,"taxonomyTypeDesc":135},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[137,138,139,140,141,142,110,82,143,144,26,145,146,147,148,28,149,150,151,152],"custom","code","logicapps custom code net10 migration","migration","projects","standalone","deployment","applications","azure","worker","upgrades","package","apps","Legacy","debugging","workflows",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":157,"sourceHtmlUrl":158,"categories":159,"keywords":164,"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",[160,163],{"categoryNo":161,"categoryName":162,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":132,"categoryName":133,"taxonomyType":134,"taxonomyTypeDesc":135},[165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,83,180,181,182,183,184,110,185,186],"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":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":191,"licenseFileUrl":192,"sourceHtmlUrl":193,"categories":194,"keywords":200,"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",[195,196,199],{"categoryNo":161,"categoryName":162,"taxonomyType":72,"taxonomyTypeDesc":73},{"categoryNo":197,"categoryName":198,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":75,"categoryName":76,"taxonomyType":72,"taxonomyTypeDesc":73},[201,107,174,202,203],"resemble detect","https","identity",{"skillNo":205,"name":206,"nameZh":6,"description":207,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":191,"licenseFileUrl":208,"sourceHtmlUrl":209,"categories":210,"keywords":215,"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",[211,214],{"categoryNo":212,"categoryName":213,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":75,"categoryName":76,"taxonomyType":72,"taxonomyTypeDesc":73},[216,217,218,219,138,84,9,106,220,221,202,222,223,224,225,226,227,228,229,230,231,232,91,233,234,235,236],"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"]