Write TypeScript that satisfies this repo's lint and tsconfig rules, and convert an existing .js file to .ts without breaking its call sites.

GPL-3.0Auto-check passedDevelopment

Install Typescript

skills CLI
$ npx skills add LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator --skill typescript -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator typescript --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/typescript .claude/skills/typescript && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
typescript
GitHub stars
1.8k
Token cost
~1.5k tokens
SKILL.md length
603 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
GPL-3.0

At a glance

Write TypeScript that satisfies this repo's lint and tsconfig rules, and convert an existing .js file to .ts without breaking its call sites.

  • Works in 6 steps: git mv the file, then update every… → Update hardcoded paths in package.json,… → npm run type-check — the file is newly… → …
  • Editing a .ts file
  • SKILL.md covers Erasable syntax only, tsconfig deliberately relaxes…, Lint rules that bite and Converting a .js file, plus 1 more section
  • Calls npm, tsc and git

What it does

Typescript is an agent skill from LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator. Write TypeScript that satisfies this repo's lint and tsconfig rules, and convert an existing .js file to .ts without breaking its call sites. Use when adding or editing a .ts file, converting a .js file, adding the first .ts browser spec, or hitting a type-check or ESLint failure.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Linting and formatting. It works with TypeScript, ESLint and npm. The repository describes itself as: Character Generator based on Universal-LPC-Spritesheet. The licence is GPL-3.0.

When your agent uses it

  • Editing a .ts file
  • Converting a .js file
  • Adding the first .ts browser spec
  • Hitting a type-check

Example prompts

  • “/typescript”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. git mv the file, then update every importer to the new extension.
  2. Update hardcoded paths in package.json, testem.cjs, HTML files, and any
  3. npm run type-check — the file is newly checked, so expect real errors.
  4. npm run lint:fix — it may have moved into a stricter ESLint block.
  5. Run whatever command names the file, not just the test suite. A broken
  6. Check codecov.yml ignore:. If the file is not

What it can do on your machine

Read from SKILL.md and the folder at commit 58ce1aa. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • tsc
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Typescript loads about 1.5k tokens when it runs. Until then it costs about 73 tokens; SKILL.md has 603 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~73
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator at commit 58ce1aa, republished under its GPL-3.0 licence (© LiberatedPixelCup). 603 words, ~1,470 tokens.

