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/macromania/agentop/typescript-patternsnpx skills add macromania/agentop --skill typescript-patternsgit clone --depth 1 https://github.com/macromania/agentopWhat 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.00055 | $0.02587 |
| Opus 5 | $0.00028 | $0.01293 |
| Sonnet 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 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 — 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.
- 2d ago First seen · 429 lines · 55 tokens per session scan A c0712cba8311
typescript-patterns is a skill published in the GitHub repository macromania/agentop (10 stars, last pushed 5mo ago), licensed MIT. It adds 55 tokens to every session and 2,587 once invoked, about $0.0003 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 skills, from other repositories
aatmf-t10-confidentiality-breach
AATMF T10 — Integrity & Confidentiality Breach. System prompt extraction, training-data extraction, model-weight leakage, private-key recovery.
peekaboo
Capture and automate macOS UI with the Peekaboo CLI.
mochi-remind
Handle due reminders — notify the user with natural language and mark them done.
publish-registry
Publish @agentos-software/ registry packages from AgentOS. Use whenever the user asks to publish or release registry software/agent packages.
sidewinder-rattlesnake
Adversary-emulation profile for SideWinder (G0121 / Rattlesnake / T-APT-04 / Razor Tiger), India's suspected state-sponsored cyber-espionage actor.
lazarus-group
Adversary-emulation profile for Lazarus Group (G0032, aka Hidden Cobra / Diamond Sleet / Labyrinth Chollima), a North Korean RGB-linked actor conducting espionage, destructive, and financially motivated operations.