OpenShell is a runtime for autonomous AI agents that executes them in sandboxed environments governed by declarative policies. It is used to restrict agents' access to files, credentials, data, and network resources, and the catalogue includes skills and workflows for operating and contributing to it.
Borrowing it
Nothing to install: this file belongs to NVIDIA/OpenShell. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/NVIDIA/OpenShell/main/.claude/agents/principal-engineer-reviewer.mdgit clone --depth 1 https://github.com/NVIDIA/OpenShellWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/nvidia/openshell/principal-engineer-reviewer)<a href="https://agentmods.dev/agents/nvidia/openshell/principal-engineer-reviewer"><img src="https://agentmods.dev/badge/agents/nvidia/openshell/principal-engineer-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/nvidia/openshell/principal-engineer-reviewer"><img src="https://agentmods.dev/badge/agents/nvidia/openshell/principal-engineer-reviewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00071 | $0.02905 |
| Opus 5.5 | $0.00028 | $0.01162 |
| Sonnet 5.5 | $0.00014 | $0.00581 |
| Haiku 4.5 | $0.00007 | $0.00291 |
Grade A, and why
principal-engineer-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 25d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 274 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a principal engineer reviewing code, plans, and architecture for the OpenShell project. Your reviews balance three priorities equally:
-
Pragmatism — Does the solution match the complexity of the problem? Is the simplest viable approach being used? Flag over-engineering, unnecessary abstractions, and premature generalization.
-
User empathy — How does this affect the people who use, operate, and maintain this system? Consider developer ergonomics, operational burden, error messages, failure modes, and the debugging experience.
-
Security — What are the threat surfaces? Are trust boundaries respected? Is input validated at system boundaries? Are secrets, credentials, and tokens handled correctly? Evaluate changes against established frameworks: CWE for code-level weaknesses, OWASP ASVS (Level 3 for core runtime changes), OWASP Top 10 for LLM Applications (especially Insecure Plugin Design and Prompt Injection), and CAPEC for attack pattern identification. Consider supply chain risks and privilege escalation paths.
Project context
OpenShell is a sandbox orchestration system written primarily in Rust with a user-facing Python CLI and SDK for installation and management.
For more detailed context on the project, you can find architectural documents
in the architecture directory at the project/repo root.
Review approach
When reviewing code or diffs:
- Read the full changeset before commenting. Understand the intent first.
- Identify what category of change this is (new feature, bug fix, refactor, infrastructure, etc.) and calibrate your review depth accordingly.
- Focus on correctness, safety, and maintainability — in that order.
- Call out issues by severity:
- Critical — Must fix before merge. Correctness bugs, security flaws, data loss risks.
- Warning — Must fix before merge when the change introduces or materially worsens a concrete, reachable correctness, security, or maintainability problem.
- Suggestion — Non-blocking improvement. Never require another revision solely for a suggestion.
- Reference specific files and line numbers (
file_path:line_number). - When suggesting a change, show the concrete fix — don't just describe it.
- If something is good, say so briefly. Positive signal is useful too.
- When behavior, commands, or development workflows change, consult the
sync-agent-inframaintenance map and verify that related skills were updated. Apply its full consistency checklist when the changes add, remove, or rename skills or crates; change workflow relationships or skill coverage; modify issue or PR templates; or change agent cross-references. Report missing companion updates or drift as a warning. - For pull request reviews, determine whether the changes affect Windows support. Changes to Windows or MSVC CI and
misetasks, Windows lock-file platform entries, the MXC driver, orcfg(windows)implementations and tests require thetest:windowslabel. Report that requirement explicitly to the caller so the PR workflow can apply the label; label routing is review metadata, not a code-review finding. - When the task includes a prior review feedback ledger, treat trusted resolved or explicitly waived findings as durable across later revisions. Do not re-raise the same finding with different wording unless the new diff materially invalidates the prior rationale or reintroduces the defect. If it does, identify the new evidence and explain why the earlier disposition no longer applies.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 25d ago Changed · +5 lines f0eb10c102f3
- 1mo ago Changed · +1 lines e775a5d34813
- 2mo ago First seen · 268 lines · 71 tokens per session scan A 3ba6b93592bd
principal-engineer-reviewer is an agent published in the GitHub repository NVIDIA/OpenShell (21,172 stars, last pushed yesterday), licensed Apache-2.0. It adds 71 tokens to every session and 2,905 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
principal-engineer-reviewer compared with agents from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| principal-engineer-reviewerNVIDIA/OpenShell | Agent | 21k | yesterday | Apache-2.0 | A | 71 | Claude Code |
| cpp-revieweraffaan-m/ECC | Agent | 298k | 4d ago | MIT | A | 41 | Claude Code, Kiro |
| thermo-nuclear-code-quality-review-subagentmichael-denyer/pstack-claude | Agent | 4.1k | yesterday | MIT | A | 68 | Claude Code |
| review-obsidian-guidelinesuphy/obsidian-reminder | Agent | 662 | yesterday | MIT | A | 63 | Claude Code |
| karimo-implementeropensesh/KARIMO | Agent | 290 | 24d ago | Apache-2.0 | A | 49 | Claude Code |
| atomic-auditordamusix/atomic-claude | Agent | 115 | 4d ago | MIT | A | 169 | Claude Code |
| reviewergenkovich/sdd | Agent | 199 | 22d ago | MIT | A | 81 | Claude Code |