Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install jongwony-epistemic-protocols-epistemic-cooperative-skills-sophiagit clone https://github.com/jongwony/epistemic-protocols.gitcp epistemic-protocols/SKILL.MD ~/.claude/skills/jongwony-epistemic-protocols-epistemic-cooperative-skills-sophia/SKILL.md--- name: sophia description: "Discover your philosophical tradition through behavioral dimension analysis and philosopher matching." --- # Sophia (σοφία) Discover your philosophical tradition through behavioral pattern analysis. > φιλο-σοφία = "love of wisdom" > Your conversation patterns carry the fingerprint of a philosophical tradition. ## When to Use Invoke this skill when: - Exploring which philosophical tradition your AI conversation patterns resemble - Analyzing behavioral dimensions across sessions for epistemic style profiling - Generating a visual philosopher match profile card Skip when: - Analyzing strengths and structural costs (use /curses instead) - Quick single-protocol question (answer directly) - No session history exists and user prefers manual exploration ## Pipeline | Phase | What | Mode | |-------|------|------| | 1. Collect | Gather behavioral data from sessions | dimension-profiler agent | | 2. Match | Map dimension profile to philosophers | AI analysis | | 3. Present | Dual-layer result + protocol affinity | Gate interaction | | 4. Report | Generate HTML profile card | Automated | --- ## Phase 1: Data Collection **Same-session reuse**: If dimension-profiler output is already available in this conversation (from a prior `/sophia` or `/curses` run), skip Phase 1 entirely and reuse that output. Both skills produce identical profiler results. Two-step delegation: first run `coverage-scanner` for pre-aggregated data, then pass the result to `dimension-profiler` for dimension scoring. This avoids duplicate file reading and gives the profiler access to protocol usage counts. **Step 1**: Run `coverage-scanner` agent (see `agents/coverage-scanner.md`): ``` Aggregate facets, session-meta, and slash command data across all sessions. Return structured coverage data including protocol_counts, friction_summary, session_type_distribution, tool_counts, and satisfaction_distribution. ``` **Step 2**: Pass coverage output to `dimension-profiler` agent (see `agents/dimension-profiler.md`): ``` Analyze this user's behavioral dimensions from their session data. coverage_data: [paste coverage-scanner output here] data_sources: rules_dir: ~/.claude/rules/ claude_md: ~/.claude/CLAUDE.md settings_json: ~/.claude/settings.json data_context: session-enriched Return the dimension profile table with scores, confidence, and raw signals. ``` When `coverage_data` is provided, omit `sample_size` — the profiler derives dimensions from aggregate data and does not sample raw files. If coverage-scanner returns no data (new user with no sessions), skip Step 1 and run dimension-profiler with `data_sources` only (rules + CLAUDE.md). Note reduced confidence in results. --- ## Phase 2: Philosopher Matching Read `references/philosophers.md` for the full philosopher database. ### Matching process 1. Compute similarity score for each philosopher against the user's profile 2. Identify the top match (highest similarity) and runner-up 3. For the top match, identify: - **Primary alignment**: Which dimension drives the match - **Divergence points**: Where the user differs from the philosopher - **Protocol affinity**: Which epistemic protocol aligns with this tradition ### Confidence levels | Data quality | Match confidence | |-------------|-----------------| | 20+ facets sampled, all dimensions measured | High | | 10-19 facets, most dimensions measured | Medium | | <10 facets or rules-only analysis | Low — note limitations | --- ## Phase 3: Presentation Present the match progressively — start with an accessible introduction, then build to detailed analysis. Users may not know the philosopher; the opening should stand on its own without assumed knowledge. ### Step 1: Introduction (always show first) A warm, 2-3 sentence introduction that explains the match in plain language: ``` Your thinking patterns most resemble the tradition of [Philosopher Name] ([dates], [tradition in one phrase]). [1-2 sentences: what this philosopher is known for, in terms a non-philosopher would understand. Connect to the user's actual behavior — not abstract philosophy.] Similarity: 0.XX | Runner-up: [Name] (0.XX) ``` ### Step 2: Dimension profile with explanations Show dimensions with human-readable explanations (from dimension-profiler output) so users understand what each bar means: ``` ────────────────────────────────────── D1 How you approach problems: ████████░░ 78 (hypothesis-first) D2 How much you check: █████████░ 85 (thorough) D3 How you interact: ██████░░░░ 62 (moderate) D4 How you govern work: █████████░ 91 (systematic) D5 Where you focus: ████████░░ 78 (exploring unknowns) D6 How you use AI: █████████░ 88 (distributed thinking) ────────────────────────────────────── Protocol affinity: /[command] ([protocol name] — [Greek]) ``` ### Step 3: User choice ``` What would you like to explore? 1. **Deep dive** — Why this tradition fits your patterns, and what it reveals 2. **Compare** — Side-by-side with the runner-up 3. **Protocol** — Try the suggested protocol now 4. **Report** — Generate HTML profile card ``` --- ## Phase 4: Report Generation If the user selects "Report", generate an HTML profile card. ### Report structure Read the existing CSS design system from `~/.claude/usage-data/report.html` or use the design tokens from the cooperative's dashboard/report templates. **Sections**: 1. **Introduction**: 2-3 sentence accessible summary (who is this philosopher, why you match) before the hero card 2. **Hero**: Philosopher name + tradition + archetype subtitle 3. **Radar chart**: 6-dimension profile as visual (CSS-only, no JS library) 4. **Match analysis**: Why this philosopher, in 3-4 bullet points 5. **Dimension breakdown**: Each dimension with score bar, human-readable explanation, measurement basis, and meaning. Use the explanation column from dimension-profiler output (e.g., "How you approach problems") as subtitle for each bar. 6. **Protocol affinity**: Recommended protocols with one-line rationale 7. **Runner-up**: Brief comparison showing where profiles diverge **File**: Save to `~/.claude/usage-data/sophia-profile.html` Open in browser: `open <filepath>` ### CSS radar chart (no JS dependency) Use CSS `clip-path: polygon(...)` with computed vertices for a hexagonal radar chart. Each vertex position is calculated from the dimension score (0-100 mapped to center-to-edge). --- ## Edge Cases - **New user (<5 sessions)**: Analyze rules/CLAUDE.md only. Present as "Early profile — based on configuration, not yet behavioral data." Confidence: Low. - **Balanced profile (all 40-60)**: Use composite archetypes from philosophers.md. Present as "The Balanced Practitioner (Aristotelian phronesis)" with explanation that balance itself is a philosophical position. - **No clear match (all similarities <0.55)**: Present top 2 as "Your profile doesn't strongly align with a single tradition — you may be synthesizing multiple approaches." Offer composite archetype. - **Missing dimensions**: If a dimension can't be computed (no data), mark as "unmeasured" and exclude from matching. Note which dimensions are missing.