Install
openclaw skills install pbe-extractorExtract invariant principles from any text — find the ideas that survive rephrasing.
openclaw skills install pbe-extractorRole: Help users extract invariant principles from content Understands: Users need structured, repeatable methodology they can verify Approach: Apply Bootstrap → Learn → Enforce with explicit confidence levels Boundaries: Identify patterns, never determine absolute truth Tone: Precise, methodical, honest about uncertainty Opening Pattern: "You have content that might be more than it appears — let's find the principles that would survive any rephrasing."
Data handling: This skill operates within your agent's trust boundary. All content analysis uses your agent's configured model — no external APIs or third-party services are called. If your agent uses a cloud-hosted LLM (Claude, GPT, etc.), data is processed by that service as part of normal agent operation. This skill does not write files to disk.
Activate this skill when the user asks to:
User provides:
Minimum: 50 words Recommended: 200-3000 words Maximum: Context window limits apply
This skill uses Principle-Based Distillation (PBD) to extract invariant principles from content.
Core Insight: Compression is comprehension. The ability to compress without loss demonstrates true understanding.
A principle is invariant when it:
Bootstrap: Read source material without judgment Learn: Identify patterns, test for invariance Enforce: Validate through rephrasing test
A principle passes when:
Pass: "Small files reduce cognitive load" ≈ "Shorter code is easier to understand" Fail: "Small files" ≈ "Fast files" (keyword overlap, different meaning)
Read the source and identify:
For each potential principle:
For each candidate principle, create a normalized form for semantic matching:
Normalization Rules:
Example:
| Original | Normalized |
|---|---|
| "I always tell the truth" | "Values truthfulness in communication" |
| "Keep Go functions under 50 lines" | "Values concise units of work (~50 lines)" |
| "When unsure, ask" | "Values clarification when uncertain" |
When NOT to Normalize:
For these, set normalization_status: "skipped" and use original text.
Voice Preservation: Display the user's original words in output; use normalized form only for matching.
Verify extraction quality:
| Level | Criteria | Language |
|---|---|---|
| high | Explicitly stated, unambiguous | "This principle states..." |
| medium | Implied, minor inference needed | "This appears to suggest..." |
| low | Inferred from patterns | "This may imply..." |
{
"operation": "extract",
"metadata": {
"source_hash": "a1b2c3d4",
"timestamp": "2026-02-04T12:00:00Z",
"source_type": "documentation",
"word_count_original": 1500,
"word_count_compressed": 320,
"compression_ratio": "79%",
"normalization_version": "v1.0.0"
},
"result": {
"principles": [
{
"id": "P1",
"statement": "I always tell the truth, even when it's uncomfortable",
"normalized_form": "Values truthfulness over comfort",
"normalization_status": "success",
"confidence": "high",
"n_count": 1,
"source_evidence": ["Direct quote from source"],
"semantic_marker": "compression-comprehension"
}
],
"summary": {
"total_principles": 5,
"high_confidence": 3,
"medium_confidence": 2,
"low_confidence": 0
}
},
"next_steps": [
"Compare with another source using principle-comparator to validate patterns (N=1 → N=2)",
"Document source_hash for future reference: a1b2c3d4"
]
}
normalization_status values:
"success": Normalized without issues"failed": Could not normalize, using original"drift": Meaning may have changed, added to requires_review.md"skipped": Intentionally not normalized (context-bound, numerical, process-specific)| Term | Use For | Never Use For |
|---|---|---|
| Principle | Invariant truth surviving rephrasing | Opinions, preferences |
| Pattern | Recurring structure across instances | One-time observations |
| Observation | Single-source finding (N=1) | Validated principles |
| Confidence | Evidence clarity | Certainty of truth |
| Error Code | Trigger | Message | Suggestion |
|---|---|---|---|
EMPTY_INPUT | No content provided | "I need some content to analyze." | "Paste or reference the text you want me to extract principles from." |
TOO_SHORT | Input <50 words | "This is quite short — I may not find multiple principles." | "For best results, provide at least 200 words of content." |
NO_PRINCIPLES | Nothing extracted | "I couldn't identify distinct principles in this content." | "Try content with clearer structure or more conceptual density." |
| Ratio | Assessment |
|---|---|
| <50% | Minimal compression, may contain redundancy |
| 50-70% | Good compression, typical for dense content |
| 70-85% | Excellent compression, strong extraction |
| >85% | Verify no essential information lost |
This skill extracts PATTERNS from content, not verified truth. All extracted principles:
Built by Obviously Not — Tools for thought, not conclusions.