Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
broomva avatar

Bstack

  • 37 installs
  • 1 repo stars
  • Updated July 30, 2026
  • broomva/bstack

bstack is a Claude skill and portable agent harness that composes 20 governance primitives and 30 curated skills into a self-operating workspace with bootstrap, doctor, repair, and validate commands.

About

bstack, the Broomva Stack, is a portable harness that composes 20 governance primitives and 30 curated skills into a self-operating agent workspace. Developers install it to bootstrap a new agent-driven project, verify primitive compliance, repair missing hooks or policy, and manage installed skills. Each primitive closes a specific failure mode such as session amnesia, destructive operations, or context rot. It installs via npx skills add and drives a canonical autonomous operating mode on top of the substrate.

  • Bootstraps an agent workspace with 20 primitives plus 30 curated skills
  • Enforces a primitive contract via bstack doctor, repair, status, and validate commands
  • Ships a canonical autonomous operating mode plus governance, hooks, and a policy file

Bstack by the numbers

  • 37 all-time installs (skills.sh)
  • Ranked #8,545 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Jul 31, 2026 (Skillselion catalog sync)
At a glance

bstack capabilities & compatibility

Capabilities
workspace bootstrap · primitive compliance check · governance repair · skill status · frontmatter validation
Works with
github
Use cases
orchestration · project management
Pricing
Free
From the docs

What bstack says it does

Twenty irreducible primitives (P1-P20) plus 30 curated skills that turn an agent-driven workspace into a self-operating system.
SKILL.md
bstack is a *portable harness metalayer* — it composes existing skills into a binding primitive contract that the agent enforces by reasoning
SKILL.md
/bstack bootstrap → install 30 skills + scaffold governance + wire hooks + run doctor
SKILL.md
npx skills add https://github.com/broomva/bstack --skill bstack

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs37
repo stars1
Last updatedJuly 30, 2026
Repositorybroomva/bstack

What it does

Bootstrap and govern an agent-driven workspace with a fixed set of primitives, skills, hooks, and a policy contract.

Who is it for?

Developers standing up a governed, autonomous agent-driven workspace and enforcing primitive compliance.

Skip if: Simple one-off tasks that do not need a governed multi-skill agent harness.

When should I use this skill?

Bootstrapping a new agent workspace, running bstack doctor for compliance, or repairing missing governance, hooks, or policy.

What you get

A bootstrapped, self-operating workspace with primitives, skills, governance, hooks, and a policy contract in place.

  • 30 installed skills
  • scaffolded governance and hooks
  • .control/policy.yaml

By the numbers

  • 20 irreducible primitives (P1-P20)
  • 30 curated skills
  • 6 core commands (bootstrap, doctor, repair, status, validate, revamp)

Files

bstack-upgrade/SKILL.mdMarkdownGitHub ↗

/bstack-upgrade

Upgrade bstack to the latest version and show what's new.

Inline upgrade flow

This section is referenced by the bstack SKILL.md preamble when it detects UPGRADE_AVAILABLE.

Step 1: Ask the user (or auto-upgrade)

First, check if auto-upgrade is enabled:

_BSTACK_ROOT="${BSTACK_DIR:-$HOME/.claude/skills/bstack}"
[ ! -x "$_BSTACK_ROOT/bin/bstack-config" ] && _BSTACK_ROOT="$HOME/.agents/skills/bstack"
_AUTO=""
[ "${BSTACK_AUTO_UPGRADE:-}" = "1" ] && _AUTO="true"
[ -z "$_AUTO" ] && _AUTO=$("$_BSTACK_ROOT/bin/bstack-config" get auto_upgrade 2>/dev/null || true)
echo "AUTO_UPGRADE=$_AUTO"

If `AUTO_UPGRADE=true` or `AUTO_UPGRADE=1`: Skip AskUserQuestion. Log "Auto-upgrading bstack v{old} → v{new}..." and proceed directly to Step 2.

Otherwise, use AskUserQuestion:

  • Question: "bstack v{new} is available (you're on v{old}). Upgrade now?"
  • Options: ["Yes, upgrade now", "Always keep me up to date", "Not now", "Never ask again"]

If "Yes, upgrade now": Proceed to Step 2.

If "Always keep me up to date":

"$_BSTACK_ROOT/bin/bstack-config" set auto_upgrade true

Tell user: "Auto-upgrade enabled. Future updates will install automatically." Then proceed to Step 2.

If "Not now": Write snooze state with escalating backoff (first snooze = 24h, second = 48h, third+ = 1 week), then continue with the current skill.

