[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71SPVN5P7HJMSXD5MTB6491":3,"skill-same:01M71SPVN5P7HJMSXD5MTB6491":95},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M71SPVN5P7HJMSXD5MTB6491","env-provisioning",null,"Provision a fast, reproducible dev environment for QA or standalone use — healthcheck-gated boot, reuse\u002Fteardown rules, host-mode fallback. Protocol for \u002Forc:env, \u002Forc:qa Phase 4, \u002Forc:flow Phase 6, and the orc-env-provisioner agent.","HigorAlves\u002Forc","HigorAlves","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F11262976?v=4","01M71S79EZEMHZ8PQSV0XQJHYY","Higor Alves","01M71S79FKKTCHCN1EDR8DSTWQ",7,"MIT","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fenv-provisioning\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],"env","provisioning","env provisioning","dev environment","boot","Rules","use","dev","reuse","environment","Reproducible","for","fallback","flow","phase","host","qa","mode","teardown","standalone","2026-11-10 13:02:02",false,"---\nname: env-provisioning\ndescription: \"Provision a fast, reproducible dev environment for QA or standalone use — healthcheck-gated boot, reuse\u002Fteardown rules, host-mode fallback. Protocol for \u002Forc:env, \u002Forc:qa Phase 4, \u002Forc:flow Phase 6, and the orc-env-provisioner agent.\"\n---\n\n# Environment Provisioning\n\nStand up the app (and its backing services) so QA — or the user — can run against a real, reproducible environment. Honors the project's own setup guidelines when they exist; generates the minimum when they don't. Speed is a design goal: the second boot on a branch takes seconds, not minutes.\n\n**Announce at start:** \"I'm using the env-provisioning skill because this task needs the app running.\"\n\nDeep Docker knowledge (multi-stage builds, hardening, compose patterns) lives in `orc:docker-best-practices` — reference it, never duplicate it. This skill owns the *protocol*: detect → provision → prove → record.\n\n## Detection ladder\n\nEvaluate top-down in the **worktree** (the code under test), first hit wins. Setup guidelines (README\u002FCONTRIBUTING \"Setup\"\u002F\"Getting started\" sections, `Makefile`, `.env.example`) are consulted at EVERY rung — they supply env values, seed\u002Fmigrate steps, ports, and the service list; they never override a higher rung's boot mechanism. Rung specifics (override mechanics, devcontainer mapping, dev-stage preference, the hybrid rationale) + inference tables: `references\u002Fdetection.md`.\n\n1. **Existing compose** — `compose.yaml|compose.yml|docker-compose.yml|docker-compose.yaml` (+ overrides, `dev` profiles). Use as-is; NEVER edit it — extra needs go in an orc-owned override.\n2. **Devcontainer** — `.devcontainer\u002Fdevcontainer.json` (or root variant). `dockerComposeFile` → rung 1; else wrap its image\u002FDockerfile in a generated compose.\n3. **Dockerfile** — `Dockerfile` \u002F `Dockerfile.dev`. Generate a compose: app builds from it, plus inferred backing services.\n4. **Nothing** — generate from analysis (`references\u002Fgeneration.md`). Default **hybrid**: backing services in containers, app on host; `--containerize-app` forces an app container.\n\nAll generated files land in `.orc\u002F\u003Cbranch>\u002Ffiles\u002Fdocker\u002F` — never in the repo. Committing a real compose file into the project happens only on explicit user request, via the normal plan → PR path.\n\n## Provisioning protocol\n\n0. **Attach first.** Run `orc-docker-env is-ready \u003Cstate-file>`. `ready` → verify line, set `reused: true`, refresh `lastVerifiedAt`, STOP — this is the sub-10-second path; skipping it throws away the main speed lever. `--fresh` bypasses (down + re-provision).\n1. **Probe Docker.** `orc-docker-env probe`. Anything but `ok` → host-mode fallback (below). Never hard-block QA on a missing daemon.\n2. **Detect** via the ladder; record the rung in `detectionRung`.\n3. **Reconcile guidelines.** Env values from `.env.example` → `env.orc` with dev-safe defaults (never invent secrets — placeholder + surface); seed\u002Fmigrate commands run as one-shots AFTER healthy (destructive ones gate via `AskUserQuestion`); the app's port\u002FURL.\n4. **Generate** (rungs 2–4, workspace wrapper) into `.orc\u002F\u003Cbranch>\u002Ffiles\u002Fdocker\u002F`. Every generated service gets a healthcheck. Validate with `docker compose config` before boot; save the rendered output as evidence.\n5. **Port pre-flight.** `lsof -i :\u003Cport>` per host port. Same-project occupancy → reuse. Foreign occupancy → gate: remap (generated files only, via override) \u002F stop the other env \u002F abort.\n6. **Boot.** `docker compose -p \u003Cproject> -f \u003Cfiles…> up -d --wait --wait-timeout 120`. `--build` only when `buildInputsHash` (Dockerfile + lockfile hash) changed or `--rebuild` passed.\n7. **Probe readiness** beyond compose health: `curl -sf \u003CappUrl>` (retry ≤ 30s) and each HTTP endpoint in `serviceEndpoints`. Log every probe.\n8. **Capture evidence** to `.orc\u002F\u003Cbranch>\u002Ffiles\u002Fenv\u002F`: `compose.rendered.yaml`, `ps.json`, `readiness.txt`, `boot.log`, `env-report.md` (narrative: rung, found vs generated, boot seconds, reuse flag).\n9. **Write state** — `docker-env-state.json` (schema below), append `docker_env_status: \u003Cstatus> (…)` to `checkpoint.md`, one line to `progress.md`.\n10. **Report**: state path, appUrl + endpoints, boot seconds, reused flag, verdict `ready|fallback|failed`.\n\n## State contract — `docker-env-state.json`\n\nLives at `.orc\u002F\u003Cbranch>\u002Ffiles\u002Fdocker-env-state.json` (workspace-level when context=workspace; per-repo otherwise). `status` enum: `provisioning|ready|partial|failed|fallback|down`. Read [STATE-SCHEMA.md](references\u002FSTATE-SCHEMA.md) when writing the file (step 9) or reading it: the full schema, workspace additions, and the host-fallback shape.\n\n## Speed levers\n\n| MUST | Why |\n|------|-----|\n| Attach before boot (`orc-docker-env is-ready`) | The whole point — seconds, not minutes |\n| `up -d --wait --wait-timeout \u003CN=120>` | Healthcheck-gated readiness, no sleep-and-hope |\n| Named volumes keyed by project (db data; `node_modules` in full mode) | Survive `down`; second boot near-instant |\n| Stable project name (`orc-\u003Cname>-\u003Cbranch>`) | Layer\u002Fvolume\u002Fnetwork reuse + orphan-sweep key |\n| Hash-gated `--build` (`buildInputsHash`) | Rebuild only when Dockerfile\u002Flockfile changed |\n| Port pre-flight via `lsof` | Fail at gate, not mid-boot |\n\nMAY: `docker compose watch` (only when the project's compose declares `develop.watch`), `--profile dev` selection, parallel `docker compose pull` pre-warm.\n\n## Workspace mode\n\nOne compose project per workspace branch (`orc-\u003Cws>-\u003Cbranch>`), all services on one network. Read [WORKSPACE.md](references\u002FWORKSPACE.md) only when context is `workspace`: the `include:` wrapper, the per-repo fallback, dependency order, and the QA dispatch inputs.\n\n## Reuse & teardown\n\nThe environment **stays up between QA runs on a branch** — that is the speed win. Teardown owners: `\u002Forc:cleanup` (adds `docker compose -p \u003Cproject> down` to its destructive preview; volumes kept unless `--down-volumes`) and `\u002Forc:flow` Phase 9. Standalone: `\u002Forc:env down`. Orphans (`orc-*` compose projects with no registered session — `orc-docker-env orphans`) surface in previews, never auto-removed.\n\n## Iron rule\n\n**No \"environment ready\" claim without healthcheck evidence.** `status: ready` requires `env\u002Fps.json` showing every service running\u002Fhealthy AND a successful appUrl probe in `env\u002Freadiness.txt`. Anything less is `partial`\u002F`failed`:\n\n```markdown\n> **🛑 Blocked — environment not ready**\n>\n> \u003Cservice>: \u003Cstate> after \u003CN>s. Last log lines in env\u002Fboot.log. No QA against an unproven environment.\n```\n\n## Fallback — never hard-block QA\n\nAny failure on the probe ladder (docker installed → daemon up → compose v2 → containerizable) means **host-mode fallback**: the provisioner still owns the boot, still writes the state file and readiness evidence, and QA proceeds against the fallback appUrl. Read [FALLBACK.md](references\u002FFALLBACK.md) when step 1 returns anything but `ok`: the ladder, the Caution callout, and the pointers into `orc:docker-best-practices`.\n\n","# Environment Provisioning\n\nStand up the app (and its backing services) so QA — or the user — can run against a real, reproducible environment. Honors the project's own setup guidelines when they exist; generates the minimum when they don't. Speed is a design goal: the second boot on a branch takes seconds, not minutes.\n\n**Announce at start:** \"I'm using the env-provisioning skill because this task needs the app running.\"\n\nDeep Docker knowledge (multi-stage builds, hardening, compose patterns) lives in `orc:docker-best-practices` — reference it, never duplicate it. This skill owns the *protocol*: detect → provision → prove → record.\n\n## Detection ladder\n\nEvaluate top-down in the **worktree** (the code under test), first hit wins. Setup guidelines (README\u002FCONTRIBUTING \"Setup\"\u002F\"Getting started\" sections, `Makefile`, `.env.example`) are consulted at EVERY rung — they supply env values, seed\u002Fmigrate steps, ports, and the service list; they never override a higher rung's boot mechanism. Rung specifics (override mechanics, devcontainer mapping, dev-stage preference, the hybrid rationale) + inference tables: `references\u002Fdetection.md`.\n\n1. **Existing compose** — `compose.yaml|compose.yml|docker-compose.yml|docker-compose.yaml` (+ overrides, `dev` profiles). Use as-is; NEVER edit it — extra needs go in an orc-owned override.\n2. **Devcontainer** — `.devcontainer\u002Fdevcontainer.json` (or root variant). `dockerComposeFile` → rung 1; else wrap its image\u002FDockerfile in a generated compose.\n3. **Dockerfile** — `Dockerfile` \u002F `Dockerfile.dev`. Generate a compose: app builds from it, plus inferred backing services.\n4. **Nothing** — generate from analysis (`references\u002Fgeneration.md`). Default **hybrid**: backing services in containers, app on host; `--containerize-app` forces an app container.\n\nAll generated files land in `.orc\u002F\u003Cbranch>\u002Ffiles\u002Fdocker\u002F` — never in the repo. Committing a real compose file into the project happens only on explicit user request, via the normal plan → PR path.\n\n## Provisioning protocol\n\n0. **Attach first.** Run `orc-docker-env is-ready \u003Cstate-file>`. `ready` → verify line, set `reused: true`, refresh `lastVerifiedAt`, STOP — this is the sub-10-second path; skipping it throws away the main speed lever. `--fresh` bypasses (down + re-provision).\n1. **Probe Docker.** `orc-docker-env probe`. Anything but `ok` → host-mode fallback (below). Never hard-block QA on a missing daemon.\n2. **Detect** via the ladder; record the rung in `detectionRung`.\n3. **Reconcile guidelines.** Env values from `.env.example` → `env.orc` with dev-safe defaults (never invent secrets — placeholder + surface); seed\u002Fmigrate commands run as one-shots AFTER healthy (destructive ones gate via `AskUserQuestion`); the app's port\u002FURL.\n4. **Generate** (rungs 2–4, workspace wrapper) into `.orc\u002F\u003Cbranch>\u002Ffiles\u002Fdocker\u002F`. Every generated service gets a healthcheck. Validate with `docker compose config` before boot; save the rendered output as evidence.\n5. **Port pre-flight.** `lsof -i :\u003Cport>` per host port. Same-project occupancy → reuse. Foreign occupancy → gate: remap (generated files only, via override) \u002F stop the other env \u002F abort.\n6. **Boot.** `docker compose -p \u003Cproject> -f \u003Cfiles…> up -d --wait --wait-timeout 120`. `--build` only when `buildInputsHash` (Dockerfile + lockfile hash) changed or `--rebuild` passed.\n7. **Probe readiness** beyond compose health: `curl -sf \u003CappUrl>` (retry ≤ 30s) and each HTTP endpoint in `serviceEndpoints`. Log every probe.\n8. **Capture evidence** to `.orc\u002F\u003Cbranch>\u002Ffiles\u002Fenv\u002F`: `compose.rendered.yaml`, `ps.json`, `readiness.txt`, `boot.log`, `env-report.md` (narrative: rung, found vs generated, boot seconds, reuse flag).\n9. **Write state** — `docker-env-state.json` (schema below), append `docker_env_status: \u003Cstatus> (…)` to `checkpoint.md`, one line to `progress.md`.\n10. **Report**: state path, appUrl + endpoints, boot seconds, reused flag, verdict `ready|fallback|failed`.\n\n## State contract — `docker-env-state.json`\n\nLives at `.orc\u002F\u003Cbranch>\u002Ffiles\u002Fdocker-env-state.json` (workspace-level when context=workspace; per-repo otherwise). `status` enum: `provisioning|ready|partial|failed|fallback|down`. Read [STATE-SCHEMA.md](references\u002FSTATE-SCHEMA.md) when writing the file (step 9) or reading it: the full schema, workspace additions, and the host-fallback shape.\n\n## Speed levers\n\n| MUST | Why |\n|------|-----|\n| Attach before boot (`orc-docker-env is-ready`) | The whole point — seconds, not minutes |\n| `up -d --wait --wait-timeout \u003CN=120>` | Healthcheck-gated readiness, no sleep-and-hope |\n| Named volumes keyed by project (db data; `node_modules` in full mode) | Survive `down`; second boot near-instant |\n| Stable project name (`orc-\u003Cname>-\u003Cbranch>`) | Layer\u002Fvolume\u002Fnetwork reuse + orphan-sweep key |\n| Hash-gated `--build` (`buildInputsHash`) | Rebuild only when Dockerfile\u002Flockfile changed |\n| Port pre-flight via `lsof` | Fail at gate, not mid-boot |\n\nMAY: `docker compose watch` (only when the project's compose declares `develop.watch`), `--profile dev` selection, parallel `docker compose pull` pre-warm.\n\n## Workspace mode\n\nOne compose project per workspace branch (`orc-\u003Cws>-\u003Cbranch>`), all services on one network. Read [WORKSPACE.md](references\u002FWORKSPACE.md) only when context is `workspace`: the `include:` wrapper, the per-repo fallback, dependency order, and the QA dispatch inputs.\n\n## Reuse & teardown\n\nThe environment **stays up between QA runs on a branch** — that is the speed win. Teardown owners: `\u002Forc:cleanup` (adds `docker compose -p \u003Cproject> down` to its destructive preview; volumes kept unless `--down-volumes`) and `\u002Forc:flow` Phase 9. Standalone: `\u002Forc:env down`. Orphans (`orc-*` compose projects with no registered session — `orc-docker-env orphans`) surface in previews, never auto-removed.\n\n## Iron rule\n\n**No \"environment ready\" claim without healthcheck evidence.** `status: ready` requires `env\u002Fps.json` showing every service running\u002Fhealthy AND a successful appUrl probe in `env\u002Freadiness.txt`. Anything less is `partial`\u002F`failed`:\n\n```markdown\n> **🛑 Blocked — environment not ready**\n>\n> \u003Cservice>: \u003Cstate> after \u003CN>s. Last log lines in env\u002Fboot.log. No QA against an unproven environment.\n```\n\n## Fallback — never hard-block QA\n\nAny failure on the probe ladder (docker installed → daemon up → compose v2 → containerizable) means **host-mode fallback**: the provisioner still owns the boot, still writes the state file and readiness evidence, and QA proceeds against the fallback appUrl. Read [FALLBACK.md](references\u002FFALLBACK.md) when step 1 returns anything but `ok`: the ladder, the Caution callout, and the pointers into `orc:docker-best-practices`.\n\n",{"name":5,"description":7},"main","7522fd7266944e30052204c2f6df287d8b5516be","orc\u002Fskills\u002Fenv-provisioning",0,"https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc","https:\u002F\u002Forc.novacstack.com\u002F","https:\u002F\u002Fgithub.com\u002FHigorAlves","higoralves.dev","Software Engineering","2026-11-07 07:26:38",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add HigorAlves\u002Forc --skill env-provisioning",{"tool":65,"command":66},"bunx","bunx skills add HigorAlves\u002Forc --skill env-provisioning",{"tool":68,"command":69},"pnpm","pnpm dlx skills add HigorAlves\u002Forc --skill env-provisioning","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fenv-provisioning\u002FSKILL.md",true,[73,79,83,87,91],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fdetection.md","REFERENCE","参考文档",5244,"https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fenv-provisioning\u002Freferences\u002Fdetection.md",{"path":80,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002FFALLBACK.md",1600,"https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fenv-provisioning\u002Freferences\u002FFALLBACK.md",{"path":84,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fgeneration.md",4472,"https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fenv-provisioning\u002Freferences\u002Fgeneration.md",{"path":88,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002FSTATE-SCHEMA.md",1785,"https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fenv-provisioning\u002Freferences\u002FSTATE-SCHEMA.md",{"path":92,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002FWORKSPACE.md",1042,"https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fenv-provisioning\u002Freferences\u002FWORKSPACE.md",[96,132,156,176,198,218],{"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":113,"publishedAt":44},"01M71SW40F9TAAEDKBYYBCM814","writing-plans","Write a comprehensive implementation plan of bite-sized TDD tasks that an engineer with zero codebase context could execute — exact files, code, tests, and verification steps","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fwriting-plans\u002FSKILL.md",[102,105,110],{"categoryNo":103,"categoryName":104,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":111,"categoryName":112,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000036","内容创作者",[114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,35,131,30],"writing","writing plans","plans","engineer","superpowers","implementation plan","files","when","you","code","tasks","verification","plan","write","steps","context","ZeRO","tests",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":141,"publishedAt":44},"01M71SW15KHE4MHJW9NEXV65X2","writing-for-agents","orc's doctrine layer for writing any document an agent consumes — skills, AGENTS.md\u002FCLAUDE.md, reference docs","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[138,139,140],{"categoryNo":103,"categoryName":104,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":111,"categoryName":112,"taxonomyType":108,"taxonomyTypeDesc":109},[142,114,35,143,121,144,145,146,147,148,149,150,30,151,152,153,154,155],"writing for agents","matt pocock","inline","tuning","a skill","layer","doctrine","push","editing","document","github","https","reference","docs",{"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":6,"sourceHtmlUrl":160,"categories":161,"keywords":163,"publishedAt":44},"01M71SVYQKXT743HHHWGHT3G13","workspace-mode","Use when cwd is a parent dir holding multiple sibling git repos — defines repo auto-detection, --repos\u002F--repo\u002F--all-repos\u002F--this-repo precedence, per-repo dispatch, and linked-PR mechanics.","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fworkspace-mode\u002FSKILL.md",[162],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[164,41,165,166,167,121,168,169,170,171,30,172,173,174,175],"workspace mode","workspace","mechanics","auto","repos","git","pr","repo","dispatch","auto-detection","detection","parent",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":183,"publishedAt":44},"01M71SVVP3BXS06G9395P2K0RH","wizard","Generate an interactive bash wizard walking a human through work only they can perform — credentials, secrets, one-off migrations","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fwizard\u002FSKILL.md",[182],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[178,184,185,186,187,143,121,188,189,190,191,192,193,128,194,195,35,30,196,197],"condition","never","provisioning infrastructure","only","Bash","work","credentials","generate","human","secrets","infrastructure","do","one","interactive",{"skillNo":199,"name":200,"nameZh":6,"description":201,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":202,"categories":203,"keywords":204,"publishedAt":44},"01M71SVT4AR6NKAM5B077E7QSJ","wait-what","Stop and re-pitch — the last message did not land; say it again simply, in the project's own vocabulary.","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[205,206,207,208,209,143,210,211,212,213,152,153,214,215,216,217],"wait what","wait","project","re","true","pitch","last","say","message","land","it","stop","vocabulary",{"skillNo":219,"name":220,"nameZh":6,"description":221,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":222,"categories":223,"keywords":228,"publishedAt":44},"01M71SVQVYRA9QBQ6G8MWR8G6F","vitest","Vitest fast unit testing framework powered by Vite with Jest-compatible API","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fvitest\u002FSKILL.md",[224,227],{"categoryNo":225,"categoryName":226,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},[220,229,230,231,232,233,114,121,234,235,236,237,238,239,240,241,242,243,131,31],"coverage","unit","testing","testing framework","generated","api","jest","2026","at","scripts","unit testing","antfu","framework","vite","mocking"]