docs(skills): add night-ops-directive and coderabbit-pr-gate agent skills - #22
Conversation
Salvage the still-relevant content from stale/broken PR #5, reshipped clean through no-mistakes rather than reopening it. Carried forward: - night-ops-directive: standing autonomous-dispatch directive (delegator discipline during unattended work, the watcher-heartbeat wake cadence since ScheduleWakeup/CronCreate are blocked for the primary session, human-only task triage via bd transfer). - coderabbit-pr-gate: CodeRabbit-clean-plus-green merge gating (react to actionable review comments beyond bare pass/fail, treat rate limits as a paused external wait). - AGENTS.md yolo reversibility clarification: the qualifying test for a routine yolo-covered gate, including a PR merge, is reversibility. Dropped as already covered by work landed the same day: - PR #5's general fork-first-push line in AGENTS.md section 7 is dropped; fork-first-brief-08 already implemented and documented (section 11) an automatic fork-first push rule injected into every push-mode ship brief via fm-brief.sh, which fully covers this case. - coderabbit-pr-gate is kept, not dropped, despite PR #16 (pr-review- comment-wake) landing the same day: PR #16 only added the wake mechanism (state/<id>.pr-review-seen) for a new bot review comment. It added no reaction policy, so coderabbit-pr-gate is complementary, not duplicative; the skill now cross-references that wake mechanism instead of re-describing it.
|
Warning Review limit reached
Next review available in: 22 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
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 |
Intent
Salvage the valuable content from stale/broken PR #5 (which bypassed no-mistakes and had failing checks) and reship it clean through no-mistakes. Recover from PR #5's branch: a new agent-only skill night-ops-directive (standing autonomous-dispatch directive covering delegator discipline during unattended work, firstmate's own watcher-heartbeat wake cadence since ScheduleWakeup/CronCreate are blocked for the primary session, human-only task triage via bd transfer, and a pointer to fork-first pushes), a new agent-only skill coderabbit-pr-gate (CodeRabbit-clean-plus-green merge gating: react to actionable review comments beyond bare pass/fail, treat rate limits as a paused external wait not a failure), and an AGENTS.md clarification that the qualifying test for a routine yolo-covered gate, including a PR merge, is reversibility. Both new skills carry metadata.internal=true like other .agents/skills/ entries, matching existing skill conventions (frontmatter, one-sentence-per-line prose). Do NOT reopen or reuse PR #5 itself; this is a clean new branch. Redo the changes cleanly rather than copying PR #5's diff verbatim: fix whatever caused PR #5's failing checks (lint, non-no-mistakes PR raise, portable serial behavior). Before writing, this task cross-checked against work already landed the same day: fork-first-brief-08 (fm-brief.sh already auto-injects a fork-first push rule into every push-mode ship brief, documented in AGENTS.md section 11) already fully covers PR #5's general fork-first-push AGENTS.md line, so that line was intentionally dropped (not carried over) to avoid duplicating it. PR #16 (pr-review-comment-wake) only added the wake mechanism for a new bot PR review comment (state/.pr-review-seen); it added no reaction policy, so coderabbit-pr-gate was kept as a complementary policy layer, not a duplicate, and now cross-references that wake mechanism instead of re-describing it. This task's diff is scoped to AGENTS.md and the two new .agents/skills/ directories only; no other files should change.
What Changed
.agents/skills/night-ops-directive/SKILL.md, a standing autonomous-dispatch directive covering delegator discipline during unattended work, the primary session's watcher-heartbeat wake cadence (sinceScheduleWakeup/CronCreateare blocked for it), human-only task triage viabdtransfer, and a pointer to fork-first pushes..agents/skills/coderabbit-pr-gate/SKILL.md, a CodeRabbit-clean-plus-green merge gating policy: react to actionable review comments beyond a bare pass/fail signal, and treat CodeRabbit rate limits as a paused external wait rather than a failure.AGENTS.mdto clarify that the qualifying test for a routine yolo-covered gate, including a PR merge, is reversibility.SKILL.mdfiles indocs/documentation-audiences.jsonso the tracked-documentation audience inventory stays in sync.Risk Assessment
✅ Low: Purely additive change (two new agent-only skill docs plus a one-clause AGENTS.md clarification) confined to documentation/policy text; verified factual claims (script names, heartbeat backoff behavior, PreToolUse blocking of ScheduleWakeup/CronCreate, pr-review-seen wake mechanism) against the actual scripts and AGENTS.md, and diff scope matches the stated intent exactly with no unrelated files touched.
Testing
Captain, the documentation-audiences fix from round 1 already landed and the whole change checks out: the structural inventory test suite and the direct audience-check script both pass clean against the real repo tree, both new agent-only skills exist with correct frontmatter and content matching the salvaged PR #5 intent, every mechanism they reference (watcher heartbeat vars, pr-review-seen wake, bd transfer) is real, and the diff stays scoped to AGENTS.md plus the two new skill directories plus the required inventory registration — no other files touched, working tree clean.
Evidence: Documentation-audiences structural test suite
Evidence: Direct documentation-audience inventory check against real repo tree
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
🔧 **Test** - 1 issue found → auto-fixed ✅
docs/documentation-audiences.json- The two new SKILL.md files were not added to docs/documentation-audiences.json, so the repo's tracked-documentation audience inventory check fails with 'unclassified: .agents/skills/coderabbit-pr-gate/SKILL.md, .agents/skills/night-ops-directive/SKILL.md'. Every other .agents/skills/*/SKILL.md file (afk, ask-user-authority, bearings, etc.) has a corresponding {"path": "...", "audience": "agent-runtime"} entry in docs/documentation-audiences.json's surfaces list; this change needs the same two entries added for the new skills to keep the inventory in sync. Confirmed this is a regression introduced by this change (not pre-existing): the same test passes cleanly on the base commit and fails only after the two new SKILL.md files are added.bash tests/fm-documentation-audiences.test.shon target commit 5a83257 (fails: unclassified skill files)bash bin/fm-doc-audience-check.shon target commit 5a83257 (fails directly)bash tests/fm-documentation-audiences.test.shon base commit 1350b110 via isolated worktree (passes cleanly), confirming the failure is a regression introduced by this changemanual diff review confirming the change is scoped to exactly AGENTS.md, .agents/skills/coderabbit-pr-gate/SKILL.md, and .agents/skills/night-ops-directive/SKILL.md as the intent describesmanual review of the two new SKILL.md frontmatter blocks against sibling agent-only skills (metadata.internal=true, user-invocable: false) for convention match🔧 Fix: Register two new SKILL.md files in documentation-audiences.json
✅ Re-checked - no issues remain.
bash tests/fm-documentation-audiences.test.sh— structural regression suite for the tracked documentation audience inventory, all 4 checks passbash bin/fm-doc-audience-check.sh --root .— direct inventory check against the real repo tree, confirms both new SKILL.md files are classified (63 surfaces, 168 local links, ok)Manual read of both new SKILL.md files for frontmatter convention (name/description/user-invocable/metadata.internal) matching existing skills (ask-user-authority, bootstrap-diagnostics)Manual content review of night-ops-directive and coderabbit-pr-gate against the described user intent (delegator discipline, watcher-heartbeat wake cadence, bd transfer triage, fork-first pointer, CodeRabbit actionable-comment policy and rate-limit-as-paused-wait)git diff 1350b110 ff9a39c --statand AGENTS.md diff — confirmed change is scoped to AGENTS.md, the two skill directories, and docs/documentation-audiences.json onlyCross-referenced mechanisms cited in the new skills (bin/fm-subagent-pretool-check.sh, bin/fm-watch.sh FM_HEARTBEAT/FM_HEARTBEAT_MAX, state/<id>.pr-review-seen in AGENTS.md) against the actual repo to confirm they exist and are accurately describedgit status --porcelain— confirmed no transient artifacts left in the worktree✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.