bip-infra
Cold-start a long-lived infra session that tracks compute hosts and outages for the whole fleet — verifies outage reports independently, broadcasts status and…
Skill by matsen
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/matsen-bip-infra
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/bip-infra
What's inside
- Skill name
bip-infra- Description
- Cold-start a long-lived infra session that tracks compute hosts and outages for the whole fleet — verifies outage reports independently, broadcasts status and policy to conductors, answers footprint questions, and keeps the site's stable host facts in its docs. Start it in the repo that holds the site's cluster docs.
- License
- MIT
- Instructions
- 64 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# /bip-infra The infra session is where other sessions send host trouble, and where the user asks "what's up, what's down, where can this run". It is long-lived: start it once, in the repo that documents the site's compute (a wiki, an ops repo), and leave it running. Its hosts are the remote ones. The workstation the fleet runs on (packages, drivers, kernel, reboots, local overload) belongs to a sysadmin session where one exists: route that trouble there. When fleet jobs overload the workstation, sysadmin diagnoses it, and infra points the work to a remote host. Other sessions reach it by name, so ask the user to `/rename infra` if it is not already named that. ## Where site facts come from This skill carries no site facts. The session learns the site from: - **`servers.yml`** (`$NEXUS_PATH/servers.yml`): the hosts and the jump host. `bip scout` reads it (`bip scout --help`). - **The site doc**: the page in this repo that describes those hosts. Rank pages by how many distinct `servers.yml` hosts they mention (`git grep -l <host>` per host, counted; not `-w`, since docs write names as `__orca01__` and `_` is a word character). Read the top page fully before answering anything, and skim the runners-up for stale duplicates. If none exists, say so and offer to start one. - **Live probes**: `bip scout`, plus the checks below. Load and memory are measured, never written down; hardware may go in the site doc with an as-of date. ## Checking a report Other sessions report outages; confirm each one independently before relaying it. 1. **Probe through the jump host**, every host in parallel, each bounded: `timeout 25 ssh -o BatchMode=yes <host> uptime`. `bip scout` reports a jump-host throttle as `OFFLINE`, so never report an outage from scout alone (`/bip-scout`). 2. **Probe from a live host inside the network** (`ping`, and `timeout 5 bash -c '</dev/tcp/<host>/22'`). The second view separates *host down* from *path through the jump host broken*, and *rejects auth* from *unreachable*. 3. A host the user or the site doc names that is missing from `servers.yml` gets added, whether or not it is up (`getent hosts <host>` on an inside host confirms it exists); a host in `servers.yml` that no longer exists is reported to the user. ## Telling the fleet Broadcast only when the user asks. Send one notice to each conductor — the `ListAgents` sessions named `*-conductor` — with: what is down, what is up and how loaded, the policy the user set (e.g. pause big work, don't crowd the remaining shared hosts), and "pass this to your workers; send questions to infra". Keep a list of who was told and who acknowledged. A conductor that doesn't acknowledge is reported to the user by name, with an offer to message its workers directly — conductors own their workers, so infra doesn't go around one on its own. When the situation changes (a host returns, the pause lifts), notify the same list. ## Footprint reports Conductors report what they run where. Spot-check the target host's load and memory, reply only when something must change, and keep the report in the notify list. ## Decisions that aren't infra's Whether a run is worth its cost, what is in scope, and which of several acceptable hosts to use are not infra's calls. Escalate them to `staff`: the question, the measured numbers, the options with infra's recommendation, and the owner waiting on the answer. Staff rules or escalates to the user; don't hold them open with the user, who rarely reads this session. Footprint acks (does this fit the host, under what guard) stay infra's. ## Rechecking While a host is down, recheck it on a schedule (`/loop`, a few hours apart). Stop once the cause and a return estimate are known, and say so. ## Finding other capacity When asked where else work could run, use read-only queries and dry-run submission only. For SLURM: `sinfo`, `scontrol show partition`, `sacctmgr show qos`, `sshare`, `sacct` history, and `sbatch --test-only`, which is accepted and returns a start estimate without queueing anything. ## Stable facts and live status - **Stable facts go in the site doc:** which hosts exist, who owns them, whose capacity is borrowed, what is shared with other groups, how to reach each, and the queue or partition rules. Edit it on a branch or as a draft, and have the user review before it lands. - **Live status stays in the conversation:** what is down right now, load, who is paused. It is stale within days, and a stale status in a shared doc misleads everyone who reads it.
From matsen/bipartite, MIT.
More from matsen/bipartite
- 0.652score
bip-review-post
matsen
Post a review window's findings as the user's GitHub review — approve unless the user already has, distill _ignore/REVIEW-p<N>.md into a comment, fact-check…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-talk
matsen
Cold-start for a talks session — the live layer of a project.
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-ms-math
matsen
Revise the mathematics of a TeX manuscript as a series of small, separately checkable commits — proofs in proof blocks, duplicate proofs cut, long paragraphs…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-remove-metaspeak
matsen
Cut what does not earn its place out of a document or PR body — internal dialogue, meta-commentary, and whole passages the document itself undercuts — while…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-staff
matsen
Cold-start the long-lived staff session — the last layer of adjudication before the user, across every EPIC, conductor, and manuscript session.
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-conductor-recover
matsen
Recover bip-conductor fleet Claude sessions after a host reboot — replay a planned-reboot manifest if one exists, else find the killed sessions by scanning…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-lit
matsen
Unified guidance for using the bipartite reference library CLI.
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-edit
matsen
Edit prose live with the author, line by line — a TeX manuscript or a blog post.
SkillAFreshness: A★ 33Claude Code - 0.652score
bip-helper
matsen
Start, message, resume, and shut down a long-lived helper session — a `claude --bg` peer that survives the primary's compaction and restarts, can message any…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-ms-sweep
matsen
Pre-share / pre-submission polish sweep of a TeX manuscript.
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-spawn-resume
matsen
Cold-start into a worktree/clone from a fresh conversation — read the PR, issue, and any status files, figure out where things stand, then STOP and ask the…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-tuckin
matsen
Universal tuckin dispatcher — persist session state before a context reset by delegating to the right /bip-*-tuckin (ms, spawn, epic, conductor), or a generic…
SkillAFreshness: A★ 33Claude Code
Compare and alternatives
Featured in
Signals
- Stars
- 33
- Forks
- 5
- Open issues
- 29
- Last commit (this folder)
- Oct 22, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/matsen/bipartite
- Website
- matsen.github.io/bipartite/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from matsen
- 0.652score
bip-lit
matsen
Unified guidance for using the bipartite reference library CLI.
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-ms-math
matsen
Revise the mathematics of a TeX manuscript as a series of small, separately checkable commits — proofs in proof blocks, duplicate proofs cut, long paragraphs…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-conductor-recover
matsen
Recover bip-conductor fleet Claude sessions after a host reboot — replay a planned-reboot manifest if one exists, else find the killed sessions by scanning…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-helper
matsen
Start, message, resume, and shut down a long-lived helper session — a `claude --bg` peer that survives the primary's compaction and restarts, can message any…
SkillAFreshness: A★ 33Claude Code +9 - 0.652score
bip-edit
matsen
Edit prose live with the author, line by line — a TeX manuscript or a blog post.
SkillAFreshness: A★ 33Claude Code - 0.652score
bip-ms-sweep
matsen
Pre-share / pre-submission polish sweep of a TeX manuscript.
SkillAFreshness: A★ 33Claude Code +9
Cite this page
bip-infra skill. Agent Mart. https://agentmart.dev/skills/matsen-bip-infra (last updated 2026-10-24)