agent-environment-retr…
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use…
Use when the user wants a clean Xcode rebuild by deleting DerivedData and build artifacts. Do not use for diagnosing a specific build error: use ios-build-fix.
Claude Code
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill ios-build-cleanup --agent claude-code
Codex
$ npx skills add OutlineDriven/odin-claude-plugin --skill ios-build-cleanup -a codex -y
Cursor
$ npx skills add OutlineDriven/odin-claude-plugin --skill ios-build-cleanup -a cursor -y
Gemini CLI
$ npx skills add OutlineDriven/odin-claude-plugin --skill ios-build-cleanup -a gemini-cli -y
GitHub Copilot
$ npx skills add OutlineDriven/odin-claude-plugin --skill ios-build-cleanup -a github-copilot -y
OpenCode
$ npx skills add OutlineDriven/odin-claude-plugin --skill ios-build-cleanup -a opencode -y
Windsurf
$ npx skills add OutlineDriven/odin-claude-plugin --skill ios-build-cleanup -a windsurf -y
name: ios-build-cleanup description: 'Use when the user wants a clean Xcode rebuild by deleting DerivedData and build artifacts. Do not use for diagnosing a specific build error: use ios-build-fix.' disable-model-invocation: true
| Field | Bound contract | |---|---| | Trigger | The user runs /ios-build-cleanup. | | Authority | Human-gated: requires explicit human invocation and previews the target and consequence before any irreversible deletion. The model never invokes it autonomously. | | Side effect | Local deletion of DerivedData and build artifacts only. These artifacts are untracked and regenerable by a rebuild. No source, VCS, credential, or remote mutation. | | Done | A clean build state is restored: DerivedData and project build artifacts are removed and the next build starts from a clean cache. |
1. Resolve the DerivedData directory. Default to `~/Library/Developer/Xcode/DerivedData`. If the user supplies a path, use it. 2. Resolve the deletion targets. Within the project root, resolve project build artifacts: `.build`, `build/`, and `*.xcodeproj`/`*.xcworkspace` build outputs. Under the DerivedData directory, identify this project's entries by Xcode's DerivedData naming rule: each entry is named `<projectName>-<hash>`, where `<projectName>` is the basename of the `.xcodeproj` or `.xcworkspace` file with its extension removed and spaces replaced by the underscore character, and `<hash>` is Xcode's digest of that file's absolute path (a 28-character lowercase alphabetic digest of the NFD-normalized path). Apple does not document this scheme publicly; it is reproduced from Xcode's behavior by `bitrise-io/go-xcode` `xcodecache/derived_data_path.go` (`xcodeProjectDerivedDataPath` + `xcodeDerivedDataHash`, MD5 of the NFD path rendered as 28 base-26 letters). Match directories whose name is `<projectName>-` followed by the hash, anchoring on the exact project name and the dash. Do not match on a bare project-name prefix: a bare prefix over-matches sibling projects whose names share it (a prefix of `MyApp` also catches `MyAppTests-<hash>`), and deletion is irreversible. When the DerivedData path is the shared default, match only this project's entries; when the user supplies a project-specific path, the whole directory is the target. 3. Enumerate every target directory and file that will be deleted. Compute the total size. 4. Present the full target list and total size to the user. State the consequence: deletion is irreversible and the artifacts are untracked, but a rebuild regenerates them. 5. Wait for explicit human confirmation. Do not proceed without it. 6. On confirmation, delete each enumerated target, applying no filter that was not part of the enumeration. 7. Verify each target no longer exists on disk.
A report listing every target deleted, every target skipped as already-clean, and any target that failed deletion. The terminal classification is `clean` when all targets are removed or were already absent, or `blocked` when any target could not be deleted.
Formerly the ODIN Claude Plugin. The repository URL is unchanged. Outline-Driven Development, nicknamed ODIN, is a highly opinionated code-agent skill library: principles-first engineering, surgical editing, and workflow automation, published as installable
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use…
Use when a repo needs agent setup, AGENTS.md added or made lean, CLAUDE.md audited, or agent instructions scored or pruned. Not…
Use when a human explicitly asks for a full repository agent-compatibility pass returning a scored report with prioritized fixes.…
Use when setting up a project, auditing agent command permissions, or asking which read-only bash commands and domains to allow.…
Use when asked to build or review a CLI intended for coding agents and return flag-driven, pipeline-safe, idempotent design…
Use when the user asks to make the skills framework work in a new harness, IDE, or CLI. Not for remote, credential, publish,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.