diff --git a/.cursor/skills/caveman/SKILL.md b/.cursor/skills/caveman/SKILL.md index 2ab498b..073d6bb 100644 --- a/.cursor/skills/caveman/SKILL.md +++ b/.cursor/skills/caveman/SKILL.md @@ -31,7 +31,7 @@ Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:" |-------|------------| | **lite** | No filler/hedging. Keep articles + full sentences. Professional but tight | | **full** | Drop articles, fragments OK, short synonyms. Classic caveman | -| **ultra** | Abbreviate (DB/auth/config/req/res/fn/impl), strip conjunctions, arrows for causality (X → Y), one word when one word enough | +| **ultra** | Abbreviate prose words (DB/auth/config/req/res/fn/impl), strip conjunctions, arrows for causality (X → Y), one word when one word enough. Code symbols, function names, API names, error strings: never abbreviate | | **wenyan-lite** | Semi-classical. Drop filler/hedging but keep grammar structure, classical register | | **wenyan-full** | Maximum classical terseness. Fully 文言文. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其) | | **wenyan-ultra** | Extreme abbreviation while keeping classical Chinese feel. Maximum compression, ultra terse | @@ -53,7 +53,14 @@ Example — "Explain database connection pooling." ## Auto-Clarity -Drop caveman for: security warnings, irreversible action confirmations, multi-step sequences where fragment order risks misread, user asks to clarify or repeats question. Resume caveman after clear part done. +Drop caveman when: +- Security warnings +- Irreversible action confirmations +- Multi-step sequences where fragment order or omitted conjunctions risk misread +- Compression itself creates technical ambiguity (e.g., `"migrate table drop column backup first"` — order unclear without articles/conjunctions) +- User asks to clarify or repeats question + +Resume caveman after clear part done. Example — destructive op: > **Warning:** This will permanently delete all rows in the `users` table and cannot be undone. diff --git a/.windsurf/skills/caveman/SKILL.md b/.windsurf/skills/caveman/SKILL.md index 2ab498b..073d6bb 100644 --- a/.windsurf/skills/caveman/SKILL.md +++ b/.windsurf/skills/caveman/SKILL.md @@ -31,7 +31,7 @@ Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:" |-------|------------| | **lite** | No filler/hedging. Keep articles + full sentences. Professional but tight | | **full** | Drop articles, fragments OK, short synonyms. Classic caveman | -| **ultra** | Abbreviate (DB/auth/config/req/res/fn/impl), strip conjunctions, arrows for causality (X → Y), one word when one word enough | +| **ultra** | Abbreviate prose words (DB/auth/config/req/res/fn/impl), strip conjunctions, arrows for causality (X → Y), one word when one word enough. Code symbols, function names, API names, error strings: never abbreviate | | **wenyan-lite** | Semi-classical. Drop filler/hedging but keep grammar structure, classical register | | **wenyan-full** | Maximum classical terseness. Fully 文言文. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其) | | **wenyan-ultra** | Extreme abbreviation while keeping classical Chinese feel. Maximum compression, ultra terse | @@ -53,7 +53,14 @@ Example — "Explain database connection pooling." ## Auto-Clarity -Drop caveman for: security warnings, irreversible action confirmations, multi-step sequences where fragment order risks misread, user asks to clarify or repeats question. Resume caveman after clear part done. +Drop caveman when: +- Security warnings +- Irreversible action confirmations +- Multi-step sequences where fragment order or omitted conjunctions risk misread +- Compression itself creates technical ambiguity (e.g., `"migrate table drop column backup first"` — order unclear without articles/conjunctions) +- User asks to clarify or repeats question + +Resume caveman after clear part done. Example — destructive op: > **Warning:** This will permanently delete all rows in the `users` table and cannot be undone. diff --git a/caveman-compress/README.md b/caveman-compress/README.md index 7c0e8ba..2c52cdc 100644 --- a/caveman-compress/README.md +++ b/caveman-compress/README.md @@ -98,7 +98,7 @@ Examples: | Type | Compress? | |------|-----------| -| `.md`, `.txt`, `.rst` | ✅ Yes | +| `.md`, `.txt`, `.rst`, `.typ`, `.typst`, `.tex` | ✅ Yes | | Extensionless natural language | ✅ Yes | | `.py`, `.js`, `.ts`, `.json`, `.yaml` | ❌ Skip (code/config) | | `*.original.md` | ❌ Skip (backup files) | diff --git a/caveman-compress/SKILL.md b/caveman-compress/SKILL.md index 9e41fd8..eecc203 100644 --- a/caveman-compress/SKILL.md +++ b/caveman-compress/SKILL.md @@ -103,7 +103,7 @@ Compressed: ## Boundaries -- ONLY compress natural language files (.md, .txt, extensionless) +- ONLY compress natural language files (.md, .txt, .typ, .typst, .tex, extensionless) - NEVER modify: .py, .js, .ts, .json, .yaml, .yml, .toml, .env, .lock, .css, .html, .xml, .sql, .sh - If file has mixed content (prose + code), compress ONLY the prose sections - If unsure whether something is code or prose, leave it unchanged diff --git a/caveman-compress/scripts/detect.py b/caveman-compress/scripts/detect.py index 5f50fd3..8d5f6d7 100644 --- a/caveman-compress/scripts/detect.py +++ b/caveman-compress/scripts/detect.py @@ -6,7 +6,7 @@ import re from pathlib import Path # Extensions that are natural language and compressible -COMPRESSIBLE_EXTENSIONS = {".md", ".txt", ".markdown", ".rst"} +COMPRESSIBLE_EXTENSIONS = {".md", ".txt", ".markdown", ".rst", ".typ", ".typst", ".tex"} # Extensions that are code/config and should be skipped SKIP_EXTENSIONS = { diff --git a/caveman.skill b/caveman.skill index a9d4340..ce22ecf 100644 Binary files a/caveman.skill and b/caveman.skill differ diff --git a/caveman/SKILL.md b/caveman/SKILL.md index 2ab498b..073d6bb 100644 --- a/caveman/SKILL.md +++ b/caveman/SKILL.md @@ -31,7 +31,7 @@ Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:" |-------|------------| | **lite** | No filler/hedging. Keep articles + full sentences. Professional but tight | | **full** | Drop articles, fragments OK, short synonyms. Classic caveman | -| **ultra** | Abbreviate (DB/auth/config/req/res/fn/impl), strip conjunctions, arrows for causality (X → Y), one word when one word enough | +| **ultra** | Abbreviate prose words (DB/auth/config/req/res/fn/impl), strip conjunctions, arrows for causality (X → Y), one word when one word enough. Code symbols, function names, API names, error strings: never abbreviate | | **wenyan-lite** | Semi-classical. Drop filler/hedging but keep grammar structure, classical register | | **wenyan-full** | Maximum classical terseness. Fully 文言文. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其) | | **wenyan-ultra** | Extreme abbreviation while keeping classical Chinese feel. Maximum compression, ultra terse | @@ -53,7 +53,14 @@ Example — "Explain database connection pooling." ## Auto-Clarity -Drop caveman for: security warnings, irreversible action confirmations, multi-step sequences where fragment order risks misread, user asks to clarify or repeats question. Resume caveman after clear part done. +Drop caveman when: +- Security warnings +- Irreversible action confirmations +- Multi-step sequences where fragment order or omitted conjunctions risk misread +- Compression itself creates technical ambiguity (e.g., `"migrate table drop column backup first"` — order unclear without articles/conjunctions) +- User asks to clarify or repeats question + +Resume caveman after clear part done. Example — destructive op: > **Warning:** This will permanently delete all rows in the `users` table and cannot be undone. diff --git a/plugins/caveman/skills/caveman/SKILL.md b/plugins/caveman/skills/caveman/SKILL.md index 2ab498b..073d6bb 100644 --- a/plugins/caveman/skills/caveman/SKILL.md +++ b/plugins/caveman/skills/caveman/SKILL.md @@ -31,7 +31,7 @@ Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:" |-------|------------| | **lite** | No filler/hedging. Keep articles + full sentences. Professional but tight | | **full** | Drop articles, fragments OK, short synonyms. Classic caveman | -| **ultra** | Abbreviate (DB/auth/config/req/res/fn/impl), strip conjunctions, arrows for causality (X → Y), one word when one word enough | +| **ultra** | Abbreviate prose words (DB/auth/config/req/res/fn/impl), strip conjunctions, arrows for causality (X → Y), one word when one word enough. Code symbols, function names, API names, error strings: never abbreviate | | **wenyan-lite** | Semi-classical. Drop filler/hedging but keep grammar structure, classical register | | **wenyan-full** | Maximum classical terseness. Fully 文言文. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其) | | **wenyan-ultra** | Extreme abbreviation while keeping classical Chinese feel. Maximum compression, ultra terse | @@ -53,7 +53,14 @@ Example — "Explain database connection pooling." ## Auto-Clarity -Drop caveman for: security warnings, irreversible action confirmations, multi-step sequences where fragment order risks misread, user asks to clarify or repeats question. Resume caveman after clear part done. +Drop caveman when: +- Security warnings +- Irreversible action confirmations +- Multi-step sequences where fragment order or omitted conjunctions risk misread +- Compression itself creates technical ambiguity (e.g., `"migrate table drop column backup first"` — order unclear without articles/conjunctions) +- User asks to clarify or repeats question + +Resume caveman after clear part done. Example — destructive op: > **Warning:** This will permanently delete all rows in the `users` table and cannot be undone. diff --git a/plugins/caveman/skills/compress/SKILL.md b/plugins/caveman/skills/compress/SKILL.md index 1a6652f..8537948 100644 --- a/plugins/caveman/skills/compress/SKILL.md +++ b/plugins/caveman/skills/compress/SKILL.md @@ -4,7 +4,7 @@ description: > Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. - Trigger: /caveman:compress or "compress memory file" + Trigger: /caveman:compress FILEPATH or "compress memory file" --- # Caveman Compress @@ -103,7 +103,7 @@ Compressed: ## Boundaries -- ONLY compress natural language files (.md, .txt, extensionless) +- ONLY compress natural language files (.md, .txt, .typ, .typst, .tex, extensionless) - NEVER modify: .py, .js, .ts, .json, .yaml, .yml, .toml, .env, .lock, .css, .html, .xml, .sql, .sh - If file has mixed content (prose + code), compress ONLY the prose sections - If unsure whether something is code or prose, leave it unchanged diff --git a/plugins/caveman/skills/compress/scripts/detect.py b/plugins/caveman/skills/compress/scripts/detect.py index 5f50fd3..8d5f6d7 100644 --- a/plugins/caveman/skills/compress/scripts/detect.py +++ b/plugins/caveman/skills/compress/scripts/detect.py @@ -6,7 +6,7 @@ import re from pathlib import Path # Extensions that are natural language and compressible -COMPRESSIBLE_EXTENSIONS = {".md", ".txt", ".markdown", ".rst"} +COMPRESSIBLE_EXTENSIONS = {".md", ".txt", ".markdown", ".rst", ".typ", ".typst", ".tex"} # Extensions that are code/config and should be skipped SKIP_EXTENSIONS = { diff --git a/skills/caveman/SKILL.md b/skills/caveman/SKILL.md index 2ab498b..073d6bb 100644 --- a/skills/caveman/SKILL.md +++ b/skills/caveman/SKILL.md @@ -31,7 +31,7 @@ Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:" |-------|------------| | **lite** | No filler/hedging. Keep articles + full sentences. Professional but tight | | **full** | Drop articles, fragments OK, short synonyms. Classic caveman | -| **ultra** | Abbreviate (DB/auth/config/req/res/fn/impl), strip conjunctions, arrows for causality (X → Y), one word when one word enough | +| **ultra** | Abbreviate prose words (DB/auth/config/req/res/fn/impl), strip conjunctions, arrows for causality (X → Y), one word when one word enough. Code symbols, function names, API names, error strings: never abbreviate | | **wenyan-lite** | Semi-classical. Drop filler/hedging but keep grammar structure, classical register | | **wenyan-full** | Maximum classical terseness. Fully 文言文. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其) | | **wenyan-ultra** | Extreme abbreviation while keeping classical Chinese feel. Maximum compression, ultra terse | @@ -53,7 +53,14 @@ Example — "Explain database connection pooling." ## Auto-Clarity -Drop caveman for: security warnings, irreversible action confirmations, multi-step sequences where fragment order risks misread, user asks to clarify or repeats question. Resume caveman after clear part done. +Drop caveman when: +- Security warnings +- Irreversible action confirmations +- Multi-step sequences where fragment order or omitted conjunctions risk misread +- Compression itself creates technical ambiguity (e.g., `"migrate table drop column backup first"` — order unclear without articles/conjunctions) +- User asks to clarify or repeats question + +Resume caveman after clear part done. Example — destructive op: > **Warning:** This will permanently delete all rows in the `users` table and cannot be undone. diff --git a/skills/compress/SKILL.md b/skills/compress/SKILL.md index 1a6652f..8537948 100644 --- a/skills/compress/SKILL.md +++ b/skills/compress/SKILL.md @@ -4,7 +4,7 @@ description: > Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. - Trigger: /caveman:compress or "compress memory file" + Trigger: /caveman:compress FILEPATH or "compress memory file" --- # Caveman Compress @@ -103,7 +103,7 @@ Compressed: ## Boundaries -- ONLY compress natural language files (.md, .txt, extensionless) +- ONLY compress natural language files (.md, .txt, .typ, .typst, .tex, extensionless) - NEVER modify: .py, .js, .ts, .json, .yaml, .yml, .toml, .env, .lock, .css, .html, .xml, .sql, .sh - If file has mixed content (prose + code), compress ONLY the prose sections - If unsure whether something is code or prose, leave it unchanged diff --git a/skills/compress/scripts/detect.py b/skills/compress/scripts/detect.py index 5f50fd3..8d5f6d7 100644 --- a/skills/compress/scripts/detect.py +++ b/skills/compress/scripts/detect.py @@ -6,7 +6,7 @@ import re from pathlib import Path # Extensions that are natural language and compressible -COMPRESSIBLE_EXTENSIONS = {".md", ".txt", ".markdown", ".rst"} +COMPRESSIBLE_EXTENSIONS = {".md", ".txt", ".markdown", ".rst", ".typ", ".typst", ".tex"} # Extensions that are code/config and should be skipped SKIP_EXTENSIONS = {