Skip to content

/pith-wiki

Wiki mode — persistent knowledge base maintenance. Active during /pith wiki mode. Defines page formats, ingest workflow, query workflow, and lint checks.

From plugin
9712 skills4 commands4 hooks
shell
$ npx -y skills add abhisekjha/pith --skill pith-wiki --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/pith-wiki
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

Wiki mode — persistent knowledge base maintenance. Active during /pith wiki mode. Defines page formats, ingest workflow, query workflow, and lint checks.

SKILL.md

pith-wiki.SKILL.md
name: pith-wiki
description: >
  Wiki mode — persistent knowledge base maintenance. Active during /pith wiki mode.
  Defines page formats, ingest workflow, query workflow, and lint checks.

Wiki mode behavior

When wiki mode is active:

  • After significant decisions: offer to save to wiki
  • After bugs solved: offer to save resolution
  • After architecture discussions: offer to save as decision record
  • After ingest: show what was updated, ask for confirmation
  • Keep all offers brief: one line. User says yes/no.

---

Page formats

Entity page (person, company, tool, service, component)

# [Entity Name]

**Type:** person | org | tool | service | component
**Summary:** [2 sentences max]

## Key Facts
- [fact]
- [fact]

## Connections
- [[related-entity]] — [how they relate]

## Sources
- [source title](../raw/sources/file.md) — [date]

## Contradictions
- [claim in source A] vs [claim in source B] — unresolved

Concept page (idea, pattern, method, principle)

# [Concept Name]

**Definition:** [one sentence]
**Why it matters:** [one sentence]

## How it works
[2-4 sentences max]

## Related
- [[concept]] — [relation]

## Examples
- [concrete example]

## Open questions
- [what's still unclear]

## Sources
- [source](../raw/sources/file.md)

Decision record

# Decision: [what was decided]

**Date:** YYYY-MM-DD
**Status:** decided | revisiting | superseded

## Context
[1-2 sentences: why this decision was needed]

## Options considered
| Option | Pro | Con |
|--------|-----|-----|
| A | ... | ... |

## Decision
[what was chosen and single-sentence why]

## Consequences
- [what this enables]
- [what this constrains]

Synthesis / analysis page

# [Title]

**Thesis:** [one-sentence claim]
**Confidence:** high | medium | low

## Evidence
- [point] — [source](../raw/sources/file.md)

## Counter-evidence
- [point that argues against the thesis]

## Open questions
- [what would change this conclusion]

---

index.md format

One entry per wiki page. Updated on every ingest or new page.

# Wiki Index

## Entities
- [[EntityName]] — [one-line description] — [source count] sources

## Concepts
- [[ConceptName]] — [one-line description]

## Decisions
- [[Decision-title]] — [date] — [status]

## Syntheses
- [[Synthesis-title]] — [one-line thesis]

## Sources processed
- [Source Title](raw/sources/file.md) — [date ingested] — [pages updated]

---

log.md format

Append-only. One entry per operation.

## [YYYY-MM-DD] ingest | [Source Title]
Pages updated: [[page1]], [[page2]], [[page3]]
New pages: [[new-page]]
Contradictions found: [yes/no — detail if yes]

## [YYYY-MM-DD] query | [question summary]
Pages consulted: [[page1]], [[page2]]
Answer filed: [[synthesis-page]] (yes/no)

## [YYYY-MM-DD] lint
Issues found: [N orphan pages, M stale claims, K missing cross-refs]

---

Ingest workflow

When `/pith ingest <file>` is called: 1. Run `python3 tools/ingest.py <file>`

When `/pith ingest --url <url>` is called: 1. Run `python3 tools/ingest.py --url <url>`

  • Fetches URL, strips HTML, saves to `raw/sources/YYYY-MM-DD-slug.md`
  • Then runs same ingest pipeline as a local file

---

Compile workflow

When `/pith compile` is called: 1. Run `python3 tools/compile.py`

  • Reads all files in `raw/sources/`
  • Asks Claude to identify cross-source topics and synthesis opportunities
  • Creates/updates `wiki/concepts/` pages with multi-source evidence
  • Files gaps back to wiki log

When `/pith compile --topic <topic>` is called: 1. Run `python3 tools/compile.py --topic "<topic>"`

When `/pith compile --dry-run` is called: 1. Run `python3 tools/compile.py --dry-run`

  • Shows plan (topics, synthesis pages, gaps) without writing anything

---

Lint checks

When `/pith lint` is called: 1. Run `python3 tools/lint.py`

  • Structural: orphan pages, missing sources, broken index links, stale contradictions
  • Semantic (LLM): cross-page contradictions, missing entity pages, suggested connections, knowledge gaps, imputable facts

When `/pith lint --fix` is called: 1. Run `python3 tools/lint.py --fix`

  • Same as above + auto-creates stub pages for missing entities

When `/pith lint --quick` is called: 1. Run `python3 tools/lint.py --quick`

  • Structural checks only, no LLM call

---

Query workflow

When `/pith wiki "<question>"`: 1. Read index.md — identify relevant page entries 2. Load those pages (Pith compresses each read automatically) 3. Synthesize answer with citations: "Based on [[page1]] and [[page2]]..." 4. Offer to file the answer: "Worth saving this as a synthesis page?"

---

Boundaries

Never modify files in `raw/sources/` — those are immutable source documents. Always write compressed, cross-linked pages. No verbose prose. Every new entity or concept gets its own page — no inline-only mentions.

Read more
Read it on GitHub ↗
Ships withpith

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.

Get the whole plugin, auto-invoked
Stats
97
Stars
0
Views
12
Forks
Maintained
Maintenance
Python
Language
MIT
License
2mo ago
Last commit
3mo ago
Created

Repo: abhisekjha/pith