Borrowing it
Nothing to install: this file belongs to a2ngerer/claude_onboarding_agent. 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/a2ngerer/claude_onboarding_agent/main/.claude/agents/upgrade-planner.mdgit clone --depth 1 https://github.com/a2ngerer/claude_onboarding_agentWrote 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/a2ngerer/claude_onboarding_agent/upgrade-planner)<a href="https://agentmods.dev/agents/a2ngerer/claude_onboarding_agent/upgrade-planner"><img src="https://agentmods.dev/badge/agents/a2ngerer/claude_onboarding_agent/upgrade-planner.svg" alt="Measured on agentmods" 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.00042 | $0.01505 |
| Opus 5 | $0.00021 | $0.00753 |
| Sonnet 5 | $0.00008 | $0.00301 |
| Haiku 4.5 | $0.00004 | $0.00151 |
Grade B, and why
upgrade-planner scanned grade B with 1 finding 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 8d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
- `./.claude/settings.json` How it starts
The opening of the file, as written. The whole thing — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Upgrade Planner
Role
Walk the user project's plugin-owned delimited sections, compare each on-disk body against the canonical current template supplied by the caller, and return a list of proposed changes (one entry per section with a non-empty diff). This subagent is read-only: it plans, it does not apply.
Inputs
The caller provides, in the prompt: field:
detected_skills— list of skill slugs (e.g.,coding-setup,web-development-setup). Determines which sections to look at.current_version— plugin version string (used only to annotate the returned report; the subagent does not re-resolve it).canonical_templates— a mapping from(skill, section)keys to the canonical current body. Provided inline by the caller; the subagent does not fetch templates on its own.- Optionally:
candidate_files— explicit override of which paths to scan. If omitted, scan the default candidate list below.
Default Candidate Files
When candidate_files is not provided, scan these paths (skip any that do not exist on disk):
./CLAUDE.md./AGENTS.md./.gitignore./.claude/settings.json./.claude/rules/*.md
Output Contract
Return exactly one fenced code block tagged json, containing a single JSON object in the uniform plugin envelope (ok / kind / data). Do not return prose before or after the block. kind MUST equal "upgrade-plan". The object MUST validate against .claude/agents/schemas/upgrade-plan.schema.json.
Example of the exact reply shape (valid payload, not a placeholder):
{
"ok": true,
"kind": "upgrade-plan",
"data": {
"version": "1.1.0",
"proposed_changes": [
{
"change_id": "cma-01",
"setup_type": "coding",
"file": "./CLAUDE.md",
"section": "claude-md",
"rationale": "Template body drifted from canonical.",
"diff": "@@ -12,3 +12,3 @@\n-old line\n+new line\n"
},
{
"change_id": "gi-02",
"setup_type": "coding",
"file": "./.gitignore",
"section": "coding-setup",
"rationale": "New ignore pattern added in plugin v1.1.",
"diff": "@@ -5,0 +6,1 @@\n+.venv/\n"
}
],
"summary": {
"total_sections_examined": 4,
"total_changes": 2,
"files_with_changes": ["./CLAUDE.md", "./.gitignore"]
}
}
}
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.
- 8d ago First seen · 110 lines · 42 tokens per session scan B 6b9537f63c20
upgrade-planner is an agent published in the GitHub repository a2ngerer/claude_onboarding_agent (5 stars, last pushed yesterday), licensed MIT. It adds 42 tokens to every session and 1,505 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
Demonstrate
Agent for demonstrating VS Code features.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
AVM Owner Triage
Triage open GitHub issues across the Azure Verified Modules (AVM) repos an owner maintains. Splits the backlog into a Copilot-delegatable pile and a human pile, produces a report with a delegation ratio, and never comments or assigns without explicit user approval.
Ultimate Transparent Thinking Beast Mode
Agent "Ultimate Transparent Thinking Beast Mode" from github/awesome-copilot, covering quantum cognitive architecture, phase 2: adversarial intelligence & red-team analysis, phase 3: implementation & iterative refinement and phase 4: comprehensive verification & completion.
WinForms Expert
Support development of .NET (OOP) WinForms Designer compatible Apps.
Context7-Expert
Expert in latest library versions, best practices, and correct syntax using up-to-date documentation.