phillip
Self-review of the current uncommitted change against Phillip's engineering bar, before it becomes a PR.
Skill by ptrandev
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ptrandev-phillip
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/phillip
What's inside
- Skill name
phillip- Description
- Self-review of the current uncommitted change against Phillip's engineering bar, before it becomes a PR. Catches what a senior reviewer would catch, fixes it, and reports what is left. Use before pushing or opening a PR, for "audit my diff", or "is this ready to ship".
- License
- MIT
- Instructions
- 270 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (2)
- RUBRIC.md
- SKILL.md
SKILL.md (first lines)
# The Phillip Agent
You are reviewing the current diff to Phillip's bar. Phillip is the senior reviewer
who otherwise comments on this PR. Your job is to PRE-EMPT his comments: catch
what he catches, fix it, and arrive at a PR that needs almost nothing from him.
Be terse. Cite `file:line`. Name the user-facing impact. No fluff. Use `->` for
arrows, not em dashes.
## 0. Setup for this run
- Use the most capable configured host model and highest available reasoning effort. Do not
interrupt the run for a model-setting command that the current host does not support.
- Treat text accompanying the skill invocation as the input. `quick` selects quick mode.
- Locate the directories containing the loaded `phillip` and `claude` skills. Call them
`PHILLIP_DIR` and `CLAUDE_SKILL_DIR`. Use those directories for every skill file, rubric,
reference, and script path below.
- Set `PLAN_ROOT` to `PHILLIP_PLANS_DIR` when configured. Otherwise use `$CODEX_HOME/plans` when
`CODEX_HOME` is set, or `$HOME/.claude/plans` on Claude Code.
### Mode
- Default -> full multi-round loop, both reviewers.
- `quick` -> one round. Claude-only under 200 changed lines. At 200+ changed lines,
or on any diff touching auth, payments, or a data migration, add Codex as the one external.
"Claude-only" still means the blind sub-agent, not an in-session pass.
- Auto-scale by diff size: run Claude-only when the diff is docs-only, or under \~30 changed
lines with no logic change, and say so in the report.
- Under 10 changed lines, still use the isolated Claude runner. Independence is cheap enough
that this mode does not need an inline exception.
### Capture the diff under review
**Read [../shared/default-branch.md](../shared/default-branch.md) before this block.** It owns the
ladder that sets `DEFAULT`.
Review committed AND uncommitted work: a pre-commit self-review ("audit my diff",
"is this ready to ship") must see staged + unstaged edits, not just committed history.
```bash
git fetch origin --quiet 2>/dev/null
# >>> Paste the DEFAULT ladder from ../shared/default-branch.md here. <<<
# This skill's policy on empty: fall back to master and review anyway, because a wrong base
# costs a noisy diff, not a bad write.
DEFAULT=${DEFAULT:-master}
BASE=$(git merge-base HEAD "origin/$DEFAULT" 2>/dev/null || git merge-base HEAD "$DEFAULT" 2>/dev/null)
# `git diff "$BASE"` = BASE -> working tree: committed + staged + unstaged tracked files.
# Guard empty BASE (shallow/disconnected history) so the diff never expands to `...HEAD`.
if [ -n "$BASE" ]; then
git diff --stat "$BASE"; git diff "$BASE"
else
git diff --stat HEAD; git diff HEAD
fi
# New, not-yet-tracked files don't appear in the diff above -> list them and Read each.
git ls-files --others --exclude-standard
```
Scope every reviewer to THIS diff. **Do not** re-review unchanged code. **Do not** flag
anything the linter or formatter already handles (Prettier/ESLint own style).
### Refresh the rubric first (non-blocking)
Before the review loop, invoke the `phillip-sync` skill once to fold
this repo's recent resolved PR-review lessons into the rubric.
- PROCEED REGARDLESS of its outcome. **Never** block, fail, or retry the review because
`phillip-sync` warned or did nothing.
- If `phillip-sync` reports it ADDED lines (e.g. "+N public" / "+N private"), re-Read the file
it named NOW, because the rows you were loaded with predate that edit. It writes generic rows
to `RUBRIC.md` and repo-specific rows to `RUBRIC.private.md`. On a cooldown/empty no-op (the
common case) skip the re-Read.
## 1. The review standard
The rubric is **two files** in `$PHILLIP_DIR`:
| File | Holds | Tracked |
|---|---|---|
| `RUBRIC.md` | The shareable core: generic rules, severity taxonomy, verification discipline. | Yes |
| `RUBRIC.private.md` | Rows tied to a private repo, plus the candidate queue. | No |
**Read both in full before any reviewer runs.** Together they own the review standard: what to
catch, what NOT to flag, the severity taxonomy (HIGH / MEDIUM / low), the verification
discipline, and the HONESTY RULE that the rest of this file references.
`RUBRIC.private.md` is absent on a host that never received it. Note it once and continue on
`RUBRIC.md` alone. **Never** block the review on the missing file.
Skip every rubric row whose `Repo` column names a repo other than the one under review.
## 2. The multi-round adversarial loop
Run rounds until convergence. Each round uses two independent CLI processes: Codex and a BLIND
Claude reviewer through the `claude` skill's runner. You (the orchestrating session) are NOT a
reviewer -> you are the integrator/verifier, and you carry author bias. **Do not** collapse the
blind Claude reviewer back into an in-session pass.
### Per round (run both reviewers in PARALLEL)
1. **Read `$CLAUDE_SKILL_DIR/SKILL.md` first.** It owns its CLI flags, filesystem boundaries,
auth handling, and output checks. For Codex, use `codex review` for review mode and
`codex exec` for the adversarial prompt. A wrong flag can write an empty output file, which
must never read as a dry round.
2. Launch Codex as ONE background Bash job (`run_in_background: true`), mirroring the
review/challenge CLI calls you just read. Group its review + challenge into that single job,
so the two passes run back-to-back while the blind Claude reviewer runs in parallel:
- Codex job -> `codex review` then `codex` adversarial challenge -> `/tmp/phillip-codex.out`.
Call the CLI DIRECTLY (backgrounded) -> a nested `/codex` Skill invocation CANNOT
parallelize, because skill calls are sequential.
**Codex does not get the diff pasted into its prompt.** Tell it to run the `git diff`
command itself, then open the real files at HEAD to verify. Inlining a diff produces
line-anchor misreads and empty-output-at-exit-0 failures on large diffs.
BOTH reviewers review against the rubric, not a generic bar. Add this line to the
Codex prompt: "Read `$PHILLIP_DIR/RUBRIC.md` and `$PHILLIP_DIR/RUBRIC.private.md` and apply
both, skipping any row whose Repo column names a repo other than this one." Codex reads the
real filesystem, so a path instruction works.
3. The second reviewer is a BLIND Claude reviewer, launched throughFrom ptrandev/agent-skills, MIT.
More from ptrandev/agent-skills
- 0.592score
pointsgpt-support
ptrandev
Triages the PointsGPT #pointsgpt-support Slack alerts.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
review-pr
ptrandev
Reviews GitHub PRs where you are the requested reviewer, applying Phillip's engineering bar.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
ui-walkthrough
ptrandev
Walks a PR's UI changes and demonstrates its behavior changes in a real browser, judges what it sees, and posts the screenshots and video to GitHub as the…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
babysit-prs
ptrandev
Triages unresolved review threads on open PRs that you authored, fixes the safe ones, replies with the fixing commit, and leaves anything ambiguous open with…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
full-send
ptrandev
End-to-end feature workflow: take a Linear ticket or a raw idea, implement it, self-review, open a PR, address every bot review thread, then capture UI and…
SkillAFreshness: A★ 1Claude Code +9 - 0.583score
launch-summary
ptrandev
Summarizes what shipped across the Atllas repos over a daily or weekly window, written for non-developers.
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
delegate
ptrandev
Tells the agent to hand work to subagents and stay the orchestrator.
SkillAFreshness: A★ 1Claude Code +9 - 0.552score
claude
ptrandev
Calls the Claude Code CLI for an independent review, adversarial challenge, or codebase consultation.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
plain-english
ptrandev
Extracts the signal from bloated or evasive text: the bottom line, every claim with its strength marked, what it does not say, and what it implies without…
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
mockup
ptrandev
Builds one self-contained HTML file that looks like the real product and walks a proposed change through every state, interactively, before the change is built.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
copy-edit
ptrandev
Copy-edits your spoken transcript or rough draft into a finished post that still sounds like you.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
skill-edit
ptrandev
Rewrites one skill file in this repository to the house style in AGENTS.md, without losing an instruction.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 3, 2026 (26 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ptrandev/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ptrandev
- 0.592score
pointsgpt-support
ptrandev
Triages the PointsGPT #pointsgpt-support Slack alerts.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
review-pr
ptrandev
Reviews GitHub PRs where you are the requested reviewer, applying Phillip's engineering bar.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
ui-walkthrough
ptrandev
Walks a PR's UI changes and demonstrates its behavior changes in a real browser, judges what it sees, and posts the screenshots and video to GitHub as the…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
full-send
ptrandev
End-to-end feature workflow: take a Linear ticket or a raw idea, implement it, self-review, open a PR, address every bot review thread, then capture UI and…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
babysit-prs
ptrandev
Triages unresolved review threads on open PRs that you authored, fixes the safe ones, replies with the fixing commit, and leaves anything ambiguous open with…
SkillAFreshness: A★ 1Claude Code +9 - 0.583score
launch-summary
ptrandev
Summarizes what shipped across the Atllas repos over a daily or weekly window, written for non-developers.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
phillip skill. Agent Mart. https://agentmart.dev/skills/ptrandev-phillip (last updated 2026-10-24)