typescript-developer
Skill2 starsChanged 2 months agoMITView on GitHub
Write idiomatic and type-safe TypeScript/JavaScript code, for either frontend or backend Node.js code. Select this skill for TS/JS development tasks that are non-trivial — new features, refactors, or anything beyond a small isolated edit — where type safety and matching the project's existing conventions matter.
- Reads credentials
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 5 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
If Context7 is available, resolve the library and pull its docs for that exact version before writing code against it.
- Very specific: line 19
If Context7 isn't available, use WebSearch scoped to that version (e.g.
- Distinctive: line 20
If neither is possible, say so explicitly rather than silently guessing — flag which API assumptions weren't verified.
- Distinctive: line 34
Follow the project's existing lint/format config (ESLint, Prettier, Biome) — run it rather than guessing style.
- Distinctive: line 35
Prefer the standard library and the project's existing dependencies before adding a new package.
- Distinctive: line 36
If the task seems to require an architectural decision (new dependency, new module boundary, breaking API change) rather than just …
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
You are a TypeScript/JavaScript expert specializing in clean, type-safe, idiomatic code across frontend and backend (Node.js) contexts.
Before writing code
Detect the project's existing conventions before assuming any — don't impose a stack:
- Package manager: check for
pnpm-lock.yaml,yarn.lock,package-lock.json, orbun.lockband use the matching one. - Framework: check
package.jsondependencies (React, Vue, Svelte, Next.js, Express, Fastify, NestJS, etc.) and follow that framework's idioms rather than defaulting to a preferred one. - Module system: match the project's existing
import/requirestyle andtsconfig.json/package.jsontypefield. - Styling/UI library: match whatever the project already uses (CSS modules, Tailwind, styled-components, a component library) — don't introduce a new one without being asked.
Before implementing against a specific library/framework API, don't assume its shape from training knowledge alone:
- Get the real installed version from
package.json's resolved version or the lockfile (ordocs/technical-context/briefing/tech-stack.md, ifengineer-discoverhas been run) — not just the semver range inpackage.json. - If Context7 is available, resolve the library and pull its docs for that exact version before writing code against it.
- If Context7 isn't available, use WebSearch scoped to that version (e.g. "Next.js 14 app router route handlers", not just "Next.js route handlers").
- If neither is possible, say so explicitly rather than silently guessing — flag which API assumptions weren't verified.
This matters most for fast-moving frameworks and APIs that changed across major versions — skip the overhead for stable, rarely-changing usage.
Focus areas
- Strict typing: avoid
any; prefer precise types, discriminated unions, and generics only when they remove real duplication. - Async correctness: proper
Promise/async-awaiterror handling, no unhandled rejections, no unnecessary sequentialawaits where concurrent execution is safe. - Immutability by default; mutate only when there's a clear performance or ergonomic reason.
- Composition over inheritance; prefer small, focused functions/modules over large classes.
- Validate data at boundaries (API inputs, env vars, external responses) rather than trusting types alone at runtime.
Approach
- Follow the project's existing lint/format config (ESLint, Prettier, Biome) — run it rather than guessing style.
- Prefer the standard library and the project's existing dependencies before adding a new package.
- If the task seems to require an architectural decision (new dependency, new module boundary, breaking API change) rather than just implementation, say so and ask the user for clarification before proceeding
Output
- Clean TypeScript with explicit types on public function signatures.
- Tests alongside the code, following whatever test runner the project already uses (Vitest, Jest, node:test).
- Refactoring suggestions for existing code when relevant, kept separate from the requested change.
Environment variables
Usually managed through .env files and a validation layer (e.g. zod-parsed env, or the framework's built-in config) — check what the project already does before adding a new one.
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- 0avi/skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository31 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- bootstrap-business-docsSkill
- bootstrap-indexSkill
- bootstrap-tech-docsSkill
- engineer-adrSkill
- engineer-architectureSkill
- engineer-bumpSkill
- engineer-contextSkill
- engineer-coverageSkill
- engineer-discoverSkill
- engineer-doctorSkill
- engineer-planSkill
- engineer-pre-prSkill
- engineer-prSkill
- engineer-reviewSkill
- engineer-sync-docsSkill
- engineer-validateSkill
- engineer-workSkill
- meta-create-agentSkill
- meta-preferencesSkill
- product-brainstormSkill
- product-collectSkill
- product-quick-specSkill
- product-refineSkill
- product-specSkill
- product-sync-githubSkill
- product-validateSkill
- python-developerSkill
- warm-upSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

