Skip to main content
ClaudeWave
Skill2.4k repo starsupdated today

bridge

The bridge skill embeds hyperflow's portable doctrine into a project's CLAUDE.md file so it applies across Claude Code Desktop, web, and IDE extensions that don't load CLI plugins. It manages the doctrine block via fenced markers for idempotent refreshes, offers subcommands to generate, refresh, or remove the block, and provides auto-bridge mode that silently updates the doctrine on session start or alerts the user to refresh manually, depending on configuration.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills /tmp/bridge && cp -r /tmp/bridge/plugins/ai-agency/hyperflow/skills/bridge ~/.claude/skills/bridge
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Bridge

Embed the portable subset of hyperflow's doctrine into the project's `CLAUDE.md` so it applies in surfaces that don't load CLI plugins (Claude Code Desktop, claude.ai web, IDE extensions). The doctrine block is managed via fenced markers, so refreshing it on plugin updates is idempotent and never touches your own `CLAUDE.md` content.

Source template: [`templates/claude-md-doctrine.md`](../../templates/claude-md-doctrine.md). Doctrine background: [DOCTRINE.md](../hyperflow/DOCTRINE.md).

## Subcommands

| Subcommand | Description |
|---|---|
| `generate` | Write the doctrine block into the project's `CLAUDE.md` (create the file if absent, append the block if not present, refresh if already present) |
| `refresh` | Same as `generate` — alias for clarity when the block already exists |
| `remove` | Remove the doctrine block from `CLAUDE.md` (preserves your own content; if the file becomes empty after removal, leave it as an empty file rather than delete) |
| `status` | Show whether the doctrine block is present, its version, when it was generated |
| `mode <auto\|manual\|off>` | Set the auto-bridge mode for this project. Writes `.hyperflow/.bridge-mode`. The session-start hook reads this and decides what to do |

Default subcommand when none provided: `status`.

## Auto-bridge (default ON)

The CLI session-start hook (`hooks/session-start`) runs `scripts/auto-bridge.py` on every session start. Behavior depends on the mode stored in `.hyperflow/.bridge-mode`:

| Mode | Behavior |
|---|---|
| `auto` (**default** when `.bridge-mode` is absent) | If `./CLAUDE.md` is missing the doctrine block OR has an outdated version, **silently writes/refreshes** the block and prints a one-line notice in session-start output. Zero user friction. |
| `manual` | Never writes. Prints a one-line advisory when the block is missing or outdated: `./CLAUDE.md doctrine block would be refreshed (version 4.11.0) — run /hyperflow:bridge refresh to apply`. |
| `off` | Does nothing. No writes, no advisories. |

This means: open Claude Code CLI once in your project, and from then on every Desktop / web / IDE session in the same project automatically gets the up-to-date hyperflow doctrine via `CLAUDE.md`. Refresh on plugin update is automatic too.

To opt out: `/hyperflow:bridge mode off`. To require explicit refresh: `/hyperflow:bridge mode manual`.

## What gets written

A fenced block in the project's `./CLAUDE.md` (at the repo root, where Claude Code Desktop / web / CLI all look for it):

```markdown
<!-- hyperflow:doctrine:start version=<X.Y.Z> generated=<ISO-8601> source=https://github.com/Mohammed-Abdelhady/hyperflow -->

# Hyperflow Doctrine (Portable Subset)

<the full template body — autonomy, intent-routing, commit cadence,
 tier split, file-first artefacts, no AI attribution, security
 blocklists, what's missing vs CLI>

<!-- hyperflow:doctrine:end -->
```

The fenced markers (`hyperflow:doctrine:start` / `hyperflow:doctrine:end`) let `refresh` find and replace ONLY the doctrine block, leaving everything else in your `CLAUDE.md` untouched. Place the block anywhere in `CLAUDE.md`; the bridge respects its position.

## When to use

| Situation | Use bridge? |
|---|---|
| You work exclusively in Claude Code CLI (terminal) | No — the plugin loads doctrine directly; bridge would duplicate |
| You use Claude Code Desktop on Mac / Windows | **Yes** — bridge gives Desktop the autonomy + intent-routing + commit cadence rules |
| You use claude.ai web app for this project | **Yes** — same reason |
| You use VS Code / Cursor / JetBrains and the extension shells out to the `claude` CLI | No — the CLI plugin applies |
| You use VS Code / Cursor and the extension talks to the API directly | **Yes** — the API session loads `CLAUDE.md` |
| You collaborate with teammates who use mixed surfaces | **Yes** — commit the generated `CLAUDE.md` so everyone has the same rules regardless of their surface |

## What you keep / lose vs the full CLI plugin

| Capability | CLI plugin | CLAUDE.md bridge |
|---|---|---|
| Autonomy rules (no confirmations, minimal output, no hedging) | yes | **yes** |
| Intent-based routing (audit/debug/fix/brainstorm verbs) | yes | **yes (described in CLAUDE.md as rules for the orchestrator to follow)** |
| Per-task commit cadence | yes | **yes** |
| Tier split (per-batch Sonnet, final Opus) | yes | **yes** |
| File-first artefacts under `.hyperflow/` | yes | **yes** |
| Binary-gate rule (no recommendation on yes/no) | yes | **yes** |
| No-AI-attribution rule | yes | **yes** |
| Security blocklists | yes | **yes** |
| `/hyperflow:*` slash commands | yes | no — surfaces without the plugin can't dispatch named skills |
| Chain-mode Step-0 auto/manual question | yes | no — defaults to auto-style chain in CLAUDE.md mode |
| Operational pre-elections (commit/branch/push at scope Step 2.6) | yes | no — defaults applied per CLAUDE.md guidance |
| Per-step Worker → Reviewer dispatch templates from `worker-prompt.md` / `reviewer-prompt.md` | yes | partial — tier-split rule preserves the spirit; exact prompts not embedded (would bloat CLAUDE.md) |
| Background agents, sticky mode, status skill, cache skill | yes | no — these need their own slash command surfaces |
| Adaptive flow profiles (`fast` / `standard` / `deep`) | yes | no — orchestrator infers from message complexity |

Net coverage: ~70% of hyperflow's behavioral value. Slash commands and the infrastructure that wraps them are the missing 30%.

## Subcommand Details

### `generate` / `refresh`

1. Read the template at `~/.claude/plugins/cache/hyperflow-marketplace/hyperflow/<version>/templates/claude-md-doctrine.md` (resolve current version from the active plugin install).
2. Substitute placeholders: `__HYPERFLOW_VERSION__` → current plugin version, `__GENERATED_AT__` → current UTC timestamp (ISO-8601).
3. Read the project's `./CLAUDE.md`. Three cases:
   - **File absent** — create `./CLAUDE.md` with just the doctrine block.
   - **File exists, no e