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/dynokostya/just-works/typescript-codingnpx skills add Dynokostya/just-works --skill typescript-codinggit clone --depth 1 https://github.com/Dynokostya/just-worksWrote 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/dynokostya/just-works/typescript-coding)<a href="https://agentmods.dev/skills/dynokostya/just-works/typescript-coding"><img src="https://agentmods.dev/badge/skills/dynokostya/just-works/typescript-coding.svg" alt="Measured on agentmods" 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.00063 | $0.03502 |
| Opus 5 | $0.00032 | $0.01751 |
| Sonnet 5 | $0.00013 | $0.00700 |
| Haiku 4.5 | $0.00006 | $0.00350 |
Grade A, and why
typescript-coding scanned grade A with 1 finding 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 yesterday.
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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
return fetch(url, { signal: signal ? AbortSignal.any([signal, timeout]) : timeout }); How it starts
The opening of the file, as written. The whole thing — 413 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TypeScript Coding
Match the project's existing conventions. When uncertain, read 2-3 existing files to infer the local style. Check tsconfig.json for strict mode, target, module, and moduleResolution settings. Check package.json for runtime (Node.js, Deno, Bun) and dependency versions. These defaults apply only when the project has no established convention.
Never rules
These are unconditional. They prevent bugs and vulnerabilities regardless of project style.
- Never use
any— contagious type erasure that disables all downstream checking. Useunknownand narrow with type guards, or use generics with constraints. - Never use
@ts-ignore— permanently suppresses errors with no feedback when conditions change. Use@ts-expect-errorwith a justification comment; it fails the build when the suppressed error disappears. - Never use
astype assertions on external data — zero runtime validation; the program continues with corrupted state until it crashes far from the source. Validate at system boundaries with ZodsafeParseor equivalent runtime validators. - Never use
!non-null assertion without proof — tells TypeScript a value is notnullwithout any runtime check. Use nullish coalescing (??), optional chaining (?.), or explicitifchecks. - Never leave a Promise floating — unhandled rejections cause silent failures or process termination. Always
await, chain.catch(), or prefix withvoidand add an error handler. - Never mutate function parameters — objects and arrays are passed by reference; mutation silently corrupts the caller's data. Spread or
structuredClone()before mutating. Mark parametersreadonly. - Never use
deleteon typed objects — violates the type contract, creating objects that no longer match their type. Destructure to omit properties (const { removed, ...rest } = obj). For arrays, usesplice()orfilter(). - Never use
export *in barrel files — re-exported names collide silently across modules, and IDE navigation and refactoring degrade (go-to-definition lands on the barrel, renames miss consumers). Use explicit named re-exports. - Never omit
typeon type-only imports — retains unnecessary import statements in compiled output, bloats bundles, and breaks isolated transpilers. Useimport type { }or inlinetypequalifiers. EnableverbatimModuleSyntax. - Never use
enum— emits runtime IIFE code, introduces nominal typing friction, and numeric enums silently accept any number. Useas constobjects with derived union types. - Never trust array index access without
noUncheckedIndexedAccess— TypeScript typesitems[0]asTeven when the array could be empty. EnablenoUncheckedIndexedAccess: truein tsconfig. - Never skip exhaustiveness checks in switch/union handling — adding a new union member silently falls through without a compile error. Add a
defaultcase that assigns tonever:const _exhaustive: never = value. - Never use
JSON.parse()without runtime validation at system boundaries — returnsany, and assigning to a typed variable provides zero runtime guarantees. Validate with ZodsafeParseor equivalent.
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.
- yesterday First seen · 413 lines · 63 tokens per session scan A 9f7b7540e23e
typescript-coding is a skill published in the GitHub repository Dynokostya/just-works (14 stars, last pushed yesterday), licensed Apache-2.0. It adds 63 tokens to every session and 3,502 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.
Other skills, from other repositories
lint-js
Lint JS/TS code only. Use before opening a PR when only JavaScript or TypeScript files were changed (no Rust).
no-bare-casts
Writing as in TypeScript or TSX production code, modifying a file that contains a bare as cast, silencing a type error with a cast, encountering as unknown as, or reviewing a cast site.
aws-sst-development
SST v4 (Ion) expert for managing AWS resources as code with the Pulumi-backed framework. Use when writing or editing sst.config.ts, building infra/ modules (sst.aws.Function/Bucket/Dynamo/Cron/Service/Router, sst.Secret, sst.Linkable, raw aws. Pulumi resources), wiring resource links,...
league-akari-shard-development
Use when creating, extending, refactoring, splitting, or reviewing League Akari main or renderer shards, including shard file organization, controller/loader/executor/handler boundaries, naming conventions, renderer TSX usage, platform guards, and public contract compatibility.
dd-code-generation
Use pup CLI for immediate Datadog operations or generate code for integration into applications.
migrate-better-result-3
Migrate a TypeScript codebase from better-result 2.x to 3.0. Use when upgrading better-result across the TaggedError syntax, removed Result serialization helpers, recovery inference, matching, or retry APIs.