[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RHQEM5256TF1987Y9HCYG":3,"skill-same:01M71RHQEM5256TF1987Y9HCYG":117},{"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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M71RHQEM5256TF1987Y9HCYG","autospec-sweep",null,"Use when a project needs first-run autospec configuration, recurring spec-vs-reality sweeps, or continuous improvement across docs, tests, and code health.","berlinguyinca\u002Fautospec","berlinguyinca","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16364?v=4","01M71R7C0SWBG05FNHQE4XQ7Y3","Gert Wohlgemuth","01M71R7C1VY5K3Q715RNDDBVGQ",3,"MIT","https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"sweep","autospec sweep","autospec","configuration","docs","spec","run","first","health","across","needs","continuous improvement","code","when","use","tests","project","improvement","recurring","2026-11-10 13:02:02",false,"---\nname: autospec-sweep\ndescription: Use when a project needs first-run autospec configuration, recurring spec-vs-reality sweeps, or continuous improvement across docs, tests, and code health.\n---\n\n# autospec-sweep (harness-neutral)\n\nCreate and maintain the tracked project-level autospec configuration at\n`.autospec\u002Fautospec.yml`, then use it to run recurring sweeps that keep specs,\ndocumentation, tests, and code aligned with reality.\n\n\u003C!-- autospec-block:startup-self-update SKILL_NAME=autospec-sweep -->\n\n## Self-update mode\n\nIf the feature-request argument is exactly `update` after trimming whitespace and\nlowercasing, enter self-update mode and do not run a sweep:\n\n1. Detect whether `autospec-sweep` is installed in any harness.\n2. Run the canonical suite installer once with `--update`:\n   `curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fberlinguyinca\u002Fautospec\u002Fmain\u002Fbootstrap.sh | bash -s -- --skill all --harness all --update`\n3. Show a short before\u002Fafter summary and stop.\n\n## Invocation\n\n```bash\n\u002Fautospec-sweep init\n\u002Fautospec-sweep configure\n\u002Fautospec-sweep run\n```\n\n- `init` creates `.autospec\u002Fautospec.yml` on first use **and** verifies that\n  every supported harness (Claude Code, Codex CLI, OpenCode) is wired up\n  consistently — shared persistent memory at `docs\u002Fmemory\u002F`, a `Memory\n  inventory` section in `AGENTS.md`, a `CLAUDE.md` pointer if missing, and the\n  `~\u002F.claude\u002Fprojects\u002F\u003Cslug>\u002Fmemory` symlink resolving to `docs\u002Fmemory\u002F`.\n- `configure` reads current repo findings and edits the tracked config.\n- `run` executes the configured sweep and feeds resulting fixes back through\n  `autospec-review`, specs, issues, and `autospec-run`.\n\n## Harness detection\n\nResolve model tiers once at skill start:\n\n1. Claude Code: `TIER_A` = Opus + maximum thinking; `TIER_B` = Sonnet + medium.\n2. OpenCode: `TIER_A` = top task model + high reasoning; `TIER_B` = smaller task model + medium.\n3. Codex CLI: `TIER_A` = current top GPT + high reasoning; `TIER_B` = current spark\u002Fcost-optimized Codex + medium.\n\nIf `TIER_B` is unavailable, silently retry the same delegated work with\n`TIER_A` while preserving the task handoff.\n\n## Required capabilities & harness adapter\n\n| Capability | Claude Code | OpenCode | Codex CLI | Fallback if missing |\n|---|---|---|---|---|\n| Repo inspection | `Agent` Explore | read-only `task` | `rg`, `git`, `gh` | Inspect locally with bounded reads |\n| Foreground delegation | `Agent` | `task` | native subagent\u002FCLI | Do the synthesis in-thread |\n| Ask questions | `AskUserQuestion` | inline prompt | inline prompt | Ask one concise question |\n| Subagent model tier | Tier A\u002FB per harness detection | Tier A\u002FB per harness detection | Tier A\u002FB per harness detection | Fall back UP, never down |\n\u003C!-- autospec-block:harness-adapter-core -->\n\n## First-run config\n\nBefore any sweep work, check for `.autospec\u002Fautospec.yml`.\n\nIf it is missing:\n\n1. Run:\n   `bash \"${AUTOSPEC_SCRIPTS_DIR:-$HOME\u002F.autospec\u002Fscripts}\u002Fautospec-sweep-wizard.sh\" init`\n2. Ask only the wizard's small starter set unless repo findings require a\n   project-specific question:\n   - sweep profile, default `full`\n   - environment safety, default `strict_isolation`\n   - team personality, default `auto`\n   - competitor research, default `false`\n3. Commit `.autospec\u002Fautospec.yml` with the next autospec spec\u002Fconfig commit.\n   It is project source, not local runtime state.\n\nIf the config exists, read it first and treat it as the source of truth. Existing\n`.autospec\u002Ftest.yml` or `.autospec\u002Fclone.yml` files are compatibility inputs only;\ndo not make them the new source of truth.\n\n## Cross-harness setup verification (init mode)\n\n`init` always runs the harness-setup doctor after the wizard, regardless of\nwhether `.autospec\u002Fautospec.yml` already existed. The doctor is idempotent —\nre-running it on a fully-configured repo is a fast no-op:\n\n```bash\nbash \"${AUTOSPEC_SCRIPTS_DIR:-$HOME\u002F.autospec\u002Fscripts}\u002Fverify-harness-setup.sh\"\n```\n\nIt ensures all three supported harnesses see the same project guidance and the\nsame persistent memory:\n\n| Harness     | Entry file        | Memory source                                 |\n|-------------|-------------------|-----------------------------------------------|\n| Claude Code | `CLAUDE.md`       | `~\u002F.claude\u002Fprojects\u002F\u003Cslug>\u002Fmemory` → symlink → `docs\u002Fmemory\u002F` |\n| Codex CLI   | `AGENTS.md`       | `docs\u002Fmemory\u002F` (linked from AGENTS.md `## Memory inventory`) |\n| OpenCode    | `AGENTS.md`       | `docs\u002Fmemory\u002F` (linked from AGENTS.md `## Memory inventory`) |\n\nThe doctor delegates the memory migration + AGENTS.md inventory block to\n`auto-init-memory.sh`, then verifies five invariants:\n\n1. `docs\u002Fmemory\u002F` exists and contains a `MEMORY.md` index.\n2. `~\u002F.claude\u002Fprojects\u002F\u003Cslug>\u002Fmemory` is a symlink resolving to `docs\u002Fmemory\u002F`.\n3. `AGENTS.md` exists at the repo root.\n4. `AGENTS.md` contains a `## Memory inventory` section.\n5. `CLAUDE.md` exists at the repo root — created as a one-line pointer to\n   `AGENTS.md` if missing, so Claude Code converges on the same source of truth.\n\nRun `verify-harness-setup.sh --check` (read-only) as a doctor at any time; run\nwithout flags to apply fixes. Exit code is non-zero only when an unfixable\ninvariant fails.\n\n## Configure mode\n\nUse this mode when the user wants to modify sweep behavior or when the repo has\nchanged enough that the config is stale.\n\n1. Inspect tracked specs, `AGENTS.md`, package manifests, test commands, E2E\n   config, deployment docs, and existing `.autospec\u002F*` compatibility files.\n2. Compare findings with `.autospec\u002Fautospec.yml`.\n3. Ask the minimum project-specific questions needed to resolve missing values.\n4. Edit only the relevant config sections.\n5. If a config change contradicts a tracked spec, update the spec in the same\n   autospec design\u002Fspec PR before any implementation issue is filed.\n\n## Parallel area dispatch\n\nSweep runs fan out into 4 parallel area subagents per the AGENTS.md subagent\ndispatch decision matrix. Areas are defined under\n`skills\u002Fautospec-sweep\u002Fareas\u002F` and dispatched via\n`sweep-area-dispatch.sh`:\n\n1. `spec-vs-code-drift` — reuses `explore-research\u002Fspec-vs-code.sh`.\n2. `docs-drift` — reuses `dogfood-adapter-doc-drift.sh`, which invokes\n   `\u002Fautospec-doc --full` (full regen + repo-wide completeness audit via\n   `doc-orchestrator.mjs`) and surfaces missing parts as findings.\n3. `code-health` — reuses `explore-research\u002Fcodebase-signals.sh`.\n4. `dependency-health` — new `explore-research\u002Fdependency-health.sh`\n   researcher (also available to autospec-explore — extends the 6-researcher\n   set to 7).\n\nEach area subagent emits research-cycle JSON. The dispatcher aggregates into\n`.autospec\u002Fsweep\u002Farea-findings.json` (`schema: autospec-sweep.area-findings.v1`)\nwhich feeds the existing sweep report and `autospec-review`.\n\n```bash\nbash \"${AUTOSPEC_SCRIPTS_DIR:-$HOME\u002F.autospec\u002Fscripts}\u002Fsweep-area-dispatch.sh\"\n```\n\n## Sweep execution\n\n> **Model tier:** TIER_A for sweep synthesis and gap classification. Any fix\n> implementation created by downstream `autospec-run` uses that skill's Phase 4\n> Tier B\u002FTier A routing.\n\nStart with the executable runner:\n\n```bash\nbash \"${AUTOSPEC_SCRIPTS_DIR:-$HOME\u002F.autospec\u002Fscripts}\u002Fautospec-sweep-run.sh\" run\n```\n\nThe runner validates `.autospec\u002Fautospec.yml`, writes\n`.autospec\u002Fsweep\u002Flatest.json`, accepts `--gaps \u003Cjson>` for already-emitted gap\ncontracts, and executes the bundled `autospec-sweep-review.sh` by default. Set\n`AUTOSPEC_SWEEP_REVIEW_CMD=\"\u003Ccommand>\"` to replace the deterministic wrapper with\na harness-specific or richer review command.\n\nRun the sweep from current reality back to source artifacts:\n\n1. Read `.autospec\u002Fautospec.yml`.\n2. Run the enabled review surfaces: spec coverage, docs drift, test gaps, code\n   health, security footguns, clone\u002Ftest readiness, and implementation status.\n3. Emit concrete gaps with file paths, commands, and expected behavior.\n4. Update or create specs before creating code-fix issues when reality and specs\n   disagree.\n5. File bounded `auto-implement` issues for accepted gaps and hand them to\n   `autospec-run`.\n\n## Continuous improvement\n\nThe default sweep is not a one-time bug hunt. It continuously improves:\n\n- Documentation: keep user docs, API docs, runbooks, and generated docs in sync\n  with implemented behavior.\n- Documentation targets: treat `documentation.audiences[]` and\n  `documentation.scopes[]` in `.autospec\u002Fautospec.yml` as the source of truth\n  for deep docs. Emit separate gaps for missing target files or missing required\n  `autospec-doc-scope` markers so user, developer, operator, security, runbook,\n  API, and troubleshooting docs can be built as bounded reviewable work.\n- Tests: add missing regression, unit, integration, E2E, invariant, and negative\n  path coverage where the sweep finds weak confidence.\n- Code: reduce duplication, dead code, complexity, brittle boundaries, and\n  security-sensitive shortcuts in small reviewable issues.\n\nEvery sweep run must execute the configured full test commands. Do not treat\nreview-only sweeps as sufficient. If E2E or integration tests require the\nsoftware to be deployed or started first, run `project.findings.commands.deploy`\nbefore those tests. A failing deploy, unit, integration, or E2E command fails the\nsweep and must be fixed before filing success claims.\n\nPrefer small, reversible changes. File specs and issues for improvement work; do\nnot silently refactor broad surfaces inside the sweep itself.\n\n## Spec sync\n\nSpecs must stay synchronized with reality:\n\n- If code behavior is correct and the spec is stale, update the spec first.\n- If the spec is correct and code behavior is stale, file implementation issues.\n- If both are ambiguous, ask one project-specific question and record the answer\n  in the config or spec before proceeding.\n\n## Safety\n\nNever clone raw secrets or API keys. The config may store secret references,\nenvironment variable names, and allowlisted settings, but not secret values.\nProduction-like sweeps default to strict isolation. Scoped production access\nrequires explicit config, backup\u002Frestore, and the existing autospec-test safety\nrails.\n\n## Verification\n\nAfter changing config or sweep behavior, verify:\n\n```bash\nautospec validate\nbats tests\u002Funit\u002Ftest_autospec_sweep_config.bats\nbats tests\u002Funit\u002Ftest_autospec_sweep_run.bats\najv compile -s schemas\u002Fautospec-config.schema.json --spec=draft2020\n```\n\nReport changed config sections, generated questions, and any remaining unknowns.\n","# autospec-sweep (harness-neutral)\n\nCreate and maintain the tracked project-level autospec configuration at\n`.autospec\u002Fautospec.yml`, then use it to run recurring sweeps that keep specs,\ndocumentation, tests, and code aligned with reality.\n\n\u003C!-- autospec-block:startup-self-update SKILL_NAME=autospec-sweep -->\n\n## Self-update mode\n\nIf the feature-request argument is exactly `update` after trimming whitespace and\nlowercasing, enter self-update mode and do not run a sweep:\n\n1. Detect whether `autospec-sweep` is installed in any harness.\n2. Run the canonical suite installer once with `--update`:\n   `curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fberlinguyinca\u002Fautospec\u002Fmain\u002Fbootstrap.sh | bash -s -- --skill all --harness all --update`\n3. Show a short before\u002Fafter summary and stop.\n\n## Invocation\n\n```bash\n\u002Fautospec-sweep init\n\u002Fautospec-sweep configure\n\u002Fautospec-sweep run\n```\n\n- `init` creates `.autospec\u002Fautospec.yml` on first use **and** verifies that\n  every supported harness (Claude Code, Codex CLI, OpenCode) is wired up\n  consistently — shared persistent memory at `docs\u002Fmemory\u002F`, a `Memory\n  inventory` section in `AGENTS.md`, a `CLAUDE.md` pointer if missing, and the\n  `~\u002F.claude\u002Fprojects\u002F\u003Cslug>\u002Fmemory` symlink resolving to `docs\u002Fmemory\u002F`.\n- `configure` reads current repo findings and edits the tracked config.\n- `run` executes the configured sweep and feeds resulting fixes back through\n  `autospec-review`, specs, issues, and `autospec-run`.\n\n## Harness detection\n\nResolve model tiers once at skill start:\n\n1. Claude Code: `TIER_A` = Opus + maximum thinking; `TIER_B` = Sonnet + medium.\n2. OpenCode: `TIER_A` = top task model + high reasoning; `TIER_B` = smaller task model + medium.\n3. Codex CLI: `TIER_A` = current top GPT + high reasoning; `TIER_B` = current spark\u002Fcost-optimized Codex + medium.\n\nIf `TIER_B` is unavailable, silently retry the same delegated work with\n`TIER_A` while preserving the task handoff.\n\n## Required capabilities & harness adapter\n\n| Capability | Claude Code | OpenCode | Codex CLI | Fallback if missing |\n|---|---|---|---|---|\n| Repo inspection | `Agent` Explore | read-only `task` | `rg`, `git`, `gh` | Inspect locally with bounded reads |\n| Foreground delegation | `Agent` | `task` | native subagent\u002FCLI | Do the synthesis in-thread |\n| Ask questions | `AskUserQuestion` | inline prompt | inline prompt | Ask one concise question |\n| Subagent model tier | Tier A\u002FB per harness detection | Tier A\u002FB per harness detection | Tier A\u002FB per harness detection | Fall back UP, never down |\n\u003C!-- autospec-block:harness-adapter-core -->\n\n## First-run config\n\nBefore any sweep work, check for `.autospec\u002Fautospec.yml`.\n\nIf it is missing:\n\n1. Run:\n   `bash \"${AUTOSPEC_SCRIPTS_DIR:-$HOME\u002F.autospec\u002Fscripts}\u002Fautospec-sweep-wizard.sh\" init`\n2. Ask only the wizard's small starter set unless repo findings require a\n   project-specific question:\n   - sweep profile, default `full`\n   - environment safety, default `strict_isolation`\n   - team personality, default `auto`\n   - competitor research, default `false`\n3. Commit `.autospec\u002Fautospec.yml` with the next autospec spec\u002Fconfig commit.\n   It is project source, not local runtime state.\n\nIf the config exists, read it first and treat it as the source of truth. Existing\n`.autospec\u002Ftest.yml` or `.autospec\u002Fclone.yml` files are compatibility inputs only;\ndo not make them the new source of truth.\n\n## Cross-harness setup verification (init mode)\n\n`init` always runs the harness-setup doctor after the wizard, regardless of\nwhether `.autospec\u002Fautospec.yml` already existed. The doctor is idempotent —\nre-running it on a fully-configured repo is a fast no-op:\n\n```bash\nbash \"${AUTOSPEC_SCRIPTS_DIR:-$HOME\u002F.autospec\u002Fscripts}\u002Fverify-harness-setup.sh\"\n```\n\nIt ensures all three supported harnesses see the same project guidance and the\nsame persistent memory:\n\n| Harness     | Entry file        | Memory source                                 |\n|-------------|-------------------|-----------------------------------------------|\n| Claude Code | `CLAUDE.md`       | `~\u002F.claude\u002Fprojects\u002F\u003Cslug>\u002Fmemory` → symlink → `docs\u002Fmemory\u002F` |\n| Codex CLI   | `AGENTS.md`       | `docs\u002Fmemory\u002F` (linked from AGENTS.md `## Memory inventory`) |\n| OpenCode    | `AGENTS.md`       | `docs\u002Fmemory\u002F` (linked from AGENTS.md `## Memory inventory`) |\n\nThe doctor delegates the memory migration + AGENTS.md inventory block to\n`auto-init-memory.sh`, then verifies five invariants:\n\n1. `docs\u002Fmemory\u002F` exists and contains a `MEMORY.md` index.\n2. `~\u002F.claude\u002Fprojects\u002F\u003Cslug>\u002Fmemory` is a symlink resolving to `docs\u002Fmemory\u002F`.\n3. `AGENTS.md` exists at the repo root.\n4. `AGENTS.md` contains a `## Memory inventory` section.\n5. `CLAUDE.md` exists at the repo root — created as a one-line pointer to\n   `AGENTS.md` if missing, so Claude Code converges on the same source of truth.\n\nRun `verify-harness-setup.sh --check` (read-only) as a doctor at any time; run\nwithout flags to apply fixes. Exit code is non-zero only when an unfixable\ninvariant fails.\n\n## Configure mode\n\nUse this mode when the user wants to modify sweep behavior or when the repo has\nchanged enough that the config is stale.\n\n1. Inspect tracked specs, `AGENTS.md`, package manifests, test commands, E2E\n   config, deployment docs, and existing `.autospec\u002F*` compatibility files.\n2. Compare findings with `.autospec\u002Fautospec.yml`.\n3. Ask the minimum project-specific questions needed to resolve missing values.\n4. Edit only the relevant config sections.\n5. If a config change contradicts a tracked spec, update the spec in the same\n   autospec design\u002Fspec PR before any implementation issue is filed.\n\n## Parallel area dispatch\n\nSweep runs fan out into 4 parallel area subagents per the AGENTS.md subagent\ndispatch decision matrix. Areas are defined under\n`skills\u002Fautospec-sweep\u002Fareas\u002F` and dispatched via\n`sweep-area-dispatch.sh`:\n\n1. `spec-vs-code-drift` — reuses `explore-research\u002Fspec-vs-code.sh`.\n2. `docs-drift` — reuses `dogfood-adapter-doc-drift.sh`, which invokes\n   `\u002Fautospec-doc --full` (full regen + repo-wide completeness audit via\n   `doc-orchestrator.mjs`) and surfaces missing parts as findings.\n3. `code-health` — reuses `explore-research\u002Fcodebase-signals.sh`.\n4. `dependency-health` — new `explore-research\u002Fdependency-health.sh`\n   researcher (also available to autospec-explore — extends the 6-researcher\n   set to 7).\n\nEach area subagent emits research-cycle JSON. The dispatcher aggregates into\n`.autospec\u002Fsweep\u002Farea-findings.json` (`schema: autospec-sweep.area-findings.v1`)\nwhich feeds the existing sweep report and `autospec-review`.\n\n```bash\nbash \"${AUTOSPEC_SCRIPTS_DIR:-$HOME\u002F.autospec\u002Fscripts}\u002Fsweep-area-dispatch.sh\"\n```\n\n## Sweep execution\n\n> **Model tier:** TIER_A for sweep synthesis and gap classification. Any fix\n> implementation created by downstream `autospec-run` uses that skill's Phase 4\n> Tier B\u002FTier A routing.\n\nStart with the executable runner:\n\n```bash\nbash \"${AUTOSPEC_SCRIPTS_DIR:-$HOME\u002F.autospec\u002Fscripts}\u002Fautospec-sweep-run.sh\" run\n```\n\nThe runner validates `.autospec\u002Fautospec.yml`, writes\n`.autospec\u002Fsweep\u002Flatest.json`, accepts `--gaps \u003Cjson>` for already-emitted gap\ncontracts, and executes the bundled `autospec-sweep-review.sh` by default. Set\n`AUTOSPEC_SWEEP_REVIEW_CMD=\"\u003Ccommand>\"` to replace the deterministic wrapper with\na harness-specific or richer review command.\n\nRun the sweep from current reality back to source artifacts:\n\n1. Read `.autospec\u002Fautospec.yml`.\n2. Run the enabled review surfaces: spec coverage, docs drift, test gaps, code\n   health, security footguns, clone\u002Ftest readiness, and implementation status.\n3. Emit concrete gaps with file paths, commands, and expected behavior.\n4. Update or create specs before creating code-fix issues when reality and specs\n   disagree.\n5. File bounded `auto-implement` issues for accepted gaps and hand them to\n   `autospec-run`.\n\n## Continuous improvement\n\nThe default sweep is not a one-time bug hunt. It continuously improves:\n\n- Documentation: keep user docs, API docs, runbooks, and generated docs in sync\n  with implemented behavior.\n- Documentation targets: treat `documentation.audiences[]` and\n  `documentation.scopes[]` in `.autospec\u002Fautospec.yml` as the source of truth\n  for deep docs. Emit separate gaps for missing target files or missing required\n  `autospec-doc-scope` markers so user, developer, operator, security, runbook,\n  API, and troubleshooting docs can be built as bounded reviewable work.\n- Tests: add missing regression, unit, integration, E2E, invariant, and negative\n  path coverage where the sweep finds weak confidence.\n- Code: reduce duplication, dead code, complexity, brittle boundaries, and\n  security-sensitive shortcuts in small reviewable issues.\n\nEvery sweep run must execute the configured full test commands. Do not treat\nreview-only sweeps as sufficient. If E2E or integration tests require the\nsoftware to be deployed or started first, run `project.findings.commands.deploy`\nbefore those tests. A failing deploy, unit, integration, or E2E command fails the\nsweep and must be fixed before filing success claims.\n\nPrefer small, reversible changes. File specs and issues for improvement work; do\nnot silently refactor broad surfaces inside the sweep itself.\n\n## Spec sync\n\nSpecs must stay synchronized with reality:\n\n- If code behavior is correct and the spec is stale, update the spec first.\n- If the spec is correct and code behavior is stale, file implementation issues.\n- If both are ambiguous, ask one project-specific question and record the answer\n  in the config or spec before proceeding.\n\n## Safety\n\nNever clone raw secrets or API keys. The config may store secret references,\nenvironment variable names, and allowlisted settings, but not secret values.\nProduction-like sweeps default to strict isolation. Scoped production access\nrequires explicit config, backup\u002Frestore, and the existing autospec-test safety\nrails.\n\n## Verification\n\nAfter changing config or sweep behavior, verify:\n\n```bash\nautospec validate\nbats tests\u002Funit\u002Ftest_autospec_sweep_config.bats\nbats tests\u002Funit\u002Ftest_autospec_sweep_run.bats\najv compile -s schemas\u002Fautospec-config.schema.json --spec=draft2020\n```\n\nReport changed config sections, generated questions, and any remaining unknowns.\n",{"name":5,"description":7},"main","9e7f04357ff46ab731d4f56a4ac5ca5449c13bb0","skills\u002Fautospec-sweep",1,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec","https:\u002F\u002Fgithub.com\u002Fberlinguyinca","Love to lead, code, cook and contribute to open source and believe that you can learn anything you set your mind too.\r\n","2026-11-11 07:09:35",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add berlinguyinca\u002Fautospec --skill autospec-sweep",{"tool":57,"command":58},"bunx","bunx skills add berlinguyinca\u002Fautospec --skill autospec-sweep",{"tool":60,"command":61},"pnpm","pnpm dlx skills add berlinguyinca\u002Fautospec --skill autospec-sweep","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002FSKILL.md",true,[65,71,75,79,83,87,93,97,101,105,109,113],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"areas\u002Fcode-health.md","REFERENCE","参考文档",1771,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002Fareas\u002Fcode-health.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"areas\u002Fdependency-health.md",839,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002Fareas\u002Fdependency-health.md",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":77,"sourceHtmlUrl":78},"areas\u002Fdocs-drift.md",914,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002Fareas\u002Fdocs-drift.md",{"path":80,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":81,"sourceHtmlUrl":82},"areas\u002Fspec-vs-code-drift.md",662,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002Fareas\u002Fspec-vs-code-drift.md",{"path":84,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":85,"sourceHtmlUrl":86},"codex\u002Fprompt.md",10255,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002Fcodex\u002Fprompt.md",{"path":88,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":91,"sourceHtmlUrl":92},"install.sh","SCRIPT","脚本",6807,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002Finstall.sh",{"path":94,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":95,"sourceHtmlUrl":96},"opencode\u002Fagent.md",10467,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002Fopencode\u002Fagent.md",{"path":98,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":99,"sourceHtmlUrl":100},"README.md",1718,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002FREADME.md",{"path":102,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":103,"sourceHtmlUrl":104},"scripts\u002Freview.sh",8533,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002Fscripts\u002Freview.sh",{"path":106,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":107,"sourceHtmlUrl":108},"scripts\u002Frun.sh",9725,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002Fscripts\u002Frun.sh",{"path":110,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":111,"sourceHtmlUrl":112},"scripts\u002Fwizard.sh",11718,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002Fscripts\u002Fwizard.sh",{"path":114,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":115,"sourceHtmlUrl":116},"uninstall.sh",2621,"https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-sweep\u002Funinstall.sh",[118,131,140,149,174,197],{"skillNo":119,"name":120,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":128,"publishedAt":38},"01M71RJHYMKPTC9AAPXWQ6F4RT","trio-pass-skill","https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Flockstep-trio-pass\u002FSKILL.md",[123],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[129,130],"trio","trio pass skill",{"skillNo":132,"name":133,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":38},"01M71RJFBQ1KAF9XM3T3Y4VMSK","duo-pass-skill","https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Flockstep-duo-pass\u002FSKILL.md",[136],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},[138,139],"duo pass skill","duo",{"skillNo":141,"name":142,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":146,"publishedAt":38},"01M71RJDT1TB3P9TRWR6A534FB","duo-divergence-skill","https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Flockstep-duo-divergence\u002FSKILL.md",[145],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},[147,139,148],"duo divergence skill","divergence",{"skillNo":150,"name":21,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":157,"publishedAt":38},"01M71RJAC4NNEQSYBDSY3NZS73","Use when the user wants to ship a feature end-to-end across multiple commits — bootstraps repo if missing, brainstorms a design spec, decomposes into linked GitHub issues, or splits an existing spec into issues, then runs an autonomous implementation loop with auto-merge.","https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec\u002FSKILL.md",[154],{"categoryNo":155,"categoryName":156,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000015","视觉设计",[21,158,159,160,161,162,163,164,32,28,165,166,167,168,169,170,171,172,173,33],"ship a feature","end","issues","design","autonomous","auto","loop","design spec","merge","ship","implementation loop","github issues","feature","commits","repo","missing",{"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":38},"01M71RJ4F9HT8PT26CKNM9XE1M","autospec-upgrade","Use when the user wants to upgrade an Angular, Next.js, or React project to the latest official versions safely — by locking observable behavior before touching versions, upgrading one major at a time with official codemods, and gating completion on mutation score rather than coverage theater.","https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-upgrade\u002FSKILL.md",[],[181,21,182,183,184,185,35,186,187,32,188,189,190,191,33,192,193,194,195,196],"autospec upgrade","upgrade","mutation","coverage","official","time","gating","angular","react","next","at","Next.js","one","with","behavior","latest",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":208,"publishedAt":38},"01M71RJ28FJ4PM6DXHB7T5CF8H","autospec-ui-audit","Use when a React Router application needs a deterministic whole-site route inventory before UI, UX, navigation, or evidence auditing begins.","https:\u002F\u002Fgithub.com\u002Fberlinguyinca\u002Fautospec\u002Fblob\u002Fmain\u002Fskills\u002Fautospec-ui-audit\u002FSKILL.md",[203],{"categoryNo":204,"categoryName":205,"taxonomyType":206,"taxonomyTypeDesc":207},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[209,21,210,211,212,33,213,214,215,216,217,218,219,220,221,189,29,32,222],"ui audit","audit","autospec ui audit","ui","inventory","evidence","deterministic","route","ux","site","react router","navigation","application","router"]