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
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.
About
Use cases: frontend, backend, testing, data
Reviews
Write a reviewNo 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
- 0.592score
git-commit
futex-ai
Use before you commit and directly after, when you write a commit message or a pull request title and description, when you squash, when the diff against…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
writing-skills
futex-ai
Use when you create or edit a skill, write or change a skill description, or when an agent skipped a rule, did not load a skill, or loaded the wrong one.
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
deterministic-tests
futex-ai
Use when a test fails and then passes on a rerun, when a test is flaky or timing-dependent, when a test would assert elapsed time, a timeout, or performance…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
shared-types
futex-ai
Use when a Rust backend and a TypeScript or JavaScript frontend exchange data, before you add or change a request, response, query, event, message, or error…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
rust
futex-ai
Use before you write or change Rust code, add a crate or a dependency to a Cargo workspace, write or move a Rust test, define or map an error type, or add a…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
implementation-review
futex-ai
Use after you push a branch and the work needs a review, before you run a review or apply its findings, when a plan's review TODO is reached, when the user…
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
git-merge
futex-ai
Use before you merge or rebase a branch, when origin/main has moved ahead of your branch, when you resolve merge conflicts, directly after you commit a merge…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
product-ui
futex-ai
Use before you implement or change a screen, a component, a view, or a mockup, when you write or edit user-facing text such as a status, helper, label, or…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
decisions-and-findings
futex-ai
Use before you send a message that asks the user for a decision, presents review findings or review items, or gives a final report, when the user asks for…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
documentation
futex-ai
Use before you edit a README.md, a crate README, anything under docs/, an architecture doc, or a protocol doc, when a behaviour change could leave a doc…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
databases
futex-ai
Use before you add, edit, or name a database migration or a seed migration, when you touch a schema, Diesel code, a migration lock, or a crate named…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
finish-work
futex-ai
Use before you say that work is complete or done, before you commit or push, when you decide which tests, checks, or gates to run, when a gate or a test suite…
SkillAFreshness: A★ 1Claude Code +9
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
- Repository
- github.com/futex-ai/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from futex-ai
- 0.592score
shared-types
futex-ai
Use when a Rust backend and a TypeScript or JavaScript frontend exchange data, before you add or change a request, response, query, event, message, or error…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
deterministic-tests
futex-ai
Use when a test fails and then passes on a rerun, when a test is flaky or timing-dependent, when a test would assert elapsed time, a timeout, or performance…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
git-commit
futex-ai
Use before you commit and directly after, when you write a commit message or a pull request title and description, when you squash, when the diff against…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
rust
futex-ai
Use before you write or change Rust code, add a crate or a dependency to a Cargo workspace, write or move a Rust test, define or map an error type, or add a…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
implementation-review
futex-ai
Use after you push a branch and the work needs a review, before you run a review or apply its findings, when a plan's review TODO is reached, when the user…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
writing-skills
futex-ai
Use when you create or edit a skill, write or change a skill description, or when an agent skipped a rule, did not load a skill, or loaded the wrong one.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
typescript skill. Agent Mart. https://agentmart.dev/skills/futex-ai-typescript (last updated 2026-10-24)