AReaL is an infrastructure system for training large language models with reinforcement learning, connecting model training to applications built around AI agents. Researchers and developers use it to train reasoning and agentic models through asynchronous workflows, and the catalogue add-ons support working with AReaL.
Borrowing it
Nothing to install: this file belongs to areal-project/AReaL. 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/areal-project/AReaL/main/.agents/skills/create-pr/SKILL.mdgit clone --depth 1 https://github.com/areal-project/AReaLWrote 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/skills/areal-project/areal/create-pr)<a href="https://agentmods.dev/skills/areal-project/areal/create-pr"><img src="https://agentmods.dev/badge/skills/areal-project/areal/create-pr/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/skills/areal-project/areal/create-pr"><img src="https://agentmods.dev/badge/skills/areal-project/areal/create-pr.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00034 | $0.00545 |
| Opus 5.5 | $0.00014 | $0.00218 |
| Sonnet 5.5 | $0.00007 | $0.00109 |
| Haiku 4.5 | $0.00003 | $0.00055 |
Grade A, and why
create-pr 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 2mo 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 — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Create Pull Request
Use this skill when the user asks to create or update a PR for the current branch.
Inputs
- Optional
--draft - Optional
--base <branch>(default:main)
Preconditions
- Verify the current branch is not
mainormaster. - Check for uncommitted changes with
git status --short. - Ensure
ghis available. - If there are uncommitted changes, stop and ask the user whether to commit or stash them first.
Workflow
Step 1: Check for an existing PR
- Run
gh pr view --json number,title,url,state,isDraft. - If a PR already exists, tell the user before rewriting history or force-pushing.
Step 2: Fetch and rebase
git fetch origin <base>
git rebase origin/<base>
- If rebase conflicts occur, abort the rebase and stop.
- Tell the user which files conflicted and ask them to resolve manually.
Step 3: Squash into one commit
git reset --soft origin/<base>
- Load the
commit-conventionsskill before generating the commit message. - Infer
typeandscopefrom the staged diff. - Keep the commit subject imperative and under about 72 characters.
Step 4: Generate PR title and body
- Use the squashed commit message style for the PR title.
- Follow the repository PR template at
.github/PULL_REQUEST_TEMPLATE.md. - Summarize user-facing changes, risk areas, test commands run, and skipped suites with reasons.
Step 5: Push and create or update the PR
- Push the branch.
- If history was rewritten, confirm before force-pushing.
- Create or update the PR with
gh pr createorgh pr edit. - Respect
--draftwhen requested.
Guardrails
- Never create a PR from
mainormaster. - Never silently force-push over an existing PR branch.
- Never bypass
commit-conventionsfor the squashed commit. - If
ghauthentication or remote permissions fail, stop and report the exact blocker.
Output
Report:
- Base branch used
- Final commit message
- PR title
- PR URL, if creation or update succeeded
- Any steps that were skipped or require user follow-up
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.
- 2mo ago First seen · 80 lines · 34 tokens per session scan A 48f10dadf2d8
create-pr is a skill published in the GitHub repository areal-project/AReaL (5,888 stars, last pushed today), licensed Apache-2.0. It adds 34 tokens to every session and 545 once invoked, about $0.0001 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.
Other skills, from other repositories
caveman-commit
Write a Conventional Commits message compressed to intent only. Use for "write a commit", "commit message", /commit or /caveman-commit.
contextual-commit
Write contextual commits that capture intent, decisions, and constraints alongside code changes. Use when committing code, finishing a task, or when the user asks to commit. Extends Conventional Commits with structured action lines in the commit body that preserve WHY code was written, not just WHAT changed.
resolve-publish
Commit the validated fix and follow local-only, workflow-owned, or direct PR publication.
feature-publish
Commit the feature, write the PR body, publish in the selected mode, and drive the PR.
ci-commit
Only use when the user explicitly invokes this skill by name.
meta-pre-commit-quality-gate
Run three quality gates (ruff + mypy + pytest) in parallel over the staged diff, then arbitrate a single BLOCK/APPROVE verdict. Use before committing changes locally when you want a comprehensive pre-commit gate beyond per-file linting — exactly the same gate set CI enforces.