aminet-browser
Aminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated…
Selective Aminet package mirroring: single-package fetch, integrity verification, mirror state tracking, bulk download, and sync detection. Use when downloading, verifying, or managing mirrored packages.
Claude Code
$ npx -y skills add Tibsfox/gsd-skill-creator --skill aminet-mirror --agent claude-code
Codex
$ npx skills add Tibsfox/gsd-skill-creator --skill aminet-mirror -a codex -y
Cursor
$ npx skills add Tibsfox/gsd-skill-creator --skill aminet-mirror -a cursor -y
Gemini CLI
$ npx skills add Tibsfox/gsd-skill-creator --skill aminet-mirror -a gemini-cli -y
GitHub Copilot
$ npx skills add Tibsfox/gsd-skill-creator --skill aminet-mirror -a github-copilot -y
OpenCode
$ npx skills add Tibsfox/gsd-skill-creator --skill aminet-mirror -a opencode -y
Windsurf
$ npx skills add Tibsfox/gsd-skill-creator --skill aminet-mirror -a windsurf -y
name: aminet-mirror
description: "Selective Aminet package mirroring: single-package fetch, integrity verification, mirror state tracking, bulk download, and sync detection. Use when downloading, verifying, or managing mirrored packages."
metadata:
extensions:
gsd-skill-creator:
triggers:
intents:
- "aminet.*fetch"
- "aminet.*download"
- "mirror.*state"
- "integrity.*verif"
files:
- "src/aminet/package-fetcher.ts"
- "src/aminet/mirror-state.ts"
- "src/aminet/integrity.ts"
- "src/aminet/bulk-downloader.ts"
- "src/aminet/sync-detector.ts"
contexts:
- "aminet mirroring"
- "package download"
threshold: 0.7
token_budget: "1.0%"
version: 1
enabled: true
plan_origin: "242-aminet-integration"
phase_origin: "242"Manages selective mirroring of Aminet packages to the local filesystem. Handles single-package fetching with ordered mirror fallback, SHA-256 integrity verification, persistent mirror state tracking with 7-state status enum, concurrent bulk downloads with rate limiting, and sync detection comparing local state against the INDEX.
| Module | Purpose | |--------|---------| | `src/aminet/package-fetcher.ts` | Single-package fetch with ordered mirror fallback and .readme | | `src/aminet/mirror-state.ts` | 7-state status enum, atomic persistence, immutable updateEntry | | `src/aminet/integrity.ts` | SHA-256 hash and size verification with combined IntegrityResult | | `src/aminet/bulk-downloader.ts` | Concurrent downloads with semaphore, rate limiting, resume support | | `src/aminet/sync-detector.ts` | Detects INDEX changes against local mirror state via Map lookup |
**Fetch a single package:**
import { fetchPackage } from './package-fetcher.js';
const result = await fetchPackage({
entry: indexEntry,
mirrors: ['https://aminet.net', 'https://de.aminet.net'],
outputDir: './mirror',
});
// Downloads archive + .readme, preserves directory structure**Verify integrity:**
import { verifyIntegrity } from './integrity.js';
const result = await verifyIntegrity(filePath, { expectedSha256: hash, expectedSizeKb: 42 });
// result.valid, result.hashMatch, result.sizeMatch**Bulk download with concurrency:**
import { bulkDownload } from './bulk-downloader.js';
await bulkDownload({
entries: selectedPackages,
mirrors,
outputDir: './mirror',
concurrency: 4,
rateLimit: 500, // ms between requests
onProgress: (completed, total) => console.log(`${completed}/${total}`),
});**Detect sync changes:**
import { detectChanges } from './sync-detector.js';
const changes = detectChanges(mirrorState, currentIndex);
// changes: { added: [], updated: [], removed: [] }1.0% budget reflects the 5 modules covering fetch, state, integrity, bulk download, and sync detection. The concurrency control, rate limiting, and atomic state persistence patterns require moderate context for safe operation.
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…
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.