Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/jamesjfoong/github-pr-review-mcp/code-patternsnpx skills add jamesjfoong/github-pr-review-mcp --skill code-patternsgit clone --depth 1 https://github.com/jamesjfoong/github-pr-review-mcpWhat 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 | $0.00019 | $0.00433 |
| Opus 5 | $0.00010 | $0.00217 |
| Sonnet 5 | $0.00004 | $0.00087 |
| Haiku 4.5 | $0.00002 | $0.00043 |
Grade A, and why
code-patterns 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 2d 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.
What it actually says
Code Patterns
When to Use
- Implementing new features
- Handling GitHub API calls
- Adding code analysis patterns
- Writing type-safe code
GitHub API Error Handling
try {
const result = await this.octokit.pulls.get({
owner: params.owner,
repo: params.repo,
pull_number: params.prNumber,
});
return result.data;
} catch (error) {
const message = error instanceof Error ? error.message : String(error);
console.error("Error fetching PR:", message);
throw new Error(`Failed to fetch PR: ${message}`);
}
- Rate limiting: automatic via
@octokit/plugin-throttling - Pagination: use
@octokit/plugin-paginate-rest - Auth: ensure
GITHUB_TOKENin.env
Type-Safe Code
// CORRECT - Explicit type definition
export const PRParamsSchema = z.object({
owner: z.string(),
repo: z.string(),
prNumber: z.number(),
});
export interface PRParams {
owner: string;
repo: string;
prNumber: number;
}
// CORRECT - use optional property
interface GoodType {
value?: string;
}
// CORRECT - use optional chaining when accessing
const result = obj?.value ?? "default";
Adding Analysis Patterns
Security patterns (src/code-analyzer.ts):
{
pattern: /your-regex-pattern/gi,
message: "Description of the issue",
}
Code smell patterns:
{
pattern: /your-regex-pattern/g,
message: "Description of the smell",
}
Service Layer
All GitHub API calls must go through GitHubService:
// CORRECT
const result = await githubService.getPRDetails(params);
// WRONG - bypasses service
const result = await octokit.pulls.get({...});
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.
- 2d ago First seen · 92 lines · 19 tokens per session scan A f8144e6043ce
code-patterns is a skill published in the GitHub repository jamesjfoong/github-pr-review-mcp (1 stars, last pushed 6mo ago), licensed MIT. It adds 19 tokens to every session and 433 once invoked, about $0.0001 per session on Opus 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-31.
Other skills, from other repositories
pr-description
Write a reviewer-first pull-request description from the actual branch diff. Use when opening a PR or asked to write/improve a PR description.
pr-triage
PR triage: audit open PRs, deep review selected ones, draft and post review comments. Args: "all" to review all, PR numbers to focus (e.g. "42 57"), "en"/"fr" for language, no arg = audit only in French.
issue
Use when starting a chain from a GitHub issue — turning an issue URL or number into a triaged, planned, dispatched, and reviewed pull request. Classifies the thread (bug → root-cause discipline, feature → plan chain, question → drafted reply), synthesizes a spec from the issue's own acceptance criteria, then runs the…
pr
Use when reviewing an incoming GitHub pull request — runs the multi-level (L1-L5) audit against the PR's real diff range, posts findings as one batched review (inline, summary, or local-only), offers the standard fix chain on NEEDSFIX, and optionally merges. The maintainer-side counterpart to /hyperflow:issue. Trigger…
code-review-github
GitHub PR workflow orchestration for code review — list PRs, post comments, apply labels, and guarded auto-merge.
github
Prepare GitHub issues, pull requests, reviews, and release notes for Zhin projects. Use when asked to write an issue, PR description, changelog entry, or review comment. Triggers: 写 issue, PR 描述, 提 PR, release notes, gh pr.