feat(roster): add broomva/role-x (P17) to skill roster#13
Conversation
ROSTER += role-x; count 29 → 30. broomva/role-x ships P17 Lens-Routed Request Articulation — typed routing layer above P5 parallel-agent dispatch. Published at https://github.com/broomva/role-x with 9 discoverability topics on the repo (skills, agent-skills, claude-code, bstack, bstack-primitive, prompt-engineering, python, context-engineering, reasoning-network). Install: npx skills add broomva/role-x The P17 row already exists in the primitives table (commit 23b8cc3, PR #11 'feat: sync P17 + add P18 Format-Follows-Audience to bstack'); this PR brings the ROSTER + count text into alignment so `bstack bootstrap` and the skill-roster check pick up role-x. NOT touched in this PR (out of scope; defer to a separate cleanup): - L79 "The sixteen primitives" — should be "nineteen" once P18/P19 are also fully reconciled with the workspace CLAUDE.md/AGENTS.md - L242/L261-263 "P1–P16" references — same reason Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Closes the gap where `bstack bootstrap` installed role-x as a skill (via ROSTER in #13) but left its hooks dormant in `.claude/settings.json` — agents installing bstack fresh had P17 routing files on disk but no UserPromptSubmit or coverage trigger. Every workspace had to wire those by hand. Confirmed end-to-end against this workspace's live settings. Added (assets/templates/settings.json.snippet): - UserPromptSubmit block → role-x-intake-hook.sh (P17 per-prompt routing) - SessionStart block extended → role-x-coverage-hook.sh (P17 registry- health nudge, ≤1/24h cooldown, silent when fire-rate ≥30%) - New ${BROOMVA_HOME} placeholder for $HOME-rooted paths (npx skills add -g installs at ${HOME}/.agents/skills/<name>) Extended (scripts/bootstrap.sh): - Phase 3 sed substitution: -e for both ${BROOMVA_WORKSPACE} and ${BROOMVA_HOME} → workspace dir and $HOME respectively - Phase 3 Python merge path: two-step .replace() for the same two placeholders before json.loads() - Idempotent merge logic unchanged — existing-by-basename detection already handles re-runs correctly (verified Case C: 0 new wires on a workspace where both role-x hooks were already manually wired) - Drive-by fix: log format string was "PP8"/"PP17" (double-P) because the _bstack_primitive value already contains the "P" prefix; corrected to ({primitive}) with P? fallback when key absent Extended (scripts/doctor.sh): - §6 hook-wiring array gets role-x-intake-hook.sh + role-x-coverage-hook.sh with P17 labels - Old skill-freshness-hook.sh label corrected from P7 → P8 (post-PR #16 numbering) - Docstring header §5 now enumerates all 5 hooks by primitive - Docstring header §6 adds P17 disk-presence reachability spec Validation: - JSON valid on new snippet (python3 -c 'json.load(...)') - Bash syntax green on bootstrap.sh + doctor.sh (bash -n) - Three dry-run cases on /tmp scratch: A. Fresh scaffold → snippet renders 5 hook events with absolute ${HOME} paths resolved correctly B. Existing settings.json with only P1/P2 → merge adds 4 missing hooks (P8 freshness, P17 intake, P17 coverage, P1 notification) C. Workspace with all 5 hooks already wired → 0 new wires (idempotency confirmed) - doctor.sh on live workspace: all 5 hook checks [ok] including the two new P17 entries Coordination with concurrent PRs: - PR #17 (broomva): SKILL.md prose drift + AGENTS/CLAUDE templates + scaffold-and-doctor test. Touches SKILL.md, AGENTS.md.template, CLAUDE.md.template, template_lockstep.test.sh — NO overlap with this PR (verified via gh pr diff 17). - SKILL.md ## Hooks section update deferred to a follow-up PR after #17 lands, to keep edits non-overlapping. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Adds
broomva/role-xto the bstack skill ROSTER and bumps the total count 29 → 30.broomva/role-xships P17 — Lens-Routed Request Articulation, the typed routing layer above P5 parallel-agent dispatch. Published at https://github.com/broomva/role-x with 9 discoverability topics, MIT license, pytest CI green on Python 3.11 + 3.12.Install:
npx skills add broomva/role-xWhat changed
SKILL.mdROSTER array: addrole-x(line 145)SKILL.mdcount29 total→30 total(3 occurrences: skill roster check, report line, bootstrap description)What's NOT in this PR
These will land in a follow-up PR that reconciles bstack's prose with the workspace's actual CLAUDE.md/AGENTS.md primitive count.
Context
The P17 row already exists in the primitives table (commit
23b8cc3PR #11). This PR completes the operational hookup so:bstack bootstrapinstalls role-x as part of the standard skill setTest plan
grep -c "role-x" SKILL.md→ 1 occurrence in ROSTERgrep "30 total" SKILL.md→ 1 occurrencegrep "all 30" SKILL.md→ 1 occurrencenpx skills add broomva/role-xalready verified working from a fresh install location🤖 Generated with Claude Code