geronimo-iia/llm-wiki-skills/crystallize

Claude Code and agent skill by geronimo-iia/llm-wiki-skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Distil a session into durable wiki pages — extract decisions, findings, and open questions into concept or query-result pages.

Install

npx vskill@latest install geronimo-iia/llm-wiki-skills/crystallize

SKILL.md

Crystallize

Distil a session into durable wiki pages. Valuable knowledge emerges from conversations — decisions reached, patterns discovered, questions resolved. Without crystallization, this knowledge disappears when the session ends.

What to capture

Keep: decisions made, patterns established, lessons learned, open questions, current understanding, key findings, agreed frameworks, design rationale.

Discard: exploratory back-and-forth, dead ends, process chat, superseded drafts, corrections already incorporated.

The output is always significantly shorter and more structured than the input. Crystallize distils — it does not transcribe.

When to crystallize

  • A decision was reached → crystallize the decision and rationale
  • New knowledge was absorbed → crystallize into a concept page
  • A question was resolved → update the page that had the open question
  • A design was settled → crystallize into a query-result or concept
  • The chat is getting heavy → crystallize before context degrades
  • Closing a long thread → crystallize everything worth keeping

Search for an existing home

Before creating anything new, orient with the full wiki map:

wiki_list(format: "llms")

This produces all pages grouped by type with summaries — a complete map in a single call. Use it to identify existing pages that may cover the same ground, then search for candidates:

wiki_search(query: "<topic>")

If a concept page, section index, or prior query-result already covers this ground, prefer updating it over creating a new page.

Read candidates to check scope:

wiki_content_read(uri: "<candidate-slug>")

Analyse before writing

Before creating or updating any page, produce a concise extraction plan.

For each item of durable knowledge in the session, note:

  • What — one sentence describing the knowledge
  • Type — decision, finding, pattern, open-question
  • Action — create <type> <slug>, update <slug>, or discard
  • Confidence — estimated score (see calibration table below)

Example plan output:

1. tantivy fast fields require f64 not f32 (finding) → create concept tantivy-fast-field-types [0.85]
2. tweak_score replaces post-retrieval sort (decision) → create query-result search-ranking-tweak-score [0.9]
3. design-03 needs to depend on design-04 (decision) → update query-result improvements-ordering [0.8]
4. explored renaming ops module (dead end) → discard

Present the plan to the user and confirm before writing. This keeps the user in control and prevents the session from producing redundant or misclassified pages.

Confidence calibration for session knowledge

Knowledge typeSuggested confidence
Decision explicitly reached, agreed by all parties0.85–0.95
Pattern observed, confirmed by evidence in session0.70–0.85
Finding confirmed and cross-referenced with existing pages0.80–0.95
Pattern observed, not yet tested broadly0.50–0.65
Hypothesis raised, plausible but unvalidated0.30–0.50
Open question noted, no resolution0.20–0.35
Speculation or brainstorm output0.10–0.25

These ranges are starting points. Adjust up when the session provided strong evidence (code confirmed to work, multiple independent sources); adjust down when the conclusion was tentative or context-specific.

The default when no calibration applies is 0.5 (neutral — present but unreviewed). Never leave confidence absent on session-derived pages: the lint rule will flag them as stale if they stay at default for long.

Create a new page

When no existing page fits, use type: query-result for session conclusions or type: concept for synthesized knowledge.

Get the frontmatter scaffold:

wiki_schema(action: "show", type: "query-result", template: true)

Create and write:

wiki_content_new(uri: "<slug>", type: "query-result")
wiki_content_write(uri: "<slug>", content: "<full markdown>")

Set sources to the source pages that contributed claims, concepts to the concept pages discussed. These create typed graph edges (fed-by and depends-on).

Update an existing page

Respect the accumulation contract:

  1. Read the current page: wiki_content_read(uri: "<slug>")
  2. Preserve existing list values (tags, aliases, read_when, sources,

concepts, claims) — add, do not replace

  1. Update scalar fields (summary, tldr, confidence) only with

clear reason

  1. Write the complete file:
wiki_content_write(uri: "<slug>", content: "<updated markdown>")

Validate and index

Dry-run to catch errors (including edge target type mismatches):

wiki_ingest(path: "<path>", dry_run: true)

Then ingest for real:

wiki_ingest(path: "<path>")
Check structural quality

After ingest, run the engine lint for the pages just written:

wiki_lint(rules: "broken-link,orphan")

This catches:

  • Dead references in sources, concepts, or body wikilinks introduced

by the new pages

  • Orphan pages if the new page was not linked from anywhere

Fix any Error findings before closing the session. Warning findings (orphan on a newly created standalone page) can be deferred.

Verify

Confirm the knowledge was captured correctly:

wiki_content_read(uri: "<slug>")

Check graph edges are connected as expected:

wiki_graph(root: "<slug>", depth: 1)

Suggest links for the new page:

wiki_suggest(slug: "<slug>")

Suggested body structure

Adapt to the content — not every section is needed:

SectionWhen to include
SummaryAlways — 2–4 sentences of what was established
DecisionsWhen decisions were made
FindingsWhen new knowledge was discovered
Current UnderstandingWhen the session advanced understanding
Open QuestionsWhen questions remain unresolved
Related PagesWhen connections to other wiki pages are worth noting

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/geronimo-iia/llm-wiki-skills/crystallize/badge)](https://verified-skill.com/skills/geronimo-iia/llm-wiki-skills/crystallize)

Something wrong with this skill or its page? Tell us.