PlotJuggler Ship Check
PlotJuggler/PlotJuggler
Runs a gated finish-line checklist before committing a PlotJuggler PJ4 change: build proof, red-test triage, hooks, docs freshness and a diff self-review.
Prepares pull requests by running quality gates, drafting descriptions, and validating tests.
$ npx skills add athola/claude-night-market --skill pr-prep -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install athola/claude-night-market pr-prep --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/sanctum/skills/pr-prep .claude/skills/pr-prep && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "pr-prep" agent skill from https://github.com/athola/claude-night-market/tree/master/plugins/sanctum/skills/pr-prep into .claude/skills/pr-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-prep", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/athola/claude-night-market/tree/master/plugins/sanctum/skills/pr-prepType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add athola/claude-night-market --skill pr-prep -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install athola/claude-night-market pr-prep --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/sanctum/skills/pr-prep .agents/skills/pr-prep && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pr-prep" agent skill from https://github.com/athola/claude-night-market/tree/master/plugins/sanctum/skills/pr-prep into .agents/skills/pr-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-prep", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add athola/claude-night-market --skill pr-prep -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install athola/claude-night-market pr-prep --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/sanctum/skills/pr-prep .cursor/skills/pr-prep && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pr-prep" agent skill from https://github.com/athola/claude-night-market/tree/master/plugins/sanctum/skills/pr-prep into .cursor/skills/pr-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-prep", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/athola/claude-night-market.git --path plugins/sanctum/skills/pr-prep--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add athola/claude-night-market --skill pr-prep -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install athola/claude-night-market pr-prep --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/sanctum/skills/pr-prep .gemini/skills/pr-prep && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pr-prep" agent skill from https://github.com/athola/claude-night-market/tree/master/plugins/sanctum/skills/pr-prep into .gemini/skills/pr-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-prep", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install athola/claude-night-market pr-prepInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add athola/claude-night-market --skill pr-prep -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/sanctum/skills/pr-prep .github/skills/pr-prep && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pr-prep" agent skill from https://github.com/athola/claude-night-market/tree/master/plugins/sanctum/skills/pr-prep into .github/skills/pr-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-prep", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add athola/claude-night-market --skill pr-prep -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install athola/claude-night-market pr-prep --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/sanctum/skills/pr-prep .opencode/skills/pr-prep && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pr-prep" agent skill from https://github.com/athola/claude-night-market/tree/master/plugins/sanctum/skills/pr-prep into .opencode/skills/pr-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-prep", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
pr-prepPrepares pull requests by running quality gates, drafting descriptions, and validating tests.
PR Prep is an agent skill from athola/claude-night-market. Prepares pull requests by running quality gates, drafting descriptions, and validating tests. Use when completing a feature and ready for review.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `modules/pr-template.md`, `modules/quality-gates.md` and `modules/todowrite-patterns.md`).
It sits in Development, covering Quality gates and Pull requests. The repository describes itself as: 23 Claude Code plugins: TDD enforcement hooks, git/PR workflows, spec-driven development, code review, project lifecycle, fix-from-error, maintenance automation, context… The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 9f3eb00. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitmakepython3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
PR Prep loads about 2.6k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 1,123 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from athola/claude-night-market at commit 9f3eb00, republished under its MIT licence (© athola). 1,123 words, ~2,554 tokens.
.claude/skills/pr-prep/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.sanctum:pr-review)sanctum:commit-messages)Use this skill to stage changes and generate a PR summary. Run Skill(sanctum:git-workspace-review) first to capture the repository state and diffs.
Create TodoWrite items for these steps before starting:
pr-prep:workspace-reviewedpr-prep:quality-gatespr-prep:self-reviewedpr-prep:changes-summarizedpr-prep:testing-documentedpr-prep:pr-draftedpr-prep:content-verifiedMark each item as complete as the section is finished.
workspace-reviewed)Confirm that Skill(sanctum:git-workspace-review) is complete. If changes were staged after the initial review, re-execute the skill to refresh the context.
quality-gates)Execute formatting, linting, and tests using project-specific commands
(e.g., make lint, make test). Resolve all failures before
proceeding. If a task cannot be executed locally, document the reason
and the alternative validation performed. Language-specific commands
and failure handling are detailed in modules/quality-gates.md.
If any plugin files changed (plugin.json, skills, commands,
agents, or hooks), run make docs-sync-check to verify
book/src/reference/capabilities-reference.md is current.
If it reports discrepancies, run /sync-capabilities --fix
or update the reference manually before proceeding.
self-reviewed)Read the diff as if you are a reviewer seeing it for the first time. This catches scope creep, stale debug code, and unclear changes before anyone else spends time on them.
Automated checks:
# Check for debug statements left in
git diff --cached --name-only | xargs grep -nE \
'(console\.log|print\(|debugger|TODO|FIXME|HACK|XXX)' \
2>/dev/null || true
# Check for commented-out code blocks (3+ consecutive lines)
git diff --cached | grep -c '^+.*//.*[a-zA-Z]' || true
# Check for formatting-only commits mixed with feature work
git log --oneline $(git merge-base HEAD origin/master)..HEAD | \
grep -iE '(fmt|format|lint|style|whitespace)' || trueAdditive bias audit:
Run Skill(imbue:justify) to compute the additive bias
score and check Iron Law compliance. If the score is
YELLOW or above, justify each flagged signal before
proceeding. If RED or STOP, rethink the approach.
Manual verification:
TODO markers left inIf issues are found, fix them before proceeding.
changes-summarized)Start from the analyzer rather than from a fresh reading of the diff:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/pr_prep_analyze.py" --base origin/mainIt reads the branch's changed files and commits, sorts the files into
feature, test, docs and other, flags any ! breaking-change marker in
a commit subject, reports the quality gates it can decide from the
changed-file list (tests touched, docs touched, changes described),
recommends a merge strategy, and prints a description scaffold. Pass
--reviewer-map <json> to map path prefixes to reviewers, or --json
to consume it as data.
A gate printed unknown (null in JSON) means the script evaluated
nothing: it runs no test, lint or type check and makes no release
decision, so passes_checks and includes_breaking_changes always
read unknown. Treat unknown as "you must check this yourself",
never as a pass. Step 2 is where passes_checks gets its answer.
Then use the notes from the workspace review and the analyzer's categories to identify the key points in the diffs, and group them into 2-4 paragraphs highlighting the technical changes and their rationale. Note breaking changes, migrations, or documentation updates.
testing-documented)List each test command executed and its result. If tests were skipped, document the reason and the mitigation plan.
Attach a manual test plan when any of these hold:
Write it as numbered steps, each stating its expected result. A step
without an expected result is a step the reviewer cannot fail. Format
and examples are in modules/pr-template.md.
pr-drafted)Populate the template with the facts table (Who, Where, When), then
the Why and What-and-how sections, then Test plan and Checklist. Write
the title imperative and self-contained so it reads correctly in git log out of context.
All three table rows are filled on every PR. A row that does not apply
says so (External: none, on merge) rather than being deleted, so a
reader can tell an omitted blast radius from a blast radius of none.
Add issue references, screenshots, migration guides, or follow-up
items as the change calls for them. Template structure, worked
examples, and size variations are in modules/pr-template.md. The
decision behind the structure, with its sources, is recorded in
docs/adr/0021-pr-descriptions-in-two-registers.md.
content-verified)Apply Skill(scribe:slop-detector) principles to the draft. Verify that the PR description avoids tier-1 slop words (delve, comprehensive, leverage, utilize, robust, seamless) and formulaic phrases like "I'd be happy to" or "It should be noted." Ensure there is no AI attribution in the text and that all claims are grounded with evidence such as commands, numbers, or filenames. Use active voice and maintain a balanced structure with prose for context.
If the description contains slop, apply Skill(scribe:doc-generator) principles to ground claims with specifics, remove marketing language, and use direct statements.
Write the final PR description to the specified path, then display the file path and its contents for confirmation.
Do not include tool or AI attribution in the PR text. If changes are required mid-process, re-run quality gates. This skill covers preparation; pushing changes and opening the PR occurs outside this workflow.
If project-specific commands like make or npm are unavailable, verify the environment setup against the README. For permission errors, check write access to build directories. If a step fails without clear output, retry the command with verbose flags to inspect the logs.
pr-prep:workspace-reviewed through
pr-prep:content-verified) are marked complete before the
skill declares doneunknown has been decided by
hand, because unknown means nothing evaluated it: the script
runs no test, lint or type check, so passes_checks and
includes_breaking_changes always arrive that wayExternal: half of Whereimbue:justify is GREEN, or YELLOW
with each flagged signal explicitly justified© athola, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files in plugins/sanctum/skills/pr-prep of athola/claude-night-market.
Open the folder on GitHubat commit 9f3eb00
PR Prep next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| PR Prep this skillathola/claude-night-market | 342 | — | ~2.6k | Automated safety check: Pass | MIT | |
| PlotJuggler Ship CheckPlotJuggler/PlotJuggler | 6.2k | — | ~1.3k | Automated safety check: Pass | MPL-2.0 | |
| Pull Requestnoh-rs/nohrs | 156 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Compound Engineering Code ReviewEveryInc/compound-engineering-plugin | 25k | — | ~2k | Automated safety check: Pass | MIT | |
| Sonarcloud Reviewlucasvieirasilva/nx-plugins | 153 | — | ~2.7k | Automated safety check: Notes | MIT | |
| PR Preflight Checkliaohch3/claude-tap | 3.3k | — | ~615 | Automated safety check: Pass | MIT |
PlotJuggler/PlotJuggler
Runs a gated finish-line checklist before committing a PlotJuggler PJ4 change: build proof, red-test triage, hooks, docs freshness and a diff self-review.
noh-rs/nohrs
Take a change from working tree to a merge-ready pull request, then keep iterating until the CI checks and AI reviewers (CodeRabbit, cubic) all pass.
EveryInc/compound-engineering-plugin
Runs a staged pull request or diff review using selected reviewer personas, checking the change against its stated intent and project standards before producing findings.
lucasvieirasilva/nx-plugins
Fetches and triages SonarCloud findings (issues, security hotspots, quality gate) for the current pull request or branch of this repository via the SonarCloud Web API, summarizes them in a markdown…
liaohch3/claude-tap
Runs a single merge-readiness check on a pull request: metadata, GitHub Actions status, local lint, format and test gates, and PR body rules, ending in READY or NOT_READY.
FutureTense/keymaster
Procedure for preparing and submitting pull requests in keymaster, enforcing the required PR template (.github/PULLREQUESTTEMPLATE.md), checklist validation, and quality gates.
athola/claude-night-market
Run and interpret repo diagnostic scripts (ratchets, validators, token stats).
athola/claude-night-market
Evaluate Claude skill quality through auditing. An agent skill from athola/claude-night-market.
athola/claude-night-market
Coordinates Claude agent teams via filesystem protocol. An agent skill from athola/claude-night-market.
athola/claude-night-market
Delegates execution to eight CLIs (Gemini, Qwen, MiniMax, GLM, Muse, Codex, OpenCode, Glimmer).
athola/claude-night-market
Guide minimal code via a decision ladder with full safety, edge, and negative-case coverage.
athola/claude-night-market
Build a project skill library in .claude/skills/ via discovery, parallel authoring, and review.
Categories
Prepares pull requests by running quality gates, drafting descriptions, and validating tests. PR Prep is an agent skill from athola/claude-night-market. Prepares pull requests by running quality gates, drafting descriptions, and validating tests.
PR Prep fits situations like: completing a feature and ready for review; tasks that involve Quality gates; tasks that involve Pull requests.
Run `npx skills add athola/claude-night-market --skill pr-prep -a claude-code`. Or copy the skill folder (plugins/sanctum/skills/pr-prep in athola/claude-night-market) into .claude/skills/pr-prep in your project. Claude Code loads it when a task matches its description.
Run `npx skills add athola/claude-night-market --skill pr-prep -a codex`. Or copy the skill folder (plugins/sanctum/skills/pr-prep in athola/claude-night-market) into .agents/skills/pr-prep in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add athola/claude-night-market --skill pr-prep -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-prep, .gemini/skills/pr-prep, .github/skills/pr-prep and .opencode/skills/pr-prep in your project.
Going by SKILL.md and its folder, PR Prep needs the command-line tools its instructions call (git, make and python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
PR Prep is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with PR Prep: PlotJuggler Ship Check (PlotJuggler/PlotJuggler, 6.2k stars), Pull Request (noh-rs/nohrs, 156 stars), Compound Engineering Code Review (EveryInc/compound-engineering-plugin, 25k stars) and Sonarcloud Review (lucasvieirasilva/nx-plugins, 153 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
athola (a GitHub user) maintains it in athola/claude-night-market, which has 342 GitHub stars. The repository holds 159 skills in this directory. The repository was last updated on October 6, 2026.
Source: athola/claude-night-market on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.