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 commands/andronics/claude-plugin-typescript-pro/ts-migrategit clone --depth 1 https://github.com/andronics/claude-plugin-typescript-proWhat 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.00012 | $0.00946 |
| Opus 5 | $0.00006 | $0.00473 |
| Sonnet 5 | $0.00002 | $0.00189 |
| Haiku 4.5 | $0.00001 | $0.00095 |
Grade A, and why
ts-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.
What it actually says
Migrate JavaScript code to TypeScript with step-by-step guidance:
-
Analyze Migration Scope
- If $ARGUMENTS provided, use as file pattern to migrate
- Otherwise, analyze entire project:
- Count JS vs TS files
- Identify dependencies between files
- Determine migration complexity
- Calculate estimated effort
- Create dependency graph to determine migration order
-
Plan Migration Strategy
- Order of Migration:
- Type definition files (create .d.ts)
- Utility functions and constants
- Leaf modules (no internal dependencies)
- Core business logic
- React components (if applicable)
- Main application files
- Show migration plan with file groups
- Identify high-risk files (complex, many dependencies)
- Order of Migration:
-
Prepare Environment
- Check if TypeScript is installed
- Review tsconfig.json settings (should be permissive initially)
- Ensure allowJs: true for gradual migration
- Set up @types packages for dependencies
- Create custom type declarations for untyped libraries
-
Migrate Files One by One
For each file in migration order:
Step A: Rename & Basic Typing
- Rename .js → .ts (or .jsx → .tsx)
- Add explicit return types to functions
- Type function parameters
- Type variable declarations where needed
Step B: Convert Patterns
- PropTypes → TypeScript interfaces (React)
- JSDoc types → TypeScript annotations
- require() → import statements (if needed)
- module.exports → export statements
Step C: Handle Type Issues
- Resolve implicit any errors
- Add type guards for dynamic code
- Type event handlers correctly
- Handle null/undefined properly
Step D: Improve Type Safety
- Replace any with specific types
- Add union types for multiple possibilities
- Use discriminated unions for state
- Add readonly for immutability
Step E: Verify
- Run type checker:
tsc --noEmit - Fix any type errors
- Ensure tests still pass
- Verify build succeeds
-
Handle Common Migration Challenges
Dynamic Property Access:
// Before function getValue(obj, key) { return obj[key]; } // After function getValue<T, K extends keyof T>(obj: T, key: K): T[K] { return obj[key]; }Mixed Return Types:
// Before function getUser(id) { if (!id) return null; return fetchUser(id); } // After function getUser(id: number | undefined): Promise<User> | null { if (!id) return null; return fetchUser(id); }Untyped Libraries:
// Create ambient declaration // types/my-library.d.ts declare module 'my-library' { export function doSomething(arg: string): number; } -
Track Progress
- Show percentage of files migrated
- Count remaining JS files
- List next files to migrate
- Estimate remaining effort
-
Post-Migration Cleanup
- Remove PropTypes dependencies
- Delete unnecessary @ts-ignore comments
- Remove redundant type assertions
- Update build scripts (remove Babel if using tsc)
- Update documentation
-
Gradual Strict Mode Adoption
- After basic migration, suggest enabling strict flags
- Recommend using
/ts-strictcommand - Set timeline for full strict mode adoption
-
Create Migration Report
- Files migrated count
- Type errors resolved count
- Remaining TODOs
- Suggested next steps
- Breaking changes (if any)
Examples:
/ts-migrate- Migrate entire project/ts-migrate src/components/*.js- Migrate specific files/ts-migrate --dry-run- Show plan without changes/ts-migrate src/utils- Migrate directory
The migration will be incremental, safe, and preserve all functionality while adding type safety.
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 · 140 lines · 12 tokens per session scan A 7ef1ada8eeca
ts-migrate is a command published in the GitHub repository andronics/claude-plugin-typescript-pro (4 stars, last pushed 10mo ago), licensed MIT. It adds 12 tokens to every session and 946 once invoked, about $0.0001 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 commands, from other repositories
build-fix
빌드 에러를 자동으로 분석하고 수정합니다.
test-ts
Run TypeScript tests for Solana frontends and Anchor programs.
types
Debug and fix TypeScript type errors with systematic analysis and expert guidance.
setup-project
Initialize a new Bun + TypeScript backend project with best practices setup (Hono, Prisma, Biome, testing, Docker).
sdk
Create or extract TypeScript SDK.
scaffold-react
Quickly scaffold a new React + TypeScript project with Claude Code configuration.