aminet-browser
Aminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated…
Manages Aminet INDEX infrastructure: fetch, parse, cache, and incremental update of ~84,000-entry package database. Use when managing INDEX data, checking freshness, or parsing .readme files.
Claude Code
$ npx -y skills add Tibsfox/gsd-skill-creator --skill aminet-index --agent claude-code
Codex
$ npx skills add Tibsfox/gsd-skill-creator --skill aminet-index -a codex -y
Cursor
$ npx skills add Tibsfox/gsd-skill-creator --skill aminet-index -a cursor -y
Gemini CLI
$ npx skills add Tibsfox/gsd-skill-creator --skill aminet-index -a gemini-cli -y
GitHub Copilot
$ npx skills add Tibsfox/gsd-skill-creator --skill aminet-index -a github-copilot -y
OpenCode
$ npx skills add Tibsfox/gsd-skill-creator --skill aminet-index -a opencode -y
Windsurf
$ npx skills add Tibsfox/gsd-skill-creator --skill aminet-index -a windsurf -y
name: aminet-index
description: "Manages Aminet INDEX infrastructure: fetch, parse, cache, and incremental update of ~84,000-entry package database. Use when managing INDEX data, checking freshness, or parsing .readme files."
metadata:
extensions:
gsd-skill-creator:
triggers:
intents:
- "aminet.*index"
- "aminet.*update"
- "index.*fetch"
- "readme.*parse"
files:
- "src/aminet/index-fetcher.ts"
- "src/aminet/index-parser.ts"
- "src/aminet/index-freshness.ts"
- "src/aminet/readme-parser.ts"
contexts:
- "aminet index management"
- "package database"
threshold: 0.7
token_budget: "1.5%"
version: 1
enabled: true
plan_origin: "242-aminet-integration"
phase_origin: "242"Manages the complete lifecycle of the Aminet INDEX database: fetching INDEX.gz from mirrors, parsing ~84,000 package entries into structured data, caching results for offline use, checking freshness against 24-hour thresholds, and performing incremental updates via RECENT file diffing. Also handles .readme metadata extraction for individual package detail views.
| Module | Purpose | |--------|---------| | `src/aminet/index-fetcher.ts` | Fetches INDEX.gz from Aminet mirrors with gzip decompression | | `src/aminet/index-parser.ts` | Parses INDEX entries into structured PackageEntry objects | | `src/aminet/readme-parser.ts` | Extracts metadata from .readme files with header parsing | | `src/aminet/index-freshness.ts` | Checks INDEX age against 24h threshold, triggers RECENT-based incremental merge |
**Fetch and parse the INDEX:**
import { fetchIndex } from './index-fetcher.js';
import { parseIndex } from './index-parser.js';
const raw = await fetchIndex({ mirrorUrl: 'https://aminet.net' });
const entries = parseIndex(raw);
// entries: PackageEntry[] with ~84,000 items**Check freshness and update incrementally:**
import { checkFreshness } from './index-freshness.js';
const result = await checkFreshness({ cacheDir: './cache', maxAgeMs: 86400000 });
if (!result.fresh) {
// Fetch RECENT, merge new entries by fullPath
}**Parse a .readme file:**
import { parseReadme } from './readme-parser.js';
const metadata = parseReadme(readmeText);
// metadata.short, metadata.author, metadata.uploader, metadata.type, etc.1.5% budget reflects the 4 modules covering INDEX fetch, parse, freshness, and readme extraction. The ~84,000-entry parsing logic with ISO-8859-1 handling, size suffix normalization, and incremental merge via RECENT requires comprehensive context for correct operation and troubleshooting.
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…
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,…
Domain knowledge for 10 applied subjects: computer science, data science, world languages, psychology, environmental science,…
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.