Borrowing it
Nothing to install: this file belongs to LedgerHQ/ledger-live. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/LedgerHQ/ledger-live/develop/.agents/skills/typescript/SKILL.mdgit clone --depth 1 https://github.com/LedgerHQ/ledger-liveWrote 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/ledgerhq/ledger-live/typescript)<a href="https://agentmods.dev/skills/ledgerhq/ledger-live/typescript"><img src="https://agentmods.dev/badge/skills/ledgerhq/ledger-live/typescript/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ledgerhq/ledger-live/typescript"><img src="https://agentmods.dev/badge/skills/ledgerhq/ledger-live/typescript.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00024 | $0.00460 |
| Opus 5.5 | $0.00010 | $0.00184 |
| Sonnet 5.5 | $0.00005 | $0.00092 |
| Haiku 4.5 | $0.00002 | $0.00046 |
Grade A, and why
typescript 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 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.
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.
What it actually says
Components
- Use function components with typed props.
- Prefer
React.FConly when children typing is needed; otherwise avoid. - Memoize when beneficial (
React.memo,useMemo,useCallback).
Props & State
- Type props with interfaces or type aliases (PascalCase).
- Use
readonlyfor immutable props/state shapes. - Avoid
any; useunknownwhen necessary. - Prefer discriminated unions for state machines.
Hooks
- Extract logic into custom hooks.
- Type hook return values explicitly.
- Avoid unnecessary dependencies in hook arrays.
Data & Types
- Store a package's or folder's shared types in a
types.tsfile (e.g.domain/entity/contact/src/types.ts). - Declare the props of a component split into
X.web.tsxandX.native.tsxin an unsuffixedX.types.tsbeside them, with no.web/.nativesibling. It is the one contract both platforms annotate their props with, so it imports nothing platform-specific (seepackage-public-api, rules R2 to R4). Example:ServicesEntryPointsView.types.tsinfeatures/flow/portfolio-services-entry-points/src/components/ServicesEntryPoints/. - Use Zod for runtime validation.
Imports & Exports
- Prefer named imports and named exports.
- Always declare imports at the beginning of source files.
- Import order:
- External libs
- Internal modules
- Types
- Avoid default exports.
Error Handling
- Use custom error classes with
codeand optional context. - Prefer
Result<T, E>patterns for recoverable failures.
Async Patterns
- Use
async/await. - Wrap async code with
try/catch. - Avoid inline Promises inside JSX.
Performance
- Use
as constfor literals. - Use mapped types for transformations.
- Use memoization and stable references to reduce re-renders.
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 Changed 9ba04bd2cf8c
- 2mo ago First seen · 57 lines · 24 tokens per session scan A c8f1cecead27
typescript is a skill published in the GitHub repository LedgerHQ/ledger-live (624 stars, last pushed yesterday), licensed MIT. It adds 24 tokens to every session and 460 once invoked, about $0.0001 per session on Opus 5.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-30.
Other skills, from other repositories
client-setup
Create a vanilla tRPC client with createTRPCClient (), configure link chain with httpBatchLink/httpLink, dynamic headers for auth, transformer on links (not client constructor). Infer types with inferRouterInputs and inferRouterOutputs. AbortController signal support. TRPCClientError typing.
adapter-express
Mount tRPC as Express middleware with createExpressMiddleware() from @trpc/server/adapters/express. Access Express req/res in createContext via CreateExpressContextOptions. Mount at a path prefix like app.use('/trpc', ...). Avoid global express.json() conflicting with tRPC body parsing for FormData.
trpc-router
Entry point for all tRPC skills. Decision tree routing by task: initTRPC.create(), t.router(), t.procedure, createTRPCClient, adapters, subscriptions, React Query, Next.js, links, middleware, validators, error handling, caching, FormData.
custom-features
Implement a Table v9 plugin when built-ins and typed meta are insufficient. Covers FeatureMaps, runtime lifecycle hooks, prototypes, and a complete checked example.
fast-typescript-check
Keep www-sacred's TypeScript fast to type-check and fast to run. Use when touching the ASCII/canvas animation components (the only real per-frame code here), tightening type-check wall-clock, or auditing a change for runtime or compiler regressions. Scoped to this repo — a React 19 / Next.js 16 component library plus…
port-sacred-terminal-ui-to-typescript-cli
Take a React Window.tsx (or any sacred component) and produce a terminal CLI screen written in TypeScript that uses Simulacrum — the sacred CLI framework in scripts/cli/lib/.