Download SKILL.mdSave it as .claude/skills/typescript/SKILL.md (or your agent's skills folder).
name
typescript
description
Write TypeScript that satisfies this repo's lint and tsconfig rules, and convert an existing .js file to .ts without breaking its call sites. Use when adding or editing a .ts file, converting a .js file, adding the first .ts browser spec, or hitting a type-check or ESLint failure.

TypeScript in this repo

New code is .ts, including tests, scripts, and Vite plugins. Do not add new .js. testem.cjs is the only CommonJS file.

npm run type-check (tsc --noEmit) and npm run lint both gate PRs via the Lint workflow. Run npm run type-check and npm run lint:fix after any edit under sources/, scripts/, vite/, or tests/ — all four are in tsconfig.json include. tsc is the typescript package, which this repo aliases to @typescript/typescript6. @typescript/native is also in devDependencies and is unused by workflows.

Erasable syntax only

Node runs first-party .ts by type-stripping it, with no tsx and no compile step. erasableSyntaxOnly is on, so no enums, no namespaces, no parameter properties. Anything that would need to emit runtime code is a type error.

Relative imports use the extension of the file on disk, so a .ts file importing a still-.js module writes .js:

typescript
import { markNonExecutableLinesInLcov } from "./mark-non-executable-lines.js";

allowImportingTsExtensions is on, so importing ./foo.ts is correct once the target is converted. Getting this backwards is the most common failure when converting a file — every importer has to move with it.

tsconfig deliberately relaxes three strictest flags

tsconfig.json extends @tsconfig/strictest and then turns off noUncheckedIndexedAccess, exactOptionalPropertyTypes, and noPropertyAccessFromIndexSignature, each with a comment explaining why. Do not re-enable them as a drive-by; pixel-index loops and metadata config bags depend on them being off.

Lint rules that bite

  • Unused bindings that must exist need a _ prefix. argsIgnorePattern, varsIgnorePattern, and caughtErrorsIgnorePattern are all ^_.
  • console.* is an error except console.error. Use console.error, or debugLog / debugWarn / debugGroup / debugGroupEnd / debugTable from sources/utils/debug.ts, which are gated on localhost or ?debug=.
  • eslint.config.js applies typescript-eslint's recommended preset to **/*.ts only, and layers per-directory blocks for sources/, scripts/ + vite/, tests/, tests/node/, and tests/visual/. A converted file moves from the .js block to the .ts block and can pick up rules it was never subject to, so lint the file after renaming, not before.
Show full SKILL.md (297 more words)Show less

Converting a .js file

Four non-test .js files remain:

The rest are under tests/. Ordinary *_spec.js files are not named by hardcoded path. These harness files are:

  • tests/tests.js — named in tests_run.html
  • tests/bdd-globals.js — the mocha-globals alias target in vite.config.ts, in two HTML import maps (scripts/zip/zip-export-profile-runner.html, tests/fixtures/issue-382/issue382-golden-runner.html), and asserted by path in tests/node/scripts/generateSources/vite_config_factory_and_resolve_spec.ts
  • tests/node/run-node-tests.js — named in testem.cjs before_tests
  • tests/vitest-setup.js — imported by tests/tests.js
  • tests/testem-firefox-user.js — named in testem.cjs

Before renaming anything, grep for the filename. Breaking a harness path fails a command rather than the type-check:

Checklist for a conversion:

  1. git mv the file, then update every importer to the new extension.
  2. Update hardcoded paths in package.json, testem.cjs, HTML files, and any spec that asserts on the path.
  3. npm run type-check — the file is newly checked, so expect real errors.
  4. npm run lint:fix — it may have moved into a stricter ESLint block.
  5. Run whatever command names the file, not just the test suite. A broken before_tests path or import map does not surface as a test failure.
  6. Check codecov.yml ignore:. If the file is not ignored, it now owes covered lines: coverage.

Adding a .ts browser spec

Canvas already has several TypeScript specs (renderer_spec.ts, renderer-composite_spec.ts, load-images_spec.ts, and the palette-recolor-*_spec.ts files). Leftover *_spec.js files under tests/ stay JS until converted. Two things differ from those leftover .js specs:

  • Register it with its real extension, since relative imports use the on-disk extension:

    javascript
    import "./canvas/renderer-composite_spec.ts";
  • It is type-checked under @tsconfig/strictest as soon as it exists, which leftover .js specs are not (checkJs is off). Run npm run type-check; annotate DOM hosts, sinon sandboxes, and catalog handles the way renderer-composite_spec.ts already does.

Everything else about writing the spec is unchanged: write-spec.

© LiberatedPixelCup, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/typescript of LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator.

Open the folder on GitHubat commit 58ce1aa

Compare with similar skills

Typescript next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Typescript compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Typescript this skillLiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator1.8k—~1.5kAutomated safety check: PassGPL-3.0
Create Saleor Packagesaleor/apps162—~608Automated safety check: PassCustom licence
Igniteui Angular LintingIgniteUI/igniteui-angular599—~614Automated safety check: PassCustom licence
Antfuoyjt/uniapp-vue3-template627—~1.3kAutomated safety check: PassMIT
Tsconfigsredis/RedisInsight8.9k—~1.3kAutomated safety check: PassCustom licence
Static Code Analysis Typescriptjaktestowac/awesome-copilot-for-testers116—~4.2kAutomated safety check: PassMIT

Similar skills

  • Scaffold a new shared package in the saleor-apps monorepo under ./packages/.

    162 GitHub stars~608 tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Igniteui Angular Linting

    IgniteUI/igniteui-angular

    Quick-reference for linting the core Ignite UI for Angular library.

    599 GitHub stars~614 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Antfu

    oyjt/uniapp-vue3-template

    Anthony Fu's {Opinionated} preferences and best practices for web development

    627 GitHub stars~1.3k tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • Tsconfigs

    redis/RedisInsight

    Official

    Locate and modify TypeScript configuration in RedisInsight. An agent skill from redis/RedisInsight.

    8.9k GitHub stars~1.3k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Static Code Analysis Typescript

    jaktestowac/awesome-copilot-for-testers

    Creates, reviews, and modernizes static code analysis setups for Node.js and TypeScript repositories, covering ESLint flat config, typescript-eslint, tsconfig, Prettier, import sorting, Husky…

    116 GitHub stars~4.2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • npm Package

    jwynia/agent-skills

    Build and publish npm packages using Bun as the primary toolchain with npm-compatible output.

    165 GitHub stars~2.1k tokensUpdated 7 mo ago
    DevelopmentAuto-check passed

More from LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

All 11 skills in this repo
  • Cls

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Measure lab CLS with profile:cls, debug layout shift from loading shells and first-paint jump, and keep budgets tied to a CI artifact.

    1.8k GitHub stars~822 tokensUpdated 3 days ago
    Auto-check passed
  • Coverage

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Run and read unit-test coverage for this repo and satisfy the codecov/patch and codecov/changes gates.

    1.8k GitHub stars~1.8k tokensUpdated 3 days ago
    Auto-check passed
  • Performance Profiling

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Run the headless app, catalog-load, and ZIP profilers and interpret the JSON the way a human would from window.profiler.report(), profile:load, and the ZIP console table.

    1.8k GitHub stars~1.8k tokensUpdated 3 days ago
    Auto-check passed
  • Run One Spec

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Run a single Node, browser, or Playwright spec instead of the full suite.

    1.8k GitHub stars~746 tokensUpdated 3 days ago
    Auto-check passed
  • Generated Metadata

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Diagnose missing or stale dist/-metadata.js, the Vite metadata plugin cache, and the ../name-metadata.js import alias.

    1.8k GitHub stars~597 tokensUpdated 3 days ago
    Auto-check passed
  • Catalog

    LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator

    Thread CatalogReader and State through Mithril attrs, never a hidden global.

    1.8k GitHub stars~1.3k tokensUpdated 3 days ago
    Auto-check passed

Categories

Questions about Typescript

What does Typescript do?

Write TypeScript that satisfies this repo's lint and tsconfig rules, and convert an existing .js file to .ts without breaking its call sites. Typescript is an agent skill from LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator.ts without breaking its call sites.

When should I use Typescript?

Typescript fits situations like: editing a .ts file; converting a .js file; adding the first .ts browser spec; hitting a type-check.

How do I install Typescript in Claude Code?

Run `npx skills add LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator --skill typescript -a claude-code`. Or copy the skill folder (.agents/skills/typescript in LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator) into .claude/skills/typescript in your project. Claude Code loads it when a task matches its description.

How do I install Typescript in Codex?

Run `npx skills add LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator --skill typescript -a codex`. Or copy the skill folder (.agents/skills/typescript in LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator) into .agents/skills/typescript in your project. Codex loads it when a task matches its description.

Can I use Typescript in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator --skill typescript -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/typescript, .gemini/skills/typescript, .github/skills/typescript and .opencode/skills/typescript in your project.

What does Typescript need to run?

Going by SKILL.md and its folder, Typescript needs the command-line tools its instructions call (npm, tsc and git).

Does Typescript access the network?

SKILL.md contains no URLs. Its commands use npm and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Typescript safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Typescript use?

Typescript is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Typescript use?

About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Typescript?

Skills that share tags, products or a category with Typescript: Create Saleor Package (saleor/apps, 162 stars), Igniteui Angular Linting (IgniteUI/igniteui-angular, 599 stars), Antfu (oyjt/uniapp-vue3-template, 627 stars) and Tsconfigs (redis/RedisInsight, 8.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Typescript?

LiberatedPixelCup (a GitHub organization) maintains it in LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator, which has 1,826 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 4, 2026.

Source: LiberatedPixelCup/Universal-LPC-Spritesheet-Character-Generator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.