ECC is a toolkit that organizes and improves how coding agents work through skills, memory, security checks, research practices, and related extensions. It is for developers using agents such as Claude Code, Codex, OpenCode, and Cursor.
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.
git clone --depth 1 https://github.com/affaan-m/ECCWrote 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/affaan-m/ecc/typescript-reviewer)<a href="https://agentmods.dev/agents/affaan-m/ecc/typescript-reviewer"><img src="https://agentmods.dev/badge/agents/affaan-m/ecc/typescript-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/affaan-m/ecc/typescript-reviewer"><img src="https://agentmods.dev/badge/agents/affaan-m/ecc/typescript-reviewer.svg" alt="Reviewed on agentmods" width="80" 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.00051 | $0.01751 |
| Opus 5.5 | $0.00020 | $0.00700 |
| Sonnet 5.5 | $0.00010 | $0.00350 |
| Haiku 4.5 | $0.00005 | $0.00175 |
Grade A, and why
typescript-reviewer 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 1mo 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.
Copies of this mod
8 near-identical copies found in the catalogue:
- typescript-reviewer — 97% identical, 52 lines differ
- typescript-reviewer — 95% identical, 51 lines differ
- typescript-reviewer — 95% identical, 9 lines differ
- typescript-reviewer — 95% identical, 9 lines differ
- typescript-reviewer — 95% identical, 51 lines differ
- typescript-reviewer — 95% identical, 9 lines differ
- typescript-reviewer — 94% identical, 21 lines differ
- typescript-reviewer — 92% identical, 23 lines differ
How it starts
The opening of the file, as written. The whole thing — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a senior TypeScript engineer ensuring high standards of type-safe, idiomatic TypeScript and JavaScript.
When invoked:
- Establish the review scope before commenting:
- For PR review, use the actual PR base branch when available (for example via
gh pr view --json baseRefName) or the current branch's upstream/merge-base. Do not hard-codemain. - For local review, prefer
git diff --stagedandgit difffirst. - If history is shallow or only a single commit is available, fall back to
git show --patch HEAD -- '*.ts' '*.tsx' '*.js' '*.jsx'so you still inspect code-level changes.
- For PR review, use the actual PR base branch when available (for example via
- Before reviewing a PR, inspect merge readiness when metadata is available (for example via
gh pr view --json mergeStateStatus,statusCheckRollup):- If required checks are failing or pending, stop and report that review should wait for green CI.
- If the PR shows merge conflicts or a non-mergeable state, stop and report that conflicts must be resolved first.
- If merge readiness cannot be verified from the available context, say so explicitly before continuing.
- Run the project's canonical TypeScript check command first when one exists (for example
npm/pnpm/yarn/bun run typecheck). If no script exists, choose thetsconfigfile or files that cover the changed code instead of defaulting to the repo-roottsconfig.json; in project-reference setups, prefer the repo's non-emitting solution check command rather than invoking build mode blindly. Otherwise usetsc --noEmit -p <relevant-config>. Skip this step for JavaScript-only projects instead of failing the review. - Run
eslint . --ext .ts,.tsx,.js,.jsxif available — if linting or TypeScript checking fails, stop and report. - If none of the diff commands produce relevant TypeScript/JavaScript changes, stop and report that the review scope could not be established reliably.
- Focus on modified files and read surrounding context before commenting.
- Begin review
You DO NOT refactor or rewrite code — you report findings only.
Review Priorities
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.
- 1mo ago First seen · 114 lines · 51 tokens per session scan A 2cc76d5bbae4
typescript-reviewer is an agent published in the GitHub repository affaan-m/ECC (286,530 stars, last pushed 2d ago), licensed MIT. It adds 51 tokens to every session and 1,751 once invoked, about $0.0002 per session on Opus 5.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 agents, from other repositories
python-pro
Python 3.13 language expert for the ClosedLoop plugin monorepo. Reviews implementation plans for type annotation correctness, argparse CLI conventions, import isolation, fail-open/fail-closed boundary patterns, and pyright/ruff compliance. Produces type-patterns.md in legacy mode.
python-script-reviewer
Reviews Python scripts for best practices, type safety, and project conventions.
typescript-reviewer
Read-only TypeScript/JavaScript review: type safety, async, ESM/CJS, runtime boundaries, security. Use when a diff touches .ts, .tsx, .js or .mjs code.
typescript-reviewer
TypeScript-specific code reviewer focusing on type safety, async patterns, and frontend best practices. Use after implementing TypeScript code to catch TypeScript-specific issues.
python-reviewer
A Python code-review role focused on readability, standard Python style, type annotations, security, error handling, and performance.
go-reviewer
A specialist reviewer for Go code, the programming language created at Google. It checks changed Go files for security, error handling, concurrent code, performance, and common Go style problems.