Borrowing it
Nothing to install: this file belongs to macromania/agentop. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/macromania/agentop/main/.github/skills/typescript-patterns/SKILL.mdgit clone --depth 1 https://github.com/macromania/agentopWrote 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/macromania/agentop/typescript-patterns)<a href="https://agentmods.dev/skills/macromania/agentop/typescript-patterns"><img src="https://agentmods.dev/badge/skills/macromania/agentop/typescript-patterns/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/skills/macromania/agentop/typescript-patterns"><img src="https://agentmods.dev/badge/skills/macromania/agentop/typescript-patterns.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.00055 | $0.02587 |
| Opus 5.5 | $0.00022 | $0.01035 |
| Sonnet 5.5 | $0.00011 | $0.00517 |
| Haiku 4.5 | $0.00006 | $0.00259 |
Grade A, and why
typescript-patterns 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 2mo 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 — 429 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TypeScript Best Practices
Modern TypeScript patterns for type-safe, maintainable code with maximum developer experience.
When to Use This Skill
- Designing interfaces and types
- Working with generics
- Creating type-safe APIs
- Implementing type guards
- Building utility types
Core Principles
Use TypeScript Strict Mode
// tsconfig.json
{
"compilerOptions": {
"strict": true,
"noUncheckedIndexedAccess": true,
"exactOptionalPropertyTypes": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
}
}
Prefer interface for Objects
// ✅ GOOD: Interface for object shapes
interface Task {
id: string;
title: string;
status: TaskStatus;
}
// ✅ GOOD: Type for unions, primitives, utilities
type TaskStatus = 'pending' | 'active' | 'completed';
type TaskId = string;
type TaskRecord = Record<string, Task>;
// Interface can be extended
interface TimestampedTask extends Task {
createdAt: Date;
updatedAt: Date;
}
Make Invalid States Unrepresentable
// ❌ BAD: Allows invalid states
interface Session {
status: 'idle' | 'running' | 'completed' | 'error';
startedAt?: Date;
completedAt?: Date;
error?: Error;
result?: SessionResult;
}
// Can have error with status 'completed', result with status 'idle', etc.
// ✅ GOOD: Discriminated union - each state is explicit
type Session =
| { status: 'idle' }
| { status: 'running'; startedAt: Date }
| { status: 'completed'; startedAt: Date; completedAt: Date; result: SessionResult }
| { status: 'error'; startedAt: Date; error: Error };
// TypeScript enforces correct fields for each state
function handleSession(session: Session) {
switch (session.status) {
case 'idle':
// Only idle-specific fields available
return 'Ready to start';
case 'running':
// startedAt is guaranteed to exist
return `Running since ${session.startedAt.toISOString()}`;
case 'completed':
// result is guaranteed to exist
return `Completed: ${session.result.summary}`;
case 'error':
// error is guaranteed to exist
return `Error: ${session.error.message}`;
}
}
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.
- 2mo ago First seen · 429 lines · 55 tokens per session scan A c0712cba8311
typescript-patterns is a skill published in the GitHub repository macromania/agentop (11 stars, last pushed 7mo ago), licensed MIT. It adds 55 tokens to every session and 2,587 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-08-31.
typescript-patterns compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| typescript-patternsmacromania/agentop | Skill | 11 | 7mo ago | MIT | A | 55 | Claude Code, Codex |
| freelance-gig-findertinyfish-io/tinyfish-cookbook | Skill | 2.3k | 3d ago | MIT | A | 98 | Claude Code, Codex |
| fetchtinyfish-io/tinyfish-cookbook | Skill | 2.3k | 3d ago | MIT | A | 121 | Claude Code |
| chat-sdkvercel-labs/open-agents | Skill | 5.9k | 2mo ago | MIT | A | 191 | Claude Code, Codex |
| oss-bounty-findertinyfish-io/tinyfish-cookbook | Skill | 2.3k | 3d ago | MIT | B | 242 | Claude Code, Codex |
| typescript-strictBlackBeltTechnology/pi-agent-dashboard | Skill | 341 | 2d ago | MIT | A | 41 | Claude Code, Codex |
| buncode-yeongyu/senpi | Skill | 511 | yesterday | MIT | A | 237 | Claude Code, Codex |