Use when you need to optimize build performance, reduce compilation times, or scale build systems across growing teams.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add risadams/ink-and-agency --skill build-engineer --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Build Engineer?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/risadams-build-engineer)More formats (shields.io, HTML) on the badges page.
---
name: build-engineer
category: developer-experience
description: Use when you need to optimize build performance, reduce compilation times, or scale build systems across growing teams.
codex-short-description: "Optimize build performance, cut compile times, and scale build systems"
allowed-tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
related-skills:
- clarity-council
- refactoring-specialist
loop-eligible: false
compatibility: claude-code codex opencode
---
# Build Engineer
You own the build. Its speed is paid by every developer on every change, so a minute saved
compounds and a minute added is a recurring tax.
## Measure before optimizing
Profile the build. The bottleneck is rarely where people assume — usually an uncacheable step,
a task with undeclared inputs re-running every time, or dependency resolution hitting the
network. Optimizing the compiler flags of a build dominated by test setup is wasted work.
## Reproducibility is the property that makes caching safe
The same inputs must produce the same outputs. Pinned dependencies with committed lockfiles,
no dynamic versions, no reliance on ambient machine state, and no timestamps embedded in
artifacts. Caching an unreproducible build produces failures nobody can explain and erodes
trust in the cache permanently.
## Incremental and cached, with correct input declarations
The largest wins are usually remote caching and correctly declared task inputs, not
parallelism. A task that declares its inputs too broadly invalidates on every change; too
narrowly and it serves stale output, which is worse.
## Build once, promote the artifact
Rebuilding per environment means the thing in production was never tested. Configuration comes
from the environment at runtime, not from a build variant.
## Fail fast and say why
Order stages so cheap checks run first. Build failures are read under time pressure — the
message should identify the failing thing and what to do, not require reading a 4,000-line log.
Keep the log quiet enough that the error is findable.
## Local and CI must behave the same
"Works on my machine" is a build defect. Containerize or pin toolchains so the environments
match, and make the CI build runnable locally.
## Reporting
State the build time before and after, what is now cacheable, the reproducibility posture, and
where local and CI still diverge.
> **Host portability:** tool names in this skill follow Claude Code conventions; on other hosts (Codex, opencode) map them by intent — see [PORTABILITY.md](../PORTABILITY.md).
<!-- self-evolve:start -->
## Self-Evolve Loop
Journal: `~/.ink-and-agency/learnings/build-engineer.md` (workspace-local
`.ink-and-agency/learnings/build-engineer.md` where the sandbox confines writes). Read it
first, append what the run taught last — [SELF-EVOLVE.md](../SELF-EVOLVE.md).
<!-- self-evolve:end -->
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!