From Dev10x
Post a Google Chat review request for a PR using per-repo config (space, mentions). Mirrors Dev10x:slack-review-request. Standalone — not wired into Dev10x:request-review. TRIGGER when: a PR needs a Google Chat review notification. DO NOT TRIGGER when: Google Chat is not configured, or posting to Slack (use Dev10x:slack-review-request).
How this skill is triggered — by the user, by Claude, or both
Slash command
/Dev10x:gchat-review-requestThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**REQUIRED: Create a task at invocation.** Execute at startup:
REQUIRED: Create a task at invocation. Execute at startup:
TaskCreate(subject="Post Google Chat review request", activeForm="Posting review request")Mark completed when done: TaskUpdate(taskId, status="completed")
Per-repo config in gchat-config-code-review-requests.yaml (resolved via the
shared Dev10x config home):
default_action: ask # "skip" or "ask" for unconfigured repos
projects:
my-app:
space: tt-reviews # alias from gchat-config.yaml
mentions:
- "@dev-team-fe" # user group -> native group mention token
internal-tools:
skip: true
Mentions resolve against gchat-config.yaml user_groups and users.
Skip the ping if the PR is already human-approved on its current HEAD (bot
approvals do not count). Mirror Dev10x:slack-review-request Step 0:
gh pr view {pr_number} --repo {repo} --json reviewDecision,reviews,headRefOid # cli-friction: allow raw-gh-pr — review-state precheck
Drop reviews whose author.login ends with [bot] or author.type == "Bot".
If a HUMAN APPROVED review matches headRefOid, report "skipped — already
approved" and stop. Skip this precheck when invoked with --force.
If the PR is still a draft, do NOT post the review request — a draft is not
ready for review.
Report that the PR must be marked ready first (via
Dev10x:gh-pr-request-review / gh pr ready) and stop.
Skip this check when invoked with --force.
REQUIRED: Run the prepare subcommand — do NOT inline YAML reads or hand-build the message:
uvx dev10x skill notify gchat-review-prepare --pr {pr_number} --repo {repo}
Output JSON keys: skip, ask, space, message, reason,
resolved_mentions, pr_url, pr_title.
skip=true → report "Google Chat notification skipped for {repo}", done.ask=true → REQUIRED: Call AskUserQuestion for space alias (required)
and mentions (optional); then proceed with the provided values.REQUIRED: Call AskUserQuestion showing the formatted message with options
"Post to Google Chat" / "Skip". If "Skip", done.
Delegate to Skill(Dev10x:gchat) — write the message to a temp file and pass it:
Skill(skill="Dev10x:gchat", args="--space {space} --message-file {temp_file}")
NEVER call the CLI gchat-send directly from here — delegate to the
Dev10x:gchat skill so transport rules stay centralized.
Report success: space alias and returned message name.
spaces.messages.create is enabled and the bot is in the space.@alias to member <users/ID> tokens.npx claudepluginhub dev10x-guru/dev10x-claude --plugin Dev10xCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.