From build-loop
Use when Phase 1 Assess or Phase 5 Iterate detects a new API dependency, API config fails, or the user asks to "register this API" or "check the API registry". Consults api-registry plugin; degrades gracefully if plugin is absent. NOT for PRD strategic grounding (use `prd-bridge`) or UI verification (use `ibr-bridge`).
How this skill is triggered — by the user, by Claude, or both
Slash command
/build-loop:api-registry-bridgeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <[email protected]> | SPDX-License-Identifier: Apache-2.0 -->
package.json / requirements.txt) or new vendor-prefixed env key in .env.example. Also runs unconditionally as a cheap doc-freshness check (see §"Phase 1 doc-freshness check").Check ~/.api-registry/registry.db exists.
api-registry not present — skipping source verification and continue build-loop flow. No failure.Extract service name from failure message or dep diff.
Invoke /api-registry:lookup <name>.
found: true and deprecated_notes present: HALT iteration; surface the warning to the user BEFORE retry.stale_warning: true: suggest /api-registry:refresh <name> but don't block.cooldown.install_blocked: true: see §"New-dependency cooldown".If config question remains, invoke /api-registry:docs <name> <specific config question>.
If lookup returns found: false: prompt user once per build-loop run to add the service. Don't re-prompt on every iteration.
At the start of Phase 1 Assess, after the registry-present check:
~/.api-registry/staleness.json (written by api-registry's SessionStart hook / staleness.ts --marker).
stale[] entry names a service relevant to this build (its package appears in the dep manifest, or it is a protocol-category source and the build touches MCP), the doc is stale (last_checked > 7 days)./api-registry:docs <service> <topic> so the cache is re-verified/re-curated before the plan is drafted. This keeps Phase 2 planning grounded in current docs, not a stale cache.When Assess detects a newly added third-party package:
/api-registry:lookup <name> returns a cooldown block.cooldown.install_blocked: true (latest version released < 7 days ago, service not author_owned):
cooldown.reason to the user.pre_bash_dependency_cooldown.sh PreToolUse hook is the enforcement point — it already rewrites/denies fresh installs at the Bash boundary. The registry verdict is the advisory signal that explains why a hook rewrite happened; it does not replace the hook.author_owned: true services (@tyroneross/* scope + the user's own projects) are exempt — cooldown.install_blocked is always false for them, matching the hook's allowlist./api-registry:docs, which re-curates the cache by design — that is the cache staying fresh, not the bridge mutating registry metadata).pre_bash_dependency_cooldown.sh's job.Guides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
npx claudepluginhub tyroneross/build-loop --plugin build-loop