一键导入
manage-thinking-topics
Manage the incubation loop topic lifecycle — seed new questions, review status, crystallize converged conclusions, and retire stale topics
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Manage the incubation loop topic lifecycle — seed new questions, review status, crystallize converged conclusions, and retire stale topics
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Autonomous AI crystallization - synthesizes converged thinking topics into ai-inferred notes in a dedicated folder. Never touches the human-curated permanent knowledge base and never changes a topic's status, so manual crystallization stays available to the user.
Analyze knowledge base structure and update the knowledge-base-analysis.md report
Discover non-obvious cross-domain connections through random sampling and pattern analysis
Run a full coherence sweep across the Brain Dependency Graph - computes staleness, lifecycle transitions, structural health, and generates a report
Compute lifecycle scores for all insight and framework notes - detect which notes are crystallizing or becoming generative
Create long-form articles from knowledge base insights. Use when writing articles, blog posts, Substack content, or synthesizing knowledge into publishable content. Includes tone of voice, structure templates, and knowledge base integration.
| name | manage-thinking-topics |
| description | Manage the incubation loop topic lifecycle — seed new questions, review status, crystallize converged conclusions, and retire stale topics |
| automation | manual |
| allowed-tools | Read, Write, Edit, Grep, Glob, Bash |
| user-invocable | true |
| argument-hint | [seed|review|crystallize|retire] [topic-slug] |
Human-in-the-loop manager for the incubation loop topic registry. Handles the full lifecycle: seeding new questions into analysis, reviewing current status, graduating converged conclusions to permanent notes, and retiring topics no longer worth pursuing.
Companion skill: .claude/skills/incubation-loop/SKILL.md — the analytical engine that processes active topics.
| Source | Location | Read | Write | Description |
|---|---|---|---|---|
| Thinking Registry | Brain/05-Meta/Thinking/THINKING-REGISTRY.md | ✓ | ✓ | Master list of all topics + status |
| Topic Files | Brain/05-Meta/Thinking/[topic-slug].md | ✓ | ✓ | Per-topic reasoning journal |
| Permanent Notes | Brain/02-Permanent/ | ✓ | Atomic crystallized conclusions (graph-integrated, future-reasoning substrate) | |
| Synthesis Reports | Brain/05-Meta/Reports/ | ✓ | Terminal crystallized conclusions (decision-input snapshots, excluded from LBS index) | |
| AI Extracted Notes | Brain/AI Extracted Notes/ | ✓ | Alternative destination for crystallized notes |
Invoke with one of four modes. If no mode is provided, default to review.
Purpose: Show the full topic landscape at a glance - what's active, what needs crystallization, what's done.
date '+%Y-%m-%d'
Read Brain/05-Meta/Thinking/THINKING-REGISTRY.md.
For each topic with status: active, read its thinking file. Extract:
run_count - how many iterations completedlast_run - date of last iterationFor each topic with status: converged, read its thinking file. Extract:
Output a structured report:
## Thinking Topics: Status Review [DATE]
### Active Topics (N)
| Topic | Runs | Last Run | Leading Hypothesis | Confidence | Next Move |
|-------|------|----------|-------------------|------------|-----------|
### Converged — Ready for Crystallization (N)
| Topic | Runs | Conclusion Summary | Confidence |
|-------|------|-------------------|------------|
### Crystallized — Done (N)
| Topic | Permanent Note | Crystallized |
|-------|---------------|-------------|
### Summary
- [N] topics in active analysis
- [N] topics ready for crystallization (action needed)
- [N] topics fully crystallized
- Next incubation-loop run: processes all active topics
If there are converged topics, highlight: "[N] topics ready for crystallization — run /manage-thinking-topics crystallize [slug] to graduate each one."
Purpose: Add a new question to the incubation loop.
Argument: topic slug (e.g., agent-memory-architecture)
If the topic slug is not provided, ask for it. Then gather:
Check that Brain/05-Meta/Thinking/[topic-slug].md does NOT already exist. If it does, warn and stop.
Check that the slug is not already in the registry. If it is, warn and stop.
date '+%Y-%m-%d'
Create Brain/05-Meta/Thinking/[topic-slug].md:
---
created: YYYY-MM-DD
updated: YYYY-MM-DD
created_by: claude-sonnet-4-6
updated_by: claude-sonnet-4-6
agent_version: 01.25
topic: "[exact question being analyzed]"
run_count: 0
last_run: null
status: active
---
# Thinking: [Topic Title]
## Central Question
[The exact question. Precise framing matters - ambiguous questions stay ambiguous.]
## Why This Question Matters
[1-2 sentences on stakes or relevance]
## Initial Hypotheses
| Hypothesis | Initial Confidence | Basis |
|-----------|-------------------|-------|
| H1: [statement] | X% | [prior knowledge or intuition] |
| H2: [statement] | X% | [prior knowledge or intuition] |
## Known Evidence (Pre-Run)
[Any notes or sources already known to be relevant, or "None identified yet."]
## Constraints and Assumptions
[What are you taking as given? What's out of scope?]
---
*Analytical runs will be appended below by the incubation loop*
Read Brain/05-Meta/Thinking/THINKING-REGISTRY.md.
Add a row to the Active Topics table:
| [topic-slug] | [central question] | active | 0 | null |
Update updated and updated_by in frontmatter.
Report:
Brain/05-Meta/Thinking/[topic-slug].mdPurpose: Graduate a converged topic — either as an atomic permanent note (Brain/02-Permanent/, graph-integrated) or as a terminal synthesis report (Brain/05-Meta/Reports/, excluded from semantic indexing). Choose based on whether the conclusion is generative (future reasoning will reuse it) or terminal (snapshot of what was concluded).
Argument: topic slug of a converged topic
If no slug is provided: read the registry, present the converged topics (with one-line conclusions), and ask which to crystallize before proceeding. If prior session context points at a specific topic or pair (e.g., a just-completed analysis that named them), recommend it as the first option. Accept common misspellings of the mode name (e.g., "crystalize").
Read Brain/05-Meta/Thinking/[topic-slug].md.
Verify status: converged. If not converged, warn and stop.
Extraction strategy (prefer the canonical block, fall back gracefully):
First, look for ## Final Synthesis - a canonical block appended when the loop transitions a topic to converged. If present, this is the authoritative source. Extract from it:
If no Final Synthesis block exists (legacy topics from before the standardized format), read only the last 200 lines of the file rather than the full thinking journal (some are 5,000+ lines). Extract:
Read the full file only if the last 200 lines do not contain a "Current Best Answer" or equivalent conclusion.
python3 resources/local-brain-search/search.py "[central question keywords]" --limit 5 --mode spreading 2>/dev/null
Check if a permanent note already exists covering this conclusion. If so, note the overlap and ask whether to update it or create a new note.
Before drafting, decide the destination based on the nature of the conclusion:
| Signal | Destination |
|---|---|
| Conclusion is one atomic insight that future reasoning will cite | Brain/02-Permanent/ (permanent note) |
| Conclusion has multiple co-equal findings that belong together (e.g., a four-stage architecture, a stratified framework) | Brain/05-Meta/Reports/ (synthesis report) |
| Conclusion is a snapshot of a moment (geopolitical assessment, project-stack analysis) — decision-input, not future-reasoning substrate | Brain/05-Meta/Reports/ (synthesis report) |
| Conclusion captures a generative principle that will be reasoned FROM in other contexts | Brain/02-Permanent/ (permanent note) |
| Topic is transitory — relevant for current decisions, unlikely to be revisited | Brain/05-Meta/Reports/ (synthesis report) |
[APPROVAL GATE] Propose the destination and ask the user to confirm or override:
"Recommend: [destination] because [reason]. Confirm, or override to [other destination]?"
Synthesis reports do not participate in connection-finder or semantic search (the Reports/ folder is excluded from LBS indexing). They are visible in Obsidian and can link OUT to permanent notes via [[wiki-links]], but permanent notes should rarely link IN to reports.
Adapt the draft to the chosen destination:
If permanent note (Brain/02-Permanent/):
If synthesis report (Brain/05-Meta/Reports/):
Propose the draft to the user for review before writing.
[APPROVAL GATE] Present the draft. Ask: "Write this to [chosen destination path]? (Yes / revise the draft / skip crystallization)"
On approval, write the file with proper frontmatter:
---
created: YYYY-MM-DD
updated: YYYY-MM-DD
created_by: claude-sonnet-4-6
updated_by: claude-sonnet-4-6
agent_version: 01.25
provenance: ai-inferred
---
Provenance (mandatory): Crystallized conclusions are agent-synthesized, so default provenance: ai-inferred. Per CLAUDE.md's guarded boundary, this only becomes endorsed or originated through an explicit endorsement act by the user at the [APPROVAL GATE] above - never set it automatically. If the user states the conclusion is his own thinking, set provenance: endorsed (or originated if it is purely his idea the loop merely formalized).
For synthesis reports, kebab-case the filename; add a date suffix if the report is a dated snapshot (e.g., trinity-production-architecture-2026-05-26.md).
Edit Brain/05-Meta/Thinking/[topic-slug].md:
status: crystallizedupdated and updated_by---
**CRYSTALLIZED [DATE]** → [[Destination Note or Report Name]]
*Conclusion graduated to [permanent knowledge base | synthesis reports]. Thinking file archived.*
In Brain/05-Meta/Thinking/THINKING-REGISTRY.md:
| [topic-slug] | [[Destination Note or Report Name]] | YYYY-MM-DD |
If the existing Crystallized table column header is still "Permanent Note", update it to "Destination" so it accommodates both atomic notes and synthesis reports.
Update updated and updated_by in frontmatter.
Report:
[full destination path]Purpose: Remove a topic from active analysis without crystallizing it (topic no longer relevant, question was wrong, superseded by new evidence).
Argument: topic slug
Read Brain/05-Meta/Thinking/[topic-slug].md. Show:
[APPROVAL GATE] Ask:
"Retiring '[topic-slug]' will stop it from being processed by the incubation loop. The thinking file will be kept for reference but marked retired. Reason for retiring? (or type 'cancel')"
Capture the reason.
Edit Brain/05-Meta/Thinking/[topic-slug].md:
status: retiredupdated and updated_by---
**RETIRED [DATE]**
*Reason: [reason given]*
*Topic removed from active analysis. Thinking file kept for reference.*
In Brain/05-Meta/Thinking/THINKING-REGISTRY.md:
Optionally add a Retired section if one doesn't exist:
## Retired
| Topic Slug | Reason | Retired On |
|------------|--------|------------|
Update updated and updated_by in frontmatter.
Report:
Brain/05-Meta/Thinking/[topic-slug].mdWhen seeding or reviewing, the next analytical move is determined by run_count mod 6:
| run_count % 6 | Move |
|---|---|
| 0 | ACH Audit — eliminate weak hypotheses |
| 1 | Bayesian Update — explicit confidence tracking |
| 2 | Steelman Opposition — dialectical challenge |
| 3 | Cross-Domain Bridge — consilience from another field |
| 4 | Implication Check — falsificationism |
| 5 | Assumption Audit — find load-bearing shaky premises |
A topic converges when ALL:
run_count >= 4The incubation-loop skill checks this automatically after each run.
| Error | Recovery |
|---|---|
| Registry missing | Stop; inform user to seed registry via incubation-loop skill |
| Topic file missing for registry entry | Log warning; continue with other topics |
| Slug already exists (seed mode) | Stop; show existing file path |
| Topic not converged (crystallize mode) | Stop with current run count and status |
| KB search returns empty | Skip search step; note in output |
After completing this skill's primary task, consider tactical improvements:
git add .claude/skills/manage-thinking-topics/SKILL.mdgit commit -m "refactor(manage-thinking-topics): <brief improvement>"