Capture cross-project connections on the fly and persist them as structured YAML in a bridges directory.
71
89%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Capture cross-project bridges in the moment, while you're in context. Bridges are knowledge — they live in a bridges directory, not in project artifacts.
Bridges are discovered during work, not during planning. When you're deep in a meeting and realize "this pattern connects to another project" — that's when bridge captures it.
Read the project config file (path configured via $PRAXIS_DIR or equivalent). This file contains:
also_in cross-references (for people-bridge detection)Use project YAML keys as aliases (case-insensitive matching). If a user types a project name instead of alias, fuzzy-match against name fields.
If config missing → ⚠️ No project config found. Create it with your project definitions.
Every bridge has a type. The 10 archetypes:
| Code | Archetype | One-liner |
|---|---|---|
flywheel | 🔄 Flywheel loop | Output of A feeds B feeds C → back to A |
knowledge | 🧠 Knowledge cascade | Framework/learning from one domain reusable in another |
people | 👤 People-bridge | Same person carries context across projects |
terrain | 🌱 Terrain d'essai | One project is live lab for methods used in another |
narrative | 📖 Narrative amplifier | One project generates stories that make another credible |
identity | 🎭 Identity coherence | Projects collectively tell a story about who you are |
complexity | 🔬 Complexity lab | Managing complexity in one domain trains patterns for another |
local | 🤝 Local network overlay | Geographic proximity creates compound serendipity |
option | ⚡ Option value | One project creates future optionality for another |
mirror | 🪞 Mirror project | Introspective insights reshape how other projects are framed |
| Command | Action |
|---|---|
/bridge <src> → <tgt>: <desc> | Capture a bridge (auto-detect archetype) |
/bridge <src> → <tgt> [type]: <desc> | Capture with explicit archetype |
/bridge list | Show recent bridges (last 10) |
/bridge list <project> | Show bridges involving a project |
/bridge map | Generate mermaid bridge map from all captures |
/bridge stats | Weekly summary — counts by project and archetype |
Directory: Bridges directory (e.g., thinking/bridges/ under your configured workspace root)
Each bridge is a YAML file: {date}-{seq}-{source}-to-{target}.yaml
Example: 2026-04-08-1-hp-to-brand.yaml
Sequence: Within a day, increment seq (1, 2, 3...). Check existing files for the day to determine next seq.
source: HP
target: BR
archetype: narrative
emoji: 📖
description: "Philosopher council on construct AI → reframes human-centric positioning from marketing to philosophy"
direction: one-way # one-way | bidirectional
strength: potential # active | potential | theoretical
context: "During introspect session, realized philosopher encounters are unique differentiator"
date: 2026-04-08Fields:
source, target: Project alias (uppercase, from config keys)archetype: One of the 10 codesemoji: Archetype emojidescription: The bridge itself — what flows from source to targetdirection: one-way (A→B only) or bidirectional (A↔B, create one file with note)strength: active (happening now), potential (could happen, not activated), theoretical (speculative)context: Optional — what triggered the discovery (session, meeting, realization)date: ISO date/bridge <args>)Input: /bridge HP → BR: philosopher encounters reframe human-centric positioning
→ to get source and rest: to get target (+ optional [type]) and descriptionname fields.[type] present, use it; otherwise auto-detect archetypeIf no explicit type, use two signals:
Signal 1 — Keywords in description:
knowledgepeoplenarrativeterrainflywheelidentitycomplexitylocaloptionmirrorSignal 2 — Config context:
flywheel_role: terrain → lean toward terrainflywheel_role: mirror → lean toward mirroralso_in → peopleIf ambiguous, default to knowledge and mention in response.
one-way, potentialbidirectionalactivepotentialtheoretical⚠️ Workspace root not set. Configure via environment variable (e.g. export PRAXIS_DIR="$HOME/dev/praxis"){date}-* files + 1🔗 Bridge #N: {emoji} {source} → {target} ({archetype}) — {short desc}📊 {N} bridges this week involving {pair}. Consider updating strategic bridges during review./bridge list [project])Glob for all YAML files in bridges directory🔗 Bridges (last 10)
1. 2026-04-08 📖 HP → BR: philosopher encounters reframe positioning (potential)
2. 2026-04-08 🧠 BNP → HP: observability patterns = atelier content (active)
3. 2026-04-07 👤 HP ↔ SL: Matthieu carries context both ways (active)If empty: 🔗 No bridges captured yet. Use /bridge <source> → <target>: <description>
/bridge map)graph LR
classDef active fill:#90EE90,stroke:#333,color:#000
classDef potential fill:#FFE4B5,stroke:#333,color:#000
classDef theoretical fill:#FFB6C1,stroke:#333,color:#000
HP["Homo Promptus"] -->|"📖 narrative"| BR["Personal Brand"]:::active
DS["Digital Stoic"] -->|"🧠 patterns"| HP:::potential
HP <-->|"👤 Matthieu"| SL["Slasheo"]:::active/bridge stats)📊 Bridge Stats
This week: 5 bridges
All time: 23 bridges
By project (top 5):
HP: 12 (6→, 6←) [tier 1]
BR: 8 (2→, 6←) [tier 1]
DS: 7 (5→, 2←) [tier 1]
By archetype:
🧠 knowledge: 8
📖 narrative: 6
👤 people: 4
By strength:
🟢 active: 9
🟡 potential: 11
🔴 theoretical: 3
Tier 2 bridges: 3 (VN→HP, VN→BR, LW→HP)/bridge invocation./bridge list before writing a duplicate./bridge list, /bridge map, and stats aggregation.Capturing a knowledge bridge mid-session:
# User is in a meeting and realises a framework from one project applies to another
/bridge PROJ-A → PROJ-B: observability patterns from service mesh apply directly to the atelier content structure
# Skill writes: 2026-04-11-1-proj-a-to-proj-b.yaml (archetype: knowledge, strength: potential)
# Response: 🔗 Bridge #1: 🧠 PROJ-A → PROJ-B (knowledge) — observability patterns from service mesh apply directly to the atelier content structureCapturing a people-bridge with bidirectional flow:
# A stakeholder carries context in both directions between two projects
/bridge PROJ-A ↔ PROJ-C [people]: Matthieu carries positioning context both ways and cross-pollinates priorities
# Skill detects '↔' → direction: bidirectional; 'Matthieu' in stakeholders → archetype: people
# Response: 🔗 Bridge #2: 👤 PROJ-A ↔ PROJ-C (people) — Matthieu carries positioning context both waysListing recent bridges and generating a visual map:
/bridge list PROJ-A
# Returns last 10 bridges involving PROJ-A, sorted by date desc
/bridge map
# Returns a mermaid graph block with all captured bridges coloured by strength