akaOSS
ProjectsCollapse

A Claude Code skill-building framework.

v0.2 · active development. Shipped: MDX ingestor with 21 cross-stack reference lessons, notebook ingestor with admonition auto-prefill, template engine with cross-language equivalents + trigger-phrase derivation, atomic persistence, three-tier skill quality linter, and MCP server scaffold generation — one annotation can now become a skill or a working MCP tool.

Install

Clone and run the dev server
$ git clone https://github.com/akaieuan/collapse && pnpm install && pnpm dev

Why it exists.

Claude's default knowledge is stack-agnostic, but most developers live inside one stack at a time. The same idea — reactive state, lifecycle, error boundaries, circuit composition — lands differently in React, Vue, Nuxt, and Qiskit, and a “generic” answer costs round-trips. Collapsed skills carry your cross-stack vocabulary so Claude reaches for the right idiom on the first try.

Three pluggable ingestors (MDX lessons, Jupyter .ipynb / MyST .md, and a one-file extension pattern for any source format) feed a typed pipeline that compiles each pattern into a SKILL.md and atomically writes it to ~/.claude/skills/.

No telemetry. No cloud. No database. The filesystem is the storage layer. Next.js 16 + TypeScript.

01

Why a skill compiler

Claude's default knowledge is stack-agnostic, but most developers live inside one stack at a time. The same idea — reactive state, lifecycle, error boundaries, circuit composition — lands differently in React, Vue, Nuxt, and Qiskit, and a generic answer costs round-trips. Collapse exists to close that gap: collapsed skills carry your cross-stack vocabulary so Claude reaches for the right idiom on the first try, with trigger phrases derived from your own annotations.

There's a second, quieter payoff. Writing the Vue version of a lesson after the React version forces you to see where the languages actually diverge — ref is pull-based, mutates .value in place, the wrapper itself is the dependency edge — distinctions you only feel by writing both side-by-side. The lesson captures that, and the compiled skill preserves it.

02

How the pipeline works

Three pluggable ingestors feed one typed pipeline. The MDX ingestor reads annotated lessons — code fences with line-level annotation metadata linked to sibling notes, scoped per-stack. The notebook ingestor accepts pasted or uploaded Jupyter .ipynb and MyST markdown, infers the kernel language, and auto-prefills annotations from MyST admonitions. And any new source format ships in about four files following a documented extension pattern.

The template engine compiles each pattern into a SKILL.md: it composes Claude trigger phrases from your annotations and lesson titles, populates cross-language equivalents automatically from sibling stack-tabs, and renders YAML-frontmatter markdown. A three-tier quality linter (clean / info / warn) grades every draft on description length, trigger-phrase ambiguity, and naming — surfaced as verdict dots so weak skills are visible before they ship.

Persistence is local and atomic: temp-file-plus-rename writes into ~/.claude/skills/, path traversal rejected, collisions returned as 409s with the existing description for diff context. No telemetry, no cloud, no database — the filesystem is the storage layer, which is exactly right for artifacts whose whole purpose is to live in your local Claude configuration.

Next on the roadmap: the same pipeline, second output target — MCP server scaffolds. The ingestor layer doesn't change; the work is a template engine that emits a tool surface instead of a skill.

Signature features.

4 features

Three pluggable ingestors

MDX lessons, Jupyter .ipynb / MyST .md, and a one-file extension pattern for any source format feed a typed pipeline that compiles each pattern into a SKILL.md.

Cross-stack vocabulary

Collapsed skills carry your cross-stack vocabulary so Claude reaches for the right idiom on the first try.

The filesystem is the storage layer

No telemetry. No cloud. No database. The filesystem is the storage layer.

Atomic persistence

Each compiled pattern is atomically written to ~/.claude/skills/.

Explore further.

The source lives on GitHub. Copy, paste, own — no fork, no vendor lock-in.

The other projects