_SNOOZE_FILE=~/.bstack/update-snoozed
_REMOTE_VER="{new}"
_CUR_LEVEL=0
if [ -f "$_SNOOZE_FILE" ]; then
  _SNOOZED_VER=$(awk '{print $1}' "$_SNOOZE_FILE")
  if [ "$_SNOOZED_VER" = "$_REMOTE_VER" ]; then
    _CUR_LEVEL=$(awk '{print $2}' "$_SNOOZE_FILE")
    case "$_CUR_LEVEL" in *[!0-9]*) _CUR_LEVEL=0 ;; esac
  fi
fi
_NEW_LEVEL=$((_CUR_LEVEL + 1))
[ "$_NEW_LEVEL" -gt 3 ] && _NEW_LEVEL=3
echo "$_REMOTE_VER $_NEW_LEVEL $(date +%s)" > "$_SNOOZE_FILE"

Note: {new} is the remote version from the UPGRADE_AVAILABLE output — substitute it from the update check result.

Tell user the snooze duration: "Next reminder in 24h" (or 48h or 1 week, depending on level).

If "Never ask again":

"$_BSTACK_ROOT/bin/bstack-config" set update_check false

Tell user: "Update checks disabled. Run bstack-config set update_check true to re-enable." Continue with the current skill.

Step 2: Detect install type

_BSTACK_ROOT=""
if [ -d "$HOME/.claude/skills/bstack/.git" ]; then
  INSTALL_TYPE="global-git"
  _BSTACK_ROOT="$HOME/.claude/skills/bstack"
elif [ -d "$HOME/.agents/skills/bstack/.git" ]; then
  INSTALL_TYPE="agents-git"
  _BSTACK_ROOT="$HOME/.agents/skills/bstack"
elif [ -d ".claude/skills/bstack/.git" ]; then
  INSTALL_TYPE="local-git"
  _BSTACK_ROOT=".claude/skills/bstack"
elif [ -d "$HOME/.claude/skills/bstack" ]; then
  INSTALL_TYPE="vendored-global"
  _BSTACK_ROOT="$HOME/.claude/skills/bstack"
elif [ -d "$HOME/.agents/skills/bstack" ]; then
  INSTALL_TYPE="vendored-agents"
  _BSTACK_ROOT="$HOME/.agents/skills/bstack"
else
  echo "ERROR: bstack not found"
  exit 1
fi
echo "Install type: $INSTALL_TYPE at $_BSTACK_ROOT"

Step 3: Save old version

OLD_VERSION=$(cat "$_BSTACK_ROOT/VERSION" 2>/dev/null || echo "unknown")

Step 4: Upgrade

For git installs (global-git, agents-git, local-git):

cd "$_BSTACK_ROOT"
STASH_OUTPUT=$(git stash 2>&1)
git fetch origin
git reset --hard origin/main
chmod +x bin/* scripts/* 2>/dev/null || true

If $STASH_OUTPUT contains "Saved working directory", warn the user.

For vendored installs:

PARENT=$(dirname "$_BSTACK_ROOT")
TMP_DIR=$(mktemp -d)
git clone --depth 1 https://github.com/broomva/bstack.git "$TMP_DIR/bstack"
mv "$_BSTACK_ROOT" "$_BSTACK_ROOT.bak"
mv "$TMP_DIR/bstack" "$_BSTACK_ROOT"
chmod +x "$_BSTACK_ROOT/bin/"* "$_BSTACK_ROOT/scripts/"* 2>/dev/null || true
rm -rf "$_BSTACK_ROOT.bak" "$TMP_DIR"

Step 5: Write marker + clear cache

mkdir -p ~/.bstack
echo "$OLD_VERSION" > ~/.bstack/just-upgraded-from
rm -f ~/.bstack/last-update-check
rm -f ~/.bstack/update-snoozed

Step 6: Show What's New

Read $_BSTACK_ROOT/CHANGELOG.md if it exists. Otherwise check git log --oneline $OLD_VERSION..HEAD for changes. Summarize as 3-5 bullets. Format:

bstack v{new} — upgraded from v{old}!

What's new:
- [bullet 1]
- [bullet 2]
- ...

Step 7: Continue

After showing What's New, continue with whatever skill the user originally invoked.

---

Standalone usage

When invoked directly as /bstack-upgrade (not from a preamble):

1. Force a fresh update check:

~/.claude/skills/bstack/bin/bstack-update-check --force 2>/dev/null || ~/.agents/skills/bstack/bin/bstack-update-check --force 2>/dev/null || true

2. If UPGRADE_AVAILABLE <old> <new>: follow Steps 2-6 above. 3. If no output: tell the user "You're already on the latest version."

Related skills

FAQ

How do I install bstack?

Run npx skills add broomva/bstack, then use /bstack bootstrap in your agent session to install skills, scaffold governance, wire hooks, and run doctor.

What does bstack doctor do?

It verifies primitive contract compliance and always exits 0, surfacing gaps that bstack repair can then fix.

AI & Agent Buildingagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.