CtrlK
BlogDocsLog inGet started
Tessl Logo

jbaruch/nanoclaw-host

Skills and rules for the NanoClaw host agent (Claude Code on Mac). Tile promotion, container management, staging checks, repo chain safety, and public sync.

77

Quality

97%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

copilot-nudge-after-10min.mdrules/

alwaysApply:
Yes

Copilot nudge after 10 minutes

When you summon a Copilot review via the GraphQL requestReviews mutation (see the ship-code and promote skills for the full lifecycle and the exact GraphQL call) and the review hasn't started within 10 minutes, post a follow-up PR comment that tags @copilot to re-activate it.

How to apply

Track each PR's last-summon timestamp alongside the existing review-state watching. The review timestamp you compare against must be Copilot's latest review specifically — a human review landing mid-cycle would otherwise suppress the nudge even when Copilot's queue is still stale. Treat "no prior Copilot review" as eligible (null/0 is older than any commit). If the condition

now - last_summon > 10 minutes
  AND (latest_COPILOT_review_time is null OR latest_COPILOT_review_time < latest_commit_time)

holds, post a comment:

# Pull only Copilot's reviews, not any reviewer's. `--paginate` is
# important: gh's default page size is 30, and long-running PRs
# accumulate many review rounds (mine + Copilot's + any humans') so
# the latest Copilot review can fall off the first page and get
# silently missed.
latest_copilot=$(gh api --paginate repos/<owner>/<repo>/pulls/<n>/reviews \
  --jq '[.[] | select(.user.login | contains("opilot")) | .submitted_at] | max // ""')

if [ -z "$latest_copilot" ]; then
  # Never reviewed — asking for a first pass, not a re-review.
  body="@copilot review

Summoned via GraphQL earlier but no review has landed yet. Please take a look."
else
  # Prior review exists and is older than the latest commit — ask for
  # a re-review on the current state.
  body="@copilot review

Summoned via GraphQL earlier — the requested changes from your previous pass are addressed in the latest commit on this branch. Please re-review."
fi
gh pr comment <n> --repo <owner>/<repo> --body "$body"

Then reset the summon timestamp for that PR so the nudge doesn't re-fire until another 10 min have passed.

Scope

Every repo in the chain — core, admin, trusted, untrusted, host, public, private. Applies anywhere copilot-pull-request-reviewer is a reviewer on an open PR.

Don't

  • Don't nudge faster than every 10 minutes per PR (you'll just pile up @copilot comments with nothing between them).
  • Don't nudge if the latest Copilot review timestamp is AFTER the latest commit — that means Copilot already saw the current state and chose not to leave line comments (clean review). A human review landing in between is not a reason to suppress the nudge; the condition is specifically about Copilot's queue being stale.
  • Don't nudge on PRs where Copilot isn't a reviewer (check the requested_reviewers list first).

rules

boyscout-host.md

copilot-nudge-after-10min.md

cross-tier-skill-state.md

dual-agent-coexistence.md

host-conventions.md

no-deferral.md

no-error-suppression.md

nuke-semantics.md

orchestrator-dep-refresh.md

overlay-tile-authoring.md

post-merge-publish-watch.md

repo-chain.md

staging-diff-protocol.md

tessl-version-floating.md

tile-content-pipeline.md

README.md

tile.json