Add a new knowledge domain to your existing system. Derives domain-specific configuration through conversation, generates domain folders, templates, and vocabulary while preserving and connecting to your existing architecture.
中文简介正在准备中。当前显示原文说明。
Challenge system assumptions against accumulated evidence. Triages observations and tensions, detects patterns, generates proposals. The scientific method applied to knowledge systems. Triggers on "/rethink", "review observations", "challenge assumptions", "what have I learned".
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Read these files to configure domain-specific behavior:
ops/derivation-manifest.md — vocabulary mapping, domain context
vocabulary.notes for the notes folder namevocabulary.note for the note type name in outputvocabulary.rethink for the command name in outputvocabulary.topic_map for MOC referencesvocabulary.cmd_reflect for connection-finding referencesops/config.yaml — thresholds, processing preferences
self_evolution.observation_threshold: number of pending observations before suggesting rethink (default: 10)self_evolution.tension_threshold: number of pending tensions before suggesting rethink (default: 5)ops/methodology/ — existing methodology notes (read all to understand current system self-knowledge)
If these files don't exist (pre-init invocation or standalone use), use universal defaults.
The command name itself transforms per domain. The derivation manifest maps the universal name to domain-native language. If no manifest exists, use "rethink" as the command name.
Target: $ARGUMENTS
Parse immediately:
START NOW. Reference below defines the six-phase workflow.
The system is not sacred. Evidence beats intuition.
Every rule in the context file, every workflow in a skill, every assumption baked into the architecture was a hypothesis at some point. Hypotheses need testing against reality. Observation notes in ops/observations/ capture friction from actual use. Tension notes in ops/tensions/ capture unresolved conflicts. Rethink first triages these individually (some become {DOMAIN:notes}, some become methodology updates, some get archived), then compares remaining evidence against what the system assumes and proposes changes when patterns emerge.
This is the scientific method applied to knowledge systems: hypothesize, implement, observe, revise.
Without this loop, generated systems ossify — they accumulate friction that never gets addressed, contradictions that never get resolved, and methodology learnings that never get elevated to system-level changes. /rethink is the immune system that prevents calcification.
Rule Zero: ops/methodology/ is the canonical specification of how this system operates. Before triaging observations, check whether the system has drifted from what the methodology says it should do.
# Get all methodology notes with their metadata
for f in ops/methodology/*.md; do
echo "=== $f ==="
head -20 "$f" # frontmatter with category, created, updated, status
echo ""
done
Read all methodology notes fully. Extract:
Read:
ops/config.yaml — current configuration stateops/derivation-manifest.md — vocabulary and feature stateType 1: Staleness
# Compare config.yaml modification time vs newest methodology note
CONFIG_MTIME=$(stat -f %m ops/config.yaml 2>/dev/null || stat -c %Y ops/config.yaml 2>/dev/null || echo 0)
NEWEST_METH=$(ls -t ops/methodology/*.md 2>/dev/null | head -1)
METH_MTIME=$(stat -f %m "$NEWEST_METH" 2>/dev/null || stat -c %Y "$NEWEST_METH" 2>/dev/null || echo 0)
If CONFIG_MTIME > METH_MTIME: config has changed since methodology was last updated. Flag as staleness drift.
Type 2: Coverage Gap
For each active feature in config.yaml (features with enabled: true or features present in the active configuration), check whether a corresponding methodology note exists. Features without methodology coverage represent gaps — the system does things it cannot explain to itself.
Check these feature areas:
Type 3: Assertion Mismatch
For each methodology note that makes a behavioral assertion ("What to Do" section), check:
Report: which assertions align, which contradict, which have no corresponding system element.
For each drift finding, create an observation note in ops/observations/:
---
description: [specific drift finding]
category: drift
status: pending
observed: {today's date}
related_notes: ["[[methodology note]]", "[[config element]]"]
---
# [drift finding as prose sentence]
**Drift type:** staleness | coverage-gap | assertion-mismatch
**Methodology note:** [[affected note]]
**System element:** [config.yaml field, context file section, or missing coverage]
**Discrepancy:** [what the methodology says vs what the system does]
Resolution: update methodology note | update system config | flag for human review
Output drift status summary:
Drift Check:
Staleness: [N findings — config changed, methodology not updated]
Coverage gaps: [N features without methodology notes]
Assertion mismatches: [N contradictions between methodology and system]
Total drift observations created: [N]
If drift observations were created, they join the pool of pending observations for Phase 1 triage. Proceed to Phase 1.
OBS_PENDING=$(grep -rl '^status: pending' ops/observations/ 2>/dev/null)
OBS_COUNT=$(echo "$OBS_PENDING" | grep -c . 2>/dev/null || echo 0)
TENSION_PENDING=$(grep -rl '^status: pending\|^status: open' ops/tensions/ 2>/dev/null)
TENSION_COUNT=$(echo "$TENSION_PENDING" | grep -c . 2>/dev/null || echo 0)
Read each pending item fully. These are small atomic notes — load all of them. Understanding the full content is required for accurate triage. If zero pending items, report clean state and exit early.
Also read ops/methodology/ to understand existing methodology notes — this prevents creating duplicates and informs whether new observations should extend existing methodology rather than create new notes.
Assign exactly one disposition per observation or tension:
| Disposition | Meaning | When to Apply | Action |
|---|---|---|---|
| PROMOTE | Reusable insight worth keeping as a permanent {DOMAIN:note} | General principle across sessions. Would work as a claim note. Crystallized insight, not operational guidance. | Create {DOMAIN:note} in {vocabulary.notes}/, set observation status: promoted, add promoted_to: [[title]] |
| IMPLEMENT | Operational guidance that should change the system | "System should do X differently." Points to a concrete improvement in context file, template, or skill. | Update the specific file, set status: implemented, add implemented_in: [filepath] |
| METHODOLOGY | Friction pattern that should inform agent behavior | Behavioral learning. Not a domain insight (PROMOTE) or a system change (IMPLEMENT) — a methodology learning about HOW to operate. | Create or update methodology note in ops/methodology/, set status: implemented, add implemented_in: ops/methodology/[file] |
| ARCHIVE | Session-specific, no longer relevant | One-session-specific with no lasting value. Already addressed by later work. Superseded by newer evidence. | Set status: archived |
| KEEP PENDING | Not enough evidence yet | Might matter but need more data. Part of a pattern that has not fully emerged. Single data point that could go either way. | No change — leave status: pending |
Triage heuristics for observations:
Triage heuristics for tensions:
status: dissolved, add dissolved_reason)Present the full triage to the user before executing any changes:
--=={ {DOMAIN:rethink} — Triage }==--
Evidence: [N] observations, [M] tensions
PROMOTE ([count])
[filename] — [title] → proposed {DOMAIN:note} title
[filename] — [title] → proposed {DOMAIN:note} title
IMPLEMENT ([count])
[filename] — [title] → change [specific file/section]
[filename] — [title] → change [specific file/section]
METHODOLOGY ([count])
[filename] — [title] → create/update ops/methodology/[name].md
[filename] — [title] → extends existing ops/methodology/[name].md
ARCHIVE ([count])
[filename] — [title] — [reason for archiving]
KEEP PENDING ([count])
[filename] — [title] — [why more evidence needed]
Use AskUserQuestion: "Review the triage above. Approve all, or list items to reclassify (e.g., 'keep obs-003 pending, promote obs-007 instead')."
Wait for user confirmation before proceeding to 1d. Do not execute triage without approval.
After user confirmation, apply all dispositions in order:
For PROMOTE items:
status: promoted, add promoted_to: [[note title]]For IMPLEMENT items:
status: implemented, add implemented_in: [filepath]For METHODOLOGY items: (see Phase 2 below)
For ARCHIVE items:
status: archivedstatus: dissolved, add dissolved_reason: [why]For KEEP PENDING items:
Update MOCs: After triage execution, update ops/observations.md and ops/tensions.md to reflect status changes. Move entries between Pending/Promoted/Archived/Resolved/Dissolved sections as appropriate.
For items triaged as METHODOLOGY, create or update notes in ops/methodology/.
---
description: [what this methodology note teaches — specific enough to be actionable]
type: methodology
category: [processing | capture | connection | maintenance | voice | behavior | quality]
source: rethink
created: YYYY-MM-DD
status: active
evidence: ["obs-filename-1", "obs-filename-2"]
---
# [prose-as-title describing the learned behavior]
[Body developing the methodology learning:
- What the agent should do
- What the agent should avoid
- Why this matters (what went wrong without this)
- When this applies (scope/context)]
---
Related: [[methodology]]
If a methodology note with similar content already exists:
status: implemented, add implemented_in: ops/methodology/[existing-file]Before creating a new methodology note:
ops/methodology/ (these are small)After creating or updating methodology notes, update ops/methodology.md:
Analyze remaining pending evidence (post-triage) plus promoted/implemented history for systemic patterns. This is where individual data points become actionable signals.
status: pending after triagestatus: open or status: pending after triageops/methodology/ by category| Pattern Type | Signal | Threshold | What It Means |
|---|---|---|---|
| Recurring themes | 3+ observations about the same area or concept | Systemic issue requiring structural response | Something is fundamentally misaligned in that area |
| Contradiction clusters | Multiple tensions pointing at the same architectural assumption | Assumption may be wrong | The system has a flawed foundation in that area |
| Friction accumulation | Multiple observations about the same workflow step | Workflow needs redesign | A specific process is consistently painful |
| Drift signals | Observations suggesting vocabulary, structure, or threshold sensitivity no longer fits | /architect or /reseed territory | The system's configuration may have outgrown the user's actual needs |
| Methodology convergence | Multiple /remember captures in ops/methodology/ pointing at the same behavioral pattern | Methodology note needs elevation to context file | A methodology learning has been validated enough to become a system-level rule |
Group by category field: Sort observations by their category (methodology, process-gap, friction, surprise, quality). 3+ items in the same category = potential pattern.
Group by referenced {DOMAIN:topic maps} or system areas: Extract wiki links and file references from observation bodies. 3+ observations referencing the same area = recurring theme.
Cross-reference tensions: Check if multiple tensions share the same assumption. Multiple tensions pointing at the same thing = assumption may be wrong.
Check friction frequency for acceleration: Are friction observations about the same step appearing more frequently? An accelerating pattern is a stronger signal than steady-state friction.
Compare methodology notes against context file: If ops/methodology/ has 3+ notes in the same category that are not reflected in the context file, the methodology has converged enough for elevation.
Check for vocabulary drift: If observations use different terms than the derivation manifest or context file, the system's language may have drifted from the user's actual vocabulary.
Do not fabricate patterns from insufficient evidence. A single observation is a data point, not a pattern. Two observations are a coincidence. Three observations are a pattern worth investigating.
For each candidate pattern, assess:
Only report patterns that pass all four checks.
--=={ {DOMAIN:rethink} — Patterns }==--
Patterns detected: [N]
1. [Pattern type]: [description]
Evidence: [filenames, one per line]
Area: [system area affected]
Impact: [what breaks or degrades]
Confidence: [high | medium — never low, since low means not enough evidence]
2. [Pattern type]: [description]
...
No patterns found in: [areas with < 3 data points]
If no patterns are detected, report this clearly. Pattern detection requires sufficient evidence — an empty result after triage is a sign the system is healthy, not that rethink failed.
For each detected pattern, generate one specific, actionable proposal.
Proposal [N]: [title — what would change]
Evidence:
- [filename] — [one-line summary of this observation's contribution]
- [filename] — [one-line summary]
- [filename] — [one-line summary]
Pattern: [which pattern type from Phase 3]
Current assumption:
[Quote the specific section of context file, skill, or template
that embodies the assumption being challenged.
Include the file path and section heading.]
Proposed change:
[Specific file and section. What changes, what stays.
Before/after if possible. Concrete enough that someone
could implement this without additional context.]
What would improve:
[Concrete expected benefit — not "things would be better"
but "reduces processing time for inbox items because..."
or "prevents the duplicate creation issue observed in obs-003, obs-007"]
What could go wrong:
[Risk assessment — what might break? What second-order effects?
What assumptions does this proposal itself make?]
Reversible: [yes | no | partially — explain if partially]
Scope: [context-file | skill | template | architecture | methodology]
Every proposal MUST have:
| Evidence Strength | Maximum Proposal Scope |
|---|---|
| 2 observations, same area | Methodology note update |
| 3+ observations, clear pattern | Skill or template change |
| 5+ observations + tensions | Context file section change |
| Pervasive pattern across areas | Architectural change (recommend /architect consultation) |
Do not propose architectural changes based on thin evidence. The threshold scales with the blast radius.
If 10+ pending observations or 5+ pending tensions remain after triage AND pattern detection did not consume them into proposals:
Threshold signal for /next:
[N] pending observations, [N] pending tensions remain
/next should prioritize {DOMAIN:rethink} at session priority
NEVER auto-implement proposals. Changes to system assumptions require human judgment. This is the invariant that makes rethink safe — it can analyze aggressively because it cannot act unilaterally.
--=={ {DOMAIN:rethink} — Complete }==--
Triaged: [N] observations, [M] tensions
Promoted to {DOMAIN:notes}: [count]
Methodology updates: [count]
Implemented: [count]
Archived: [count]
Kept pending: [count]
Patterns detected: [count]
1. [Pattern type]: [brief description]
Evidence: [count] items
Proposal: [one-line summary]
2. [Pattern type]: [brief description]
Evidence: [count] items
Proposal: [one-line summary]
Awaiting approval for [count] proposals.
Use AskUserQuestion: "Which proposals should I implement? (all / none / list numbers, e.g. '1, 3'). You can also ask me to modify a proposal before deciding."
Handle each response:
| Response | Action |
|---|---|
| "all" | Implement all proposals |
| "none" | Skip all. Optionally ask why to capture reasoning as a new observation. |
| "1, 3" | Implement listed proposals only |
| "modify 2" | Ask what should change, revise proposal, re-present for approval |
| Question about a proposal | Answer, then re-ask for approval |
For each approved proposal:
## YYYY-MM-DD: [change title]
**Source:** /{DOMAIN:rethink} — [pattern type]
**Evidence:** [observation/tension filenames]
**Change:** [what was modified, which files]
**Risk:** [risk assessment from proposal]
resolved_by: [changelog reference] to each observation/tension that contributed to the approved proposal.If any observations were promoted to {DOMAIN:notes}:
[count] {DOMAIN:notes} were promoted from observations.
Run /{DOMAIN:connect} on promoted notes to find connections.
Promoted: [list of note titles]
If promoted items should enter the processing pipeline (queue-based systems):
current_phase: "reflect" (the note already exists, so skip create)After rethink completes, capture the session itself. Create or append to ops/rethink-log.md:
## YYYY-MM-DD HH:MM
**Evidence reviewed:** [N] observations, [M] tensions
**Triage:** [count] promoted, [count] methodology, [count] implemented, [count] archived, [count] pending
**Patterns:** [count] detected
**Proposals:** [count] generated, [count] approved, [count] rejected, [count] deferred
**Changes applied:** [list of files modified]
This creates an evolution history. When /architect or /reseed runs, it can review the rethink log to understand how the system has evolved and what patterns have driven changes.
These directories are part of the operational learning loop kernel primitive. If they do not exist:
ops/observations/ and ops/tensions/. Create these directories and their MOC files to begin capturing system friction."Report clean state:
--=={ {DOMAIN:rethink} — Clean State }==--
No pending observations or tensions.
The system has no accumulated friction to process.
Continue capturing observations during normal work.
Run /{DOMAIN:rethink} again when signals accumulate.
If 3+ drift signals are detected (vocabulary mismatch, structural misalignment, threshold disconnect between what the system expects and what the user actually does):
Run triage normally but note that pattern detection requires more data:
Note: [N] items is below the threshold for reliable pattern detection.
Triage completed. Pattern analysis will be more reliable after more
observations accumulate. This is expected early in the system lifecycle.
When target is a specific filename:
If two proposals would contradict each other (e.g., one suggests adding complexity, another suggests simplifying the same area):
If the evidence pool is very large:
Never:
Always:
Rethink is the system's immune system. It detects when assumptions have become infections — beliefs that made sense once but now cause harm. Healthy systems challenge themselves. Unhealthy systems calcify around untested assumptions.
The methodology learning loop closes here:
Work happens → friction captured as observations/tensions
→ /remember captures immediate corrections
→ observations accumulate
→ /rethink triages + detects patterns + proposes changes
→ human approves changes
→ system evolves
→ less friction → fewer observations → healthy system
Run {DOMAIN:rethink}. Let evidence win.
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Add a new knowledge domain to your existing system. Derives domain-specific configuration through conversation, generates domain folders, templates, and vocabulary while preserving and connecting to your existing architecture.
中文简介正在准备中。当前显示原文说明。
Research-backed evolution advice for your knowledge system. Analyzes health reports, friction patterns, and derivation history to propose specific changes with research justification. Never auto-implements — proposals require your approval.
中文简介正在准备中。当前显示原文说明。
Query the bundled research knowledge graph for methodology guidance. Routes questions through a 3-tier knowledge base — WHY (research claims), HOW (guidance docs), WHAT IT LOOKS LIKE (domain examples) — plus structured reference documents. Returns research-backed answers grounded in specific claims with practical application to the user's system. Triggers on "/ask", "/ask [question]", "why does my system...", "how should I...".
中文简介正在准备中。当前显示原文说明。
Interactive knowledge graph analysis. Routes natural language questions to graph scripts, interprets results in domain vocabulary, and suggests concrete actions. Triggers on "/graph", "/graph health", "/graph triangles", "find synthesis opportunities", "graph analysis".
中文简介正在准备中。当前显示原文说明。
Run condition-based vault health diagnostics. 8 categories — schema compliance, orphan detection, link health, description quality, three-space boundaries, processing throughput, stale notes, MOC coherence. 3 modes — quick (schema+orphans+links), full (all 8), three-space (boundary violations only). Returns actionable FAIL/WARN/PASS report with specific fixes ranked by impact. Triggers on "/health", "check vault health", "maintenance report", "what needs fixing".
中文简介正在准备中。当前显示原文说明。
Contextual guidance and command discovery. Three modes — narrative (first-time), contextual (mid-task), compact (quick reference). Shows available commands, active skills, and intelligent suggestions based on vault state. Triggers on "/help", "what can I do", "show commands", "how does this work".
中文简介正在准备中。当前显示原文说明。