Scan
Map the repo: domains, hub files, import graph, tech stack. Deterministic — no LLM, instant, free.
npx aspens doc init --recommended| Without aspens | With aspens |
|---|---|
| Agents miss conventions and architectural boundaries | Agents start from repo-specific instructions |
| New sessions waste time rediscovering key files | Skills point to the right files, patterns, and rules |
| Context files drift after code changes | Aspens syncs them from the codebase |
| Teams keep correcting the same mistakes manually | Critical conventions and anti-patterns stay in generated context |
Scan
Map the repo: domains, hub files, import graph, tech stack. Deterministic — no LLM, instant, free.
Generate
Write instructions and skills for Claude Code, Codex, or both. Parallel discovery and generation.
Sync
Keep generated context fresh. On each commit, aspens reads the diff and updates only what changed.
Prove
Verify coverage, freshness, and drift with aspens doc impact. Know your context is working.
npx aspens doc init --recommendednpx aspens doc impactGenerate context, then verify it covers your repo.

Concise markdown files (~35 lines) that give coding agents the context they need to write correct code: key files, patterns, conventions, and critical rules.
---name: billingdescription: Stripe billing — subscriptions, usage tracking, webhooks---
## ActivationThis skill triggers when editing billing/payment-related files:- `**/billing*.ts`- `**/stripe*.ts`
---
## Key Files- `src/services/billing/stripe.ts` — Stripe SDK wrapper- `src/services/billing/usage.ts` — Usage counters and limit checks
## Key Concepts- **Webhook-driven:** Subscription state changes come from Stripe webhooks- **Usage gating:** `checkLimit(userId, type)` returns structured 429 error data
## Critical Rules- Webhook endpoint has NO auth middleware — verified by Stripe signature only- Cancel = `cancel_at_period_end: true` (user keeps access until period end)MIT — view on GitHub.