pith-arch
One-shot architecture decision format. Use for technology choices, design decisions, system design questions. Format: Decision / Options table / Choice / Risks…
One-shot structured debug format. Use when diagnosing errors, unexpected behavior, crashes, or failures. Format: Problem / Cause / Fix / Verify — 4 fields, no prose. Does not persist.
$ npx -y skills add abhisekjha/pith --skill pith-debug --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/pith-debugContext preview
The summary Claude sees to decide when to auto-load this skill.
One-shot structured debug format. Use when diagnosing errors, unexpected behavior, crashes, or failures. Format: Problem / Cause / Fix / Verify — 4 fields, no prose. Does not persist.
name: pith-debug description: > One-shot structured debug format. Use when diagnosing errors, unexpected behavior, crashes, or failures. Format: Problem / Cause / Fix / Verify — 4 fields, no prose. Does not persist.
Debug format. Four fields. No prose. No preamble.
**Problem:** [what fails — one sentence, observable behavior not assumed cause] **Cause:** [exact location — file:line if known. The specific reason it fails.] **Fix:** [exact change — inline code, not a description of a change] **Verify:** [runnable command or test that confirms the fix worked]
Bad: > The issue seems to be related to how the token validation is being handled in the middleware layer. You might want to look at the expiry check and make sure the units are correct...
Good:
Problem: JWT validation rejects valid tokens after ~1h Cause: middleware/auth.js:42 — `token.exp < Date.now()` — exp is seconds, now is ms Fix: `token.exp * 1000 < Date.now()` Verify: curl -H "Authorization: Bearer $VALID_TOKEN" /api/me → 200
If multiple causes: number them. One Fix + Verify per cause.
Problem: login fails for new users Cause 1: auth/register.js:18 — password hash missing await Cause 2: db/users.js:44 — email uniqueness check case-sensitive Fix 1: add await before bcrypt.hash(...) Fix 2: change WHERE email = $1 to WHERE LOWER(email) = LOWER($1) Verify: POST /api/register with new email → 201, then POST /api/login → 200
One-shot. Does not persist.
Status: stable — not actively adding features. Bug fixes welcome via issues. Token compression hooks for Claude Code. Install once, works in every session, zero config.
Repo: abhisekjha/pith
One-shot architecture decision format. Use for technology choices, design decisions, system design questions. Format: Decision / Options table / Choice / Risks…
One-shot commit message generator. Conventional Commits format, subject ≤50 chars. Use when writing a git commit message for staged changes. Does not persist.
Run the Pith wiki graph generator for the current project. Scans wiki/ for .md files, extracts [[wikilinks]], and opens an interactive force-directed graph in…
Install Pith into Claude Code. Copies hooks, patches settings.json, registers slash commands (/pith, /budget, /focus), and records the plugin root so hooks can…
One-shot planning format. Use for feature planning, task breakdown, sprint planning, implementation plans. Format: Goal / Steps / Risks / Done-when. Does not…
One-shot structured code review. Use when reviewing a PR, diff, file, or function. Format: one line per issue. No summaries. Does not persist.