principal-engineering — Claude Code skill: how to install
Enforces core engineering discipline for AI agents: mandates pre-change checkpoints, bans silent error suppression, and requires evidence from real code.
npx skills add riekelt/principal-engineer --skill principal-engineering -a claude-codeWhat principal-engineering does
The skill injects principal engineering discipline before any non-trivial change to code, databases, or infrastructure. Before modifying files, the agent must document a pre-change checkpoint in working notes: current behavior grounded in code, blast radius, invariant guarantees, and the exact verification command. This stops guesswork before coding starts.
It establishes non-negotiable safety rules across all repositories. Silent error suppression is an immediate blocker: every failure must rethrow, log, return a typed error, or enter a documented degraded state. Applied database migrations cannot be edited retroactively, secrets cannot be printed to disk, and destructive actions require inspection first. The project's declared risk tiers dictate the required level of verification rigor.
Project instructions in CLAUDE.md and repository code styles explicitly outrank this skill. It acts as an architectural foundation, delegating specialized tasks to sibling skills like handling-failures, verifying-before-done, or guarding-architecture.
What it helps with
- Stop silent exception swallowing in error-handling paths
- Establish invariants and blast radius before touching unfamiliar code
- Prevent destructive edits to already applied database migrations
- Enforce proof of verification through actual test command output
Example prompts for the agent
- Prepare the pre-change checkpoint and assess the blast radius before refactoring the auth service.
- Investigate the payment failure using code evidence rather than assumptions.
- Review this error handling logic to ensure no failures are silently swallowed.
How to install principal-engineering
1Skills CLI (Vercel)
npx skills add riekelt/principal-engineer --skill principal-engineering -a claude-code2Manually: put the files in place
~/.claude/skills/principal-engineering/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/principal-engineering/
1Skills CLI (Vercel)
npx skills add riekelt/principal-engineer --skill principal-engineering -a codex2Manually: put the files in place
.agents/skills/principal-engineering/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add riekelt/principal-engineer --skill principal-engineering -a cursor2Manually: put the files in place
.cursor/skills/principal-engineering/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install riekelt/principal-engineer principal-engineering2Manually: put the files in place
.github/skills/principal-engineering/SKILL.md1Skills CLI (Vercel)
npx skills add riekelt/principal-engineer --skill principal-engineering -a gemini-cli2Platform CLI
gemini skills install https://github.com/riekelt/principal-engineer --path plugins/principal-engineer/skills/principal-engineeringManually: put the files in place
.devin/skills/principal-engineering/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add riekelt/principal-engineer --skill principal-engineering -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about principal-engineering
How to install principal-engineering in Claude Code?
Run npx skills add riekelt/principal-engineer --skill principal-engineering -a claude-code.
What does the principal-engineering skill do?
It enforces rigorous engineering guardrails on coding agents, requiring pre-change checkpoints, evidence-backed debugging, and an absolute ban on silent error swallowing.
How does this skill interact with existing project rules?
Project files like CLAUDE.md and repository-level rules explicitly take precedence over this skill. It also defers code style and framework choices to local conventions.