name: bridge
description: >
Capture cross-project connections on the fly. Use when you notice a link between
two projects — a shared pattern, a people-bridge, a narrative that feeds another
project. Persists to thinking/bridges/ as structured YAML. Use when user says
"bridge", "this connects to", "this feeds into", "same pattern as", or explicitly
names a cross-project link.
allowed-tools: [Bash, Read, Write, Edit, Glob]
model: haiku
argument-hint: " → : "
context: main
user-invocable: true
Bridge — Cross-Project Connection Capture
Capture cross-project bridges in the moment, while you're in context. Bridges are knowledge — they live in thinking/bridges/, not in project artifacts.
Why
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.
Step 0: Load Config
Read $PRAXIS_DIR/config/projects.yaml. This file contains:
- Project aliases (keys), names, roles, tiers, goals, flywheel roles
- Stakeholders with
also_incross-references (for people-bridge detection) - GTD and praxis paths
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 at $PRAXIS_DIR/config/projects.yaml. Create it with your project definitions.
Archetypes
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 |
Commands
| 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 |
Storage
Directory: $PRAXIS_DIR/thinking/bridges/
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.
Schema
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-08
Fields:
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) orbidirectional(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
Capture (/bridge <args>)
Parse Arguments
Input: /bridge HP → BR: philosopher encounters reframe human-centric positioning
- Split on
→to get source and rest - Split rest on
:to get target (+ optional[type]) and description - Resolve aliases against config keys (case-insensitive). If no match, fuzzy-match against
namefields. - If
[type]present, use it; otherwise auto-detect archetype
Auto-Detect Archetype
If no explicit type, use two signals:
Signal 1 — Keywords in description:
- "pattern", "framework", "method", "learned", "reusable" →
knowledge - Person name (check config stakeholders) or "carries context", "cross-pollinates" →
people - "story", "credibility", "proof", "case study" →
narrative - "test ground", "lab", "experiment", "tried in" →
terrain - "loop", "feeds back", "cycle" →
flywheel - "brand", "who I am", "positioning", "identity" →
identity - "admin", "bureaucracy", "same skill", "transfers" →
complexity - "local", "geographic" →
local - "future", "optionality", "if it works", "unlocks" →
option - "introspect", "philosopher", "reframe", "reshape" →
mirror
Signal 2 — Config context:
- If source or target has
flywheel_role: terrain→ lean towardterrain - If source or target has
flywheel_role: mirror→ lean towardmirror - If a stakeholder name appears in description and has
also_in→people
If ambiguous, default to knowledge and mention in response.
Detect Direction & Strength
- Default:
one-way,potential - If description contains "↔" or "bidirectional" or "both ways" →
bidirectional - If description contains "already", "happening", "active", "doing this" →
active - If description contains "could", "should", "would", "not yet" →
potential - If description contains "maybe", "speculative", "in theory" →
theoretical
Write File
- Guard: check
$PRAXIS_DIRis set. If not:⚠️ $PRAXIS_DIR not set. Set via: export PRAXIS_DIR="$HOME/dev/praxis" mkdir -p $PRAXIS_DIR/thinking/bridges/- Determine seq: count existing
{date}-*files + 1 - Write YAML file
- Respond (one line):
🔗 Bridge #N: {emoji} {source} → {target} ({archetype}) — {short desc} - Weekly nudge (optional): count bridges this week. If ≥3 involving same project pair: append
📊 {N} bridges this week involving {pair}. Consider updating Ponts Stratégiques during review. - Resume prior work immediately.
List (/bridge list [project])
Globfor$PRAXIS_DIR/thinking/bridges/*.yaml- Read each file, parse YAML
- If project filter: match against config aliases or names (case-insensitive)
- Sort by date desc, show last 10
- Display:
🔗 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>
Map (/bridge map)
- Read config for project names (display labels)
- Read all bridge files
- Generate mermaid graph using config names as node labels:
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
- Group by strength (active=green, potential=orange, theoretical=pink)
- Output the mermaid block
Stats (/bridge stats)
- Read all bridge files
- Read config for tier info
- Count by: project (as source + target), archetype, strength, tier, this-week vs all-time
- Display:
📊 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)
Key Behaviors
- One-line capture response. Never add commentary about bridge content.
- Resume immediately. After capture, pick up prior conversation exactly where it left off.
- Store verbatim. No reformulation of user's description.
- Auto-detect but don't over-think. If archetype is ambiguous, pick the closest and move on.
- Weekly nudge, not nag. Mention reconciliation opportunity only when pattern is clear (≥3 same pair).
- No GTD writes. This skill only writes to
thinking/bridges/. GTD## 🔗 Ponts Stratégiquesupdates are manual during weekly review. - Config-driven. All project aliases come from
$PRAXIS_DIR/config/projects.yaml. If a project isn't in config, warn and suggest adding it.