/opus-4-7-migration
Scan a repository for Opus-4.6-era patterns that break or degrade on Opus 4.7 — fixed-budget Extended Thinking parameters, retired model ID aliases, and prompts that assumed verbose default output or eager sub-agent delegation. Produces a categorized report with file:line
$ npx -y skills add Mathews-Tom/armory --skill opus-4-7-migration --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/opus-4-7-migration
Context preview
The summary Claude sees to decide when to auto-load this skill.
Scan a repository for Opus-4.6-era patterns that break or degrade on Opus 4.7 — fixed-budget Extended Thinking parameters, retired model ID aliases, and prompts that assumed verbose default output or eager sub-agent delegation. Produces a categorized report with file:line
SKILL.md
opus-4-7-migration.SKILL.mdname: opus-4-7-migration
description: 'Scan a repository for Opus-4.6-era patterns that break or degrade on Opus 4.7 — fixed-budget Extended Thinking parameters, retired model ID aliases, and prompts that assumed verbose default output or eager sub-agent delegation. Produces a categorized report with file:line references and migration actions. Triggers on: "opus 4.7 migration", "migrate to opus 4.7", "audit for opus 4.7", "opus 4.6 to 4.7", "scan for budget_tokens", "find retired model IDs", "adapt repo to opus 4.7". NOT for implementing migrations — this skill identifies candidates.'
metadata:
version: 1.0.0
category: review
tags: [opus-4-7, migration, audit, model-refresh, budget-tokens]
difficulty: intermediate
phase: review
Opus 4.7 Migration Scanner
Identify patterns in a repository that break or silently degrade when the Anthropic platform routes to Opus 4.7. Produces a categorized report with file:line references so a maintainer can plan a scoped migration PR rather than chasing symptoms after the fact.
Reference Files
| File | Contents | Load When | | ----------------------------- | ------------------------------------------------------------- | ---------------------------------- | | `scripts/scan.py` | Repo scanner producing a categorized findings report | Always | | `references/migration-map.md` | Per-category migration actions with before/after code samples | When a category returns findings |
When to Run
- Before upgrading a service or agent stack to Opus 4.7
- When an existing Anthropic SDK integration starts returning errors after the platform rolled out 4.7
- Periodically in a CI or weekly audit to prevent drift as the repo grows
- Before publishing a package that downstream users will run against 4.7
Scope — What the Scanner Flags
The scanner is intentionally narrow. It reports three categories of **deterministic** patterns plus two **heuristic** categories that require manual review.
Category A — Fixed-budget Extended Thinking (deterministic)
Opus 4.7 does not support Extended Thinking with a fixed `budget_tokens` value. Code that still passes `thinking={"type": "enabled", "budget_tokens": N}` fails or is ignored depending on SDK version.
Patterns flagged:
- Literal `budget_tokens=` in Python source
- `"budget_tokens"` keys inside `thinking={...}` dict literals
- `.thinking.budget_tokens` attribute references
Category B — Retired model ID aliases (deterministic)
Dated or superseded Claude model aliases that no longer map to the current model. Using them is not broken but defeats the platform's model routing.
Patterns flagged:
- `claude-opus-4-5`, `claude-opus-4-4`, `claude-opus-4-3`, `claude-opus-4-2`, `claude-opus-4-1`, `claude-opus-4-0`
- `claude-sonnet-4-5`, `claude-sonnet-4-4`, `claude-sonnet-4-3`, `claude-sonnet-4-2`, `claude-sonnet-4-1`, `claude-sonnet-4-0`
- Dated format aliases: `claude-*-20250514`, `claude-*-20241022`, etc.
- `claude-3-*` family (superseded)
Category C — Hardcoded model references outside config (deterministic)
Per the armory convention "model refs in config files only," any `claude-*` literal in `.py` / `.ts` / `.js` source code outside of `config.toml`, `.env`, or test-only sentinel strings is a candidate for extraction.
Category D — Opus-4.6-verbosity-assuming prompts (heuristic)
Opus 4.7 is less default-verbose than 4.6. Prompts that relied on Opus 4.6's eager output or never needed a depth cue may produce shorter-than-expected responses on 4.7.
Patterns flagged (review required):
- Prompts requesting "detailed" or "comprehensive" output without matching length directive
- Prompts that exceeded Opus 4.6's defaults by relying on implicit verbosity
- Absence of first-turn specification completeness in agent prompts
Category E — Non-explicit parallel sub-agent dispatch (heuristic)
Opus 4.7 delegates more judiciously than 4.6. Agent prompts instructing "spawn in parallel" without the phrase "in a single message" or stating sub-task independence often serialize on 4.7.
Patterns flagged (review required):
- `Spawn` + `parallel` language in agent prompts without "single message" or "independent"
- `subagent_type` dispatches in loops or sequential blocks where parallelism was intended
Workflow
Phase 1: Run the Scanner
Execute:
python3 scripts/scan.py /path/to/repo
Optional flags:
- `--categories A,B,C` — run only deterministic categories (skip heuristics)
- `--exclude tests/,vendor/,node_modules/` — path exclusion
- `--format json` — machine-readable output for CI integration
- `--exit-code` — exit 1 if any findings (useful for pre-commit hooks)
Phase 2: Triage Findings
Group findings by category and sort by severity. Deterministic categories (A, B, C) are always actionable. Heuristic categories (D, E) require reading the surrounding prompt context before editing.
Priority order for a migration PR:
1. **Category A** first — these either error out or silently do the wrong thing on 4.7 2. **Category B** — rename to current logical aliases (`claude-opus-4-7`, `claude-sonnet-4-6`, `claude-haiku-4-5`) or to the platform's auto-routing name 3. **Category C** — extract to `config.toml` per repo convention 4. **Category D, E** — manual review; fix those that materially change behavior
Phase 3: Write the Migration PR
For each category with findings, apply the actions documented in `references/migration-map.md`. Prefer small PRs grouped by category over one large PR.
Pair the migration with:
- Unit tests or integration tests that exercise the updated code paths on Opus 4.7
- A short CHANGELOG entry noting "Opus 4.7 compatibility: removed `budget_tokens` from …"
- A rollout plan if the service is production-critical (`high`/`xhigh` effort level on the targeted agents)
Output Format
The scan
Read more
name: opus-4-7-migration description: 'Scan a repository for Opus-4.6-era patterns that break or degrade on Opus 4.7 — fixed-budget Extended Thinking parameters, retired model ID aliases, and prompts that assumed verbose default output or eager sub-agent delegation. Produces a categorized report with file:line references and migration actions. Triggers on: "opus 4.7 migration", "migrate to opus 4.7", "audit for opus 4.7", "opus 4.6 to 4.7", "scan for budget_tokens", "find retired model IDs", "adapt repo to opus 4.7". NOT for implementing migrations — this skill identifies candidates.' metadata: version: 1.0.0 category: review tags: [opus-4-7, migration, audit, model-refresh, budget-tokens] difficulty: intermediate phase: review
Opus 4.7 Migration Scanner
Identify patterns in a repository that break or silently degrade when the Anthropic platform routes to Opus 4.7. Produces a categorized report with file:line references so a maintainer can plan a scoped migration PR rather than chasing symptoms after the fact.
Reference Files
| File | Contents | Load When | | ----------------------------- | ------------------------------------------------------------- | ---------------------------------- | | `scripts/scan.py` | Repo scanner producing a categorized findings report | Always | | `references/migration-map.md` | Per-category migration actions with before/after code samples | When a category returns findings |
When to Run
- Before upgrading a service or agent stack to Opus 4.7
- When an existing Anthropic SDK integration starts returning errors after the platform rolled out 4.7
- Periodically in a CI or weekly audit to prevent drift as the repo grows
- Before publishing a package that downstream users will run against 4.7
Scope — What the Scanner Flags
The scanner is intentionally narrow. It reports three categories of **deterministic** patterns plus two **heuristic** categories that require manual review.
Category A — Fixed-budget Extended Thinking (deterministic)
Opus 4.7 does not support Extended Thinking with a fixed `budget_tokens` value. Code that still passes `thinking={"type": "enabled", "budget_tokens": N}` fails or is ignored depending on SDK version.
Patterns flagged:
- Literal `budget_tokens=` in Python source
- `"budget_tokens"` keys inside `thinking={...}` dict literals
- `.thinking.budget_tokens` attribute references
Category B — Retired model ID aliases (deterministic)
Dated or superseded Claude model aliases that no longer map to the current model. Using them is not broken but defeats the platform's model routing.
Patterns flagged:
- `claude-opus-4-5`, `claude-opus-4-4`, `claude-opus-4-3`, `claude-opus-4-2`, `claude-opus-4-1`, `claude-opus-4-0`
- `claude-sonnet-4-5`, `claude-sonnet-4-4`, `claude-sonnet-4-3`, `claude-sonnet-4-2`, `claude-sonnet-4-1`, `claude-sonnet-4-0`
- Dated format aliases: `claude-*-20250514`, `claude-*-20241022`, etc.
- `claude-3-*` family (superseded)
Category C — Hardcoded model references outside config (deterministic)
Per the armory convention "model refs in config files only," any `claude-*` literal in `.py` / `.ts` / `.js` source code outside of `config.toml`, `.env`, or test-only sentinel strings is a candidate for extraction.
Category D — Opus-4.6-verbosity-assuming prompts (heuristic)
Opus 4.7 is less default-verbose than 4.6. Prompts that relied on Opus 4.6's eager output or never needed a depth cue may produce shorter-than-expected responses on 4.7.
Patterns flagged (review required):
- Prompts requesting "detailed" or "comprehensive" output without matching length directive
- Prompts that exceeded Opus 4.6's defaults by relying on implicit verbosity
- Absence of first-turn specification completeness in agent prompts
Category E — Non-explicit parallel sub-agent dispatch (heuristic)
Opus 4.7 delegates more judiciously than 4.6. Agent prompts instructing "spawn in parallel" without the phrase "in a single message" or stating sub-task independence often serialize on 4.7.
Patterns flagged (review required):
- `Spawn` + `parallel` language in agent prompts without "single message" or "independent"
- `subagent_type` dispatches in loops or sequential blocks where parallelism was intended
Workflow
Phase 1: Run the Scanner
Execute:
python3 scripts/scan.py /path/to/repo
Optional flags:
- `--categories A,B,C` — run only deterministic categories (skip heuristics)
- `--exclude tests/,vendor/,node_modules/` — path exclusion
- `--format json` — machine-readable output for CI integration
- `--exit-code` — exit 1 if any findings (useful for pre-commit hooks)
Phase 2: Triage Findings
Group findings by category and sort by severity. Deterministic categories (A, B, C) are always actionable. Heuristic categories (D, E) require reading the surrounding prompt context before editing.
Priority order for a migration PR:
1. **Category A** first — these either error out or silently do the wrong thing on 4.7 2. **Category B** — rename to current logical aliases (`claude-opus-4-7`, `claude-sonnet-4-6`, `claude-haiku-4-5`) or to the platform's auto-routing name 3. **Category C** — extract to `config.toml` per repo convention 4. **Category D, E** — manual review; fix those that materially change behavior
Phase 3: Write the Migration PR
For each category with findings, apply the actions documented in `references/migration-map.md`. Prefer small PRs grouped by category over one large PR.
Pair the migration with:
- Unit tests or integration tests that exercise the updated code paths on Opus 4.7
- A short CHANGELOG entry noting "Opus 4.7 compatibility: removed `budget_tokens` from …"
- A rollout plan if the service is production-critical (`high`/`xhigh` effort level on the targeted agents)
Output Format
The scan
Curated, production-grade skills, agents, hooks, rules, commands, utilities, and presets for AI coding agents. No magic, no demos — battle-tested workflows built for developers who use AI seriously.
Repo: Mathews-Tom/armory
Other skills on armory.
- /adr-writer
Generates Architecture Decision Records capturing context, rationale, alternatives, and consequences in numbered status-tracked format. Triggers on: "write an ADR", "document this decision", "architecture decision record", "decision record", "design decision", "ADR for".
Open skill - /agent-builder
Build AI agents and automate Claude Code programmatically via the Claude Agent SDK and headless CLI mode. Covers Python SDK, claude -p, SDK MCP servers, hooks, sessions. Triggers on: "build an agent", "agent SDK", "headless mode", "automate Claude", "programmatic agent".
Open skill - /api-docs-generator
Audits and enhances FastAPI and REST API documentation: missing descriptions, response codes, examples, docstrings, Pydantic models, OpenAPI spec. Triggers on: "generate API docs", "document this API", "OpenAPI for", "FastAPI docs", "document endpoints", "swagger docs".
Open skill - /architecture-diagram
Generate layered architecture diagrams as self-contained HTML with inline SVG icons, CSS Grid containers, and connection overlays. Triggers on: "architecture diagram", "infra diagram", "system diagram", "deployment diagram", "topology", "draw architecture". NOT for architecture
Open skill - /architecture-reviewer
Architecture reviews across 7 dimensions (structural, scalability, enterprise readiness, performance, security, ops, data) with scored reports. Triggers on: "review architecture", "critique design", "audit system", "assess scalability", "enterprise readiness", "technical due
Open skill - /arxiv-figures
Optimize and prepare figures for arXiv submission: format conversion (EPS/PDF/PNG/JPG), size reduction, metadata stripping, processor compatibility (DVI vs PDFLaTeX). Triggers on: "optimize figures for arXiv", "reduce figure size", "convert figures for arXiv", "fix arXiv
Open skill

