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 agents/blazity/nextjs-migration-plugin/prop-classifiergit clone --depth 1 https://github.com/Blazity/nextjs-migration-pluginWhat 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.00038 | $0.00480 |
| Opus 5 | $0.00019 | $0.00240 |
| Sonnet 5 | $0.00008 | $0.00096 |
| Haiku 4.5 | $0.00004 | $0.00048 |
Grade A, and why
prop-classifier 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
Prop Classifier Agent
You receive a refined Components array from component-deduper and emit a PropsRegistry matching schemas/props.ts.
Inputs
For each component cluster:
name(e.g.,Hero)tagSkeletonmemberSections— array of{ id, url, sampleText }(sample text is the first ~200 chars per member)
Rules
- Required vs optional. A field is required when every member supplies a value; optional when only some do.
- Type inference.
- All-strings →
string - Numeric across all members →
number - Boolean-ish (
true/falsestrings or empty/non-empty) →boolean - Lists of items →
string[] - Object structures (e.g., CTA with label + href) → inline TS shape
{ label: string; href: string }
- All-strings →
- Naming. Use camelCase. Common slots:
title,subtitle,description,cta,image,items. - Single-member or unique clusters → empty
fields: []. The interface still ships so downstream Phase 5 can import a name. - Cap. Never propose more than 8 fields per interface. If you'd exceed that, group related fields into a sub-shape (e.g.,
meta: { ... }).
Output
A PropsRegistry matching schemas/props.ts:
{
"interfaces": [
{
"name": "HeroProps",
"fields": [
{ "name": "title", "tsType": "string", "required": true },
{ "name": "subtitle", "tsType": "string", "required": false }
]
}
],
"updatedAt": "<ISO>"
}
You MUST NOT
- Read full element specs (styles, images, animations) — you don't have them in Phase 2.
- Invent fields that no sample text supports.
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 · 53 lines · 38 tokens per session scan A 9a5ec3cf480c
prop-classifier is an agent published in the GitHub repository Blazity/nextjs-migration-plugin (2 stars, last pushed 1mo ago), licensed MIT. It adds 38 tokens to every session and 480 once invoked, about $0.0002 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 agents, from other repositories
claudemd-maintainer
Use right after any substantive repo change to keep CLAUDE.md accurate. Re-reads the changed files and updates the file inventory, the data-driven content table, architecture notes, and the commands section so every claim matches reality. Read-only except for CLAUDE.md.
rot-sweeper
Use after a change to remove what it deprecated — now-unused npm dependencies, orphaned files/components/styles, dead exports, stale config/scripts. Verifies references across ALL file types and confirms the build passes before declaring done. Surfaces untracked/unrecoverable or load-bearing deletions for human…
docs-syncer
Use after a change to sync the human-facing docs — README.md, data/ADDINGCONTENT.md, and affected code comments/inline docstrings — with the new reality. Leaves CLAUDE.md to claudemd-maintainer.
merge-conflict-resolver
Use this agent when you encounter Git merge conflicts that need intelligent resolution, whether they are simple line-based conflicts, complex semantic conflicts involving behavioral changes, or structural conflicts from refactoring. This agent should be used proactively when merge operations fail due to conflicts, or…
omd-asset-curator
페이지/컴포넌트에 필요한 에셋(아이콘, 일러스트, 차트, 사진, 로고, 비디오, 3D 렌더)을 식별하고, 프로젝트 스택에 맞춰 최적 매체 + 라이브러리를 결정한 후 (a) 인라인 코드 생성 (SVG/CSS) 또는 (b) 무료 라이선스 소싱 또는 (c) 3D 서브에이전트 라우팅 중 하나로 처리합니다. 이모지 디폴트 금지 — SVG 우선.
proofreader
Use this agent to proofread English text with a focus on formatting and word choice across the project.