← ClaudeAtlas

setup_codeopslisted

Sets up the CodeOps nested codeops/ layout in the current git repo — scaffolds a fresh skeleton or auto-migrates an existing flat-layout repo (requirements/ + plans/) into it. Use when the user says "setup_codeops", "/setup_codeops", "set up codeops", "initialize codeops", "migrate to the nested layout", "convert my plans/requirements to codeops/", or "scaffold the codeops structure". Detects repo state and dispatches: a marker (codeops/.codeops.yml) already present → no-op status report; a flat layout → migration (deterministic preview via scripts/codeops-migrate.sh, one confirmation, then git mv); neither → minimal fresh scaffold. Supports --dry-run (preview only) and --yes (apply without the prompt). Migration is git-mv-only, refuses a dirty tree, rejects path-traversal slugs, and is idempotent. setup_codeops is the SOLE writer of the layout marker.
blendsdk/claude-codeops · ★ 4 · AI & Automation · score 75
Install: claude install-skill blendsdk/claude-codeops
# CodeOps Layout Setup (`setup_codeops`) > **CodeOps Skills Version**: 3.20.0 Set up the CodeOps **nested `codeops/` layout** for the git repo the user is currently in. Run as `/codeops:setup_codeops` or the typeable alias `/setup_codeops`. This is the one skill that **creates and owns the layout marker** `codeops/.codeops.yml`; every other skill only reads it. Resolve all paths and the marker schema via **[_shared/layout-convention.md](../../_shared/layout-convention.md)** — it is the single source of truth for the layout. Do not re-encode paths here. ## Scope - **Per-repo only.** One git repo at a time; no cross-repo or portfolio-of-projects work. - This skill sets up the *structure*. It never authors requirements, plans, or roadmaps — that is `make_requirements` / `make_plan` / `roadmap`, which then resolve paths via the convention doc. ## Dispatch — detect repo state, then branch Run inside the repo and detect, in this order: ``` 1. codeops/.codeops.yml present → already set up. NO-OP for the layout: print a short status report (layout = nested, where things live). BUT if the marker is **missing `integrationBranch`**, BACKFILL it — add that one line (resolved to the repo's integration branch: `origin/HEAD`, else the current branch, else `main`/`master`) without touching any other key; if it is already present, leave it. Never re-scaffold or re-migrate. (Idempotent — a marker that is present and complete → no ch