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/aneja5/forge-skills/forge-migratenpx skills add aneja5/forge-skills --skill forge-migrategit clone --depth 1 https://github.com/aneja5/forge-skillsWrote 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/aneja5/forge-skills/forge-migrate)<a href="https://agentmods.dev/skills/aneja5/forge-skills/forge-migrate"><img src="https://agentmods.dev/badge/skills/aneja5/forge-skills/forge-migrate.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.00078 | $0.01534 |
| Opus 5 | $0.00039 | $0.00767 |
| Sonnet 5 | $0.00016 | $0.00307 |
| Haiku 4.5 | $0.00008 | $0.00153 |
Grade A, and why
forge-migrate 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.
How it starts
The opening of the file, as written. The whole thing — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.
forge-migrate
Overview
Backfill forge:meta headers onto pre-existing .forge/ artifacts so they enter the dependency tracking system. Reads filenames against the canonical artifact table in references/forge-dependency-graph.md to infer generated_by and depends_on. Sets generated_at to the file's mtime (UTC), and computes content_hash from the current contents. Read-then-write only — never regenerates an artifact, just annotates what's already there.
When to Use
- Upgrading from a pre-3.2.0 forge-skills release where
.forge/artifacts had no headers forge-syncreports every artifact as "untracked" / "no header"- A teammate without the plugin produced
.forge/files on a shared branch and you want them tracked - Need to bring legacy artifacts under the dependency graph without re-running expensive skills (interviews, audits)
When NOT to Use
- The artifact is genuinely stale and should be regenerated — use the source skill instead (e.g.,
/specto refreshprd.mdrather than back-stamping it) .forge/doesn't exist — there's nothing to migrate- All artifacts already have valid
forge:metaheaders —forge-syncwill tell you this; migration is a no-op - The file isn't on the canonical artifact list — don't invent dependencies for ad-hoc files
Common Rationalizations
| Thought | Reality |
|---|---|
| "I'll just re-run every skill to get fresh headers" | Forces re-interview and re-audit — burns hours when a 30-second backfill is correct |
| "The files work without headers" | They work for reading. They break for forge-sync, /forge-migrate itself, and downstream staleness detection. |
| "I'll write the headers by hand" | Hand-written headers drift from the schema. The skill enforces UTC, hash format, dependency inference. |
| "Use today's timestamp — it's close enough" | Today's timestamp tells forge-sync the artifact is newer than its upstream. False UP_TO_DATE. Use the file's mtime. |
| "All artifacts depend on prd.md, just list that" | Inferring depends_on from the canonical graph keeps cascade rules correct. Don't fabricate dependencies. |
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 · 130 lines · 78 tokens per session scan A b69dd2f4d024
forge-migrate is a skill published in the GitHub repository aneja5/forge-skills (3 stars, last pushed 3mo ago), licensed MIT. It adds 78 tokens to every session and 1,534 once invoked, about $0.0004 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-09-03.
Other skills, from other repositories
link-ticket-to-session
Link the current Claude Code session to a ticket (Linear, Jira, GitHub Issues, or GitHub Pull Requests) and cache its title/status in karma. Use when the user explicitly asks to link, attach, associate, or connect this session to a ticket, issue, or PR — e.g. "/link-ticket-to-session ABC-123", "link this session to…
implement
Use when implementing a spec or GitHub ticket in this checkout.
loop-on-ci
Monitor PR checks and fix failures until green. Uses gh pr checks as the source of truth for PR-attached checks.
run-smoke-tests
Run Playwright smoke tests, debug failures, and verify fixes. Use for smoke, e2e, Playwright, or pre-ship browser verification.
browser-use
Drive a real browser to QA a running app. Screenshots, clicks, forms, evidence. Use when there is no Playwright suite, or when a human flow must be walked.
tdd
Use when implementing features or bug fixes test-first.