Skip to content
Agentmart
Submit a tool

typescript

Use before you write or change TypeScript or JavaScript, add an npm dependency, set up a new package, or write a frontend file, a Node script, or a test file…

Skill by futex-ai

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/futex-ai-typescript

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use before you write or change TypeScript or JavaScript, add an npm dependency, set up a new package, or write a frontend file, a Node script, or a test file, when you define a type for backend data or model a known set of states, when you reach for any, a cast, an enum, a default export, a barrel file, or console output, when a file passes 200 lines, and when ESLint, Prettier, or the typecheck reports a problem.

Use cases: frontend, backend, testing, data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/typescript

What's inside

Skill name
typescript
Description
Use before you write or change TypeScript or JavaScript, add an npm dependency, set up a new package, or write a frontend file, a Node script, or a test file, when you define a type for backend data or model a known set of states, when you reach for any, a cast, an enum, a default export, a barrel file, or console output, when a file passes 200 lines, and when ESLint, Prettier, or the typecheck reports a problem.
License
MIT
Instructions
69 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# TypeScript

These rules apply to every TypeScript and JavaScript edit: product apps,
shared packages, build scripts, and tests. In a JavaScript file, the typing
rules apply as far as JSDoc allows. The repository's `AGENTS.md` names the
packages, the typecheck, lint, format, and test commands, and the test
layout.

## Tooling

- Every package compiles with `strict: true`. Do not turn a strict flag
  off for a file or a package.
- Every package has ESLint with the `typescript-eslint` recommended
  configuration and Prettier. Run the typecheck and the lint named in
  `AGENTS.md` after every change, and the formatter before you commit.
- A package that lacks ESLint or Prettier gets them in their own change.
  Fix the existing findings, or list them in a baseline that only
  shrinks, as the repository does for its other lints.
- Add a dependency with `npm install` in its workspace package, so that
  the manifest and the lockfile change together.

## Typing

- Fully type domain, API, state, and script code. Do not use `any`. Do
  not use a cast to silence a type error; fix the type.
- Data from outside the program, for example a response body, a file, a
  query string, or storage, enters as `unknown` and passes through a
  parser that narrows it before use.
- Types for backend data are generated from the Rust types. See the
  `shared-types` skill. Shared data transfer objects and API clients live
  in one package, and a screen never redefines them.
- Model a known set of states as a discriminated union or an `as const`
  object. Do not use TypeScript `enum`, and do not pass a bare string
  where the set of values is known.

## Files and modules

- Target 200 lines per file. The hard limit is 300 lines. Split a larger
  file by responsibility. Do not remove blank lines or compact code to
  stay under the limit.
- Declare imports at the top of the file in this order: Node built-ins,
  external packages, workspace packages, then relative modules. Extend an
  existing import instead of adding a duplicate.
- Use named exports. Use a default export only where the framework
  requires one, for example a route file.
- Do not add a barrel file that re-exports modules to avoid updating
  imports. The one exception is a package's public entry point.
- Define a value in its owner module and import it from there.

## Tests

- Use the test runner and the test layout named in `AGENTS.md`. Do not
  add a second runner to a package.
- Unit tests do not use the real network, file system, clock, or a
  running server. Inject or stub those at the module boundary.
- Tests must not assert elapsed time. See the `deterministic-tests`
  skill, including its ESLint guard.

## Diagnostics

- Product code does not write to `console`. Use the logger or the error
  tracking that `AGENTS.md` names.
- Build scripts, command-line tools, and tests may print.

## Screens and copy

User-facing screens and text follow the `product-ui` skill.

From futex-ai/skills, MIT.

More from futex-ai/skills

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Oct 19, 2026 (9 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from futex-ai

Cite this page

typescript skill. Agent Mart. https://agentmart.dev/skills/futex-ai-typescript (last updated 2026-10-24)