Typescript Advanced Types
rolling-scopes/rsschool-app
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.
Prelude bootstrapping for TypeScript. An agent skill from dmmulroy/skills.
$ npx skills add dmmulroy/skills --skill prelude -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dmmulroy/skills prelude --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/dmmulroy/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/prelude .claude/skills/prelude && rm -rf skills-srcUse ~/.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/
Install the "prelude" agent skill from https://github.com/dmmulroy/skills/tree/main/prelude into .claude/skills/prelude/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prelude", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/dmmulroy/skills/tree/main/preludeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add dmmulroy/skills --skill prelude -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dmmulroy/skills prelude --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dmmulroy/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/prelude .agents/skills/prelude && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "prelude" agent skill from https://github.com/dmmulroy/skills/tree/main/prelude into .agents/skills/prelude/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prelude", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dmmulroy/skills --skill prelude -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dmmulroy/skills prelude --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dmmulroy/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/prelude .cursor/skills/prelude && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "prelude" agent skill from https://github.com/dmmulroy/skills/tree/main/prelude into .cursor/skills/prelude/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prelude", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/dmmulroy/skills.git --path prelude--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add dmmulroy/skills --skill prelude -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dmmulroy/skills prelude --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dmmulroy/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/prelude .gemini/skills/prelude && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "prelude" agent skill from https://github.com/dmmulroy/skills/tree/main/prelude into .gemini/skills/prelude/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prelude", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install dmmulroy/skills preludeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add dmmulroy/skills --skill prelude -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/dmmulroy/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/prelude .github/skills/prelude && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "prelude" agent skill from https://github.com/dmmulroy/skills/tree/main/prelude into .github/skills/prelude/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prelude", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dmmulroy/skills --skill prelude -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install dmmulroy/skills prelude --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dmmulroy/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/prelude .opencode/skills/prelude && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "prelude" agent skill from https://github.com/dmmulroy/skills/tree/main/prelude into .opencode/skills/prelude/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prelude", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
preludePrelude bootstrapping for TypeScript. An agent skill from dmmulroy/skills.
Prelude is an agent skill from dmmulroy/skills. Prelude bootstrapping for TypeScript. Use when creating or rebuilding a prelude.ts from ambient generic helpers and types.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `prelude.ts`).
It sits in Development. It works with TypeScript. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8603380. It shows what the files ask for, not the result of running them.
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.
Ships script files (TypeScript), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Prelude loads about 1.4k tokens when it runs. Until then it costs about 33 tokens; SKILL.md has 732 words of instructions outside code blocks.
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.
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.
The full file from dmmulroy/skills at commit 8603380, republished under its MIT licence (© dmmulroy). 732 words, ~1,388 tokens.
.claude/skills/prelude/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.A prelude is an explicitly imported module for ambient helpers and types: ubiquitous, domain-neutral building blocks that have no more precise owner. Use the bundled prelude.ts as the foundation, then adapt it to evidence from the target repository. Apply ../coding-standards/SKILL.md throughout.
Ambient describes a helper's role, not a TypeScript global. Keep prelude exports behind ordinary imports; do not add global declarations or global augmentation.
Read repository instructions, package manifests, TypeScript configuration, source layout, and import conventions. Locate:
utils, helpers, common, types, result, errors, or similar;Search by both filenames and concepts. Use the ubiquitous generic helper/type categories in the coding standards as seed search terms, then inspect definitions and callers rather than classifying from names alone.
Completion criterion: Every plausible ambient definition found by repository-wide filename, symbol, and duplication scans is inventoried with its owner, callers, dependencies, and current behavior.
A symbol belongs in the prelude when all of these hold:
Keep a symbol with its focused owner when it encodes domain meaning, application policy, boundary translation, framework behavior, I/O, or a cohesive generic concept such as string casing or non-trivial collection operations. Prefer an established library over a local duplicate. A prelude is a curated foundation, not a barrel or miscellaneous dumping ground.
Record one decision for every candidate: use the established library, keep the current owner, move into the prelude, merge with a template symbol, or delete as an unused duplicate.
Completion criterion: Every inventoried candidate has one decision grounded in its semantics and callers; no candidate remains classified only by its filename or name.
Read the bundled prelude.ts completely. Copy it to the project's established shared-module location as the starting point. If a prelude already exists, merge deliberately instead of overwriting it.
Choose exactly one expected-failure foundation:
Result fallback.better-result, use it and remove the local fallback.better-result.Result types and helpers.Retain each other template export only when repository usage, the coding standards, or the requested foundation justifies it. Preserve compatible existing behavior when merging equivalent helpers; surface semantic conflicts rather than silently choosing one implementation.
Completion criterion: The target file is founded on the template, has exactly one result strategy, and every retained template export has an explicit justification.
Move or merge the approved repository candidates into the prelude. For each moved symbol:
Keep the resulting module side-effect free. It must not read configuration, acquire resources, register handlers, perform I/O, contain domain/application policy, or re-export unrelated modules.
Completion criterion: Every approved candidate has one canonical definition, every caller uses it, and no removed source remains as a second source of truth.
Run the repository's formatter, type checker, linter, and focused tests. Search again for the old symbols, duplicate definitions, stale import paths, and broad utility files that were part of the inventory. Review every prelude export for current usage or an explicit foundational reason.
Report:
Completion criterion: Repository checks pass, every inventory decision is reflected in code, duplicate ambient definitions are gone, and every prelude export is justified.
© dmmulroy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in prelude of dmmulroy/skills.
Open the folder on GitHubat commit 8603380
Prelude 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Prelude this skilldmmulroy/skills | 430 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Typescript Advanced Typesrolling-scopes/rsschool-app | 10k | 25 repos | ~4.2k | Automated safety check: Pass | MPL-2.0 | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Nx Importnrwl/nx | 29k | 6 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop | 5.3k | 1 repos | ~2.2k | Automated safety check: Pass | MIT | |
| OpenTUI Terminal Interfacescline/cline | 70k | — | ~1.9k | Automated safety check: Pass | Apache-2.0 |
rolling-scopes/rsschool-app
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
nrwl/nx
Import, merge, or combine repositories into an Nx workspace using nx import.
dmmulroy/anti-slop
Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.
cline/cline
Helps build terminal user interfaces with OpenTUI using its core imperative API or its React and Solid reconcilers, with references for layout, keyboard, animation and testing.
langgenius/dify
Reviews frontend changes under `web/` or `packages/dify-ui/` for concrete defects and broken project contracts, using routed rule packs and a severity scale for findings.
dmmulroy/skills
Design Effect services. An agent skill from dmmulroy/skills.
dmmulroy/skills
Composition roots for Hono and Cloudflare. An agent skill from dmmulroy/skills.
dmmulroy/skills
Correct-by-construction TypeScript standards. An agent skill from dmmulroy/skills.
dmmulroy/skills
Write a typed call-stack architecture handoff. An agent skill from dmmulroy/skills.
Works with
Categories
Prelude bootstrapping for TypeScript. An agent skill from dmmulroy/skills. Prelude is an agent skill from dmmulroy/skills. Prelude bootstrapping for TypeScript.
Prelude fits situations like: rebuilding a prelude.ts from ambient generic helpers and types.
Run `npx skills add dmmulroy/skills --skill prelude -a claude-code`. Or copy the skill folder (prelude in dmmulroy/skills) into .claude/skills/prelude in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dmmulroy/skills --skill prelude -a codex`. Or copy the skill folder (prelude in dmmulroy/skills) into .agents/skills/prelude in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dmmulroy/skills --skill prelude -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/prelude, .gemini/skills/prelude, .github/skills/prelude and .opencode/skills/prelude in your project.
Going by SKILL.md and its folder, Prelude needs TypeScript for the scripts in its folder. Our summary lists: Node.js.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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.
Prelude is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Prelude: Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Nx Import (nrwl/nx, 29k stars) and Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
dmmulroy (a GitHub user) maintains it in dmmulroy/skills, which has 430 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on July 23, 2026.
Source: dmmulroy/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.