aminet-browser
Aminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated…
TypeScript best practices and patterns. Use when writing TypeScript, fixing type errors, or working with generics.
Claude Code
$ npx -y skills add Tibsfox/gsd-skill-creator --skill typescript-patterns --agent claude-code
Codex
$ npx skills add Tibsfox/gsd-skill-creator --skill typescript-patterns -a codex -y
Cursor
$ npx skills add Tibsfox/gsd-skill-creator --skill typescript-patterns -a cursor -y
Gemini CLI
$ npx skills add Tibsfox/gsd-skill-creator --skill typescript-patterns -a gemini-cli -y
GitHub Copilot
$ npx skills add Tibsfox/gsd-skill-creator --skill typescript-patterns -a github-copilot -y
OpenCode
$ npx skills add Tibsfox/gsd-skill-creator --skill typescript-patterns -a opencode -y
Windsurf
$ npx skills add Tibsfox/gsd-skill-creator --skill typescript-patterns -a windsurf -y
name: typescript-patterns description: TypeScript best practices and patterns. Use when writing TypeScript, fixing type errors, or working with generics. version: 1.0.0 format: 2025-10-02 triggers: - "writing TypeScript, fixing type errors, or working with generics" updated: 2026-04-25 status: ACTIVE
| Use Case | Prefer | |----------|--------| | Object shape | interface | | Union types | type | | Extending shapes | interface | | Intersection | type | | Tuple/primitives | type |
**Discriminated Unions** — model state with tagged types:
type Result<T> = { ok: true; value: T } | { ok: false; error: Error };**Type Guards** — narrow at runtime:
function isUser(obj: unknown): obj is User {
return typeof obj === 'object' && obj !== null && 'id' in obj;
}**Generic Constraints:**
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] { return obj[key]; }| Type | Purpose | |------|---------| | Partial\<T\> | All optional | | Required\<T\> | All required | | Pick\<T,K\> | Select properties | | Omit\<T,K\> | Remove properties | | Record\<K,V\> | Key-value map | | ReturnType\<T\> | Function return type |
An adaptive learning and coprocessor architecture for Claude Code, built as an extension to GSD (open-gsd)
Aminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated…
FS-UAE emulator configuration and launch: hardware profiles, ROM management, WHDLoad integration, config generation, and state…
Manages Aminet INDEX infrastructure: fetch, parse, cache, and incremental update of ~84,000-entry package database. Use when…
Aminet package installation: LhA/LZX extraction, Amiga filesystem mapping, dependency detection, install tracking, and scan gate…
Selective Aminet package mirroring: single-package fetch, integrity verification, mirror state tracking, bulk download, and sync…
Multi-layer virus scanning for Aminet packages. Signature-based detection, heuristic hunk analysis, boot block scanning,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.