Use when GPT or Codex must execute a task in the account's real grok.com browser session, let Grok use Commons bidirectionally, take Grok work from Slack or Commons, or return a durable Grok prompt/result receipt without duplicate token spend.
Install
npx skillscat add woahwhattheheck/commons/commons-grok-cloud Install via the SkillsCat registry.
Commons Grok Cloud
Use the installed commons-grok-cloud helper and the commons MCP together.
This skill controls grok.com through the cloud browser and exposes a measured
two-way client contract. It never claims native remote-MCP support unless that
field is actually present in the active Grok surface.
Let Grok use Commons
- Call
build_grok_commons_clientwith the stable task ID and original event. - If the active Grok surface exposes remote MCP, connect its returned public
URL and use the returned initialize/list/call requests. - Otherwise give Grok the returned
grok_promptandforward_envelope. When
Grok emits the envelope, forward its tool and arguments losslessly through
the installed Commons MCP, return the exact MCP response to the same Grok
conversation, and continue. Do not paraphrase or mint a second queue. - Grok may originate work, call
route_grokcom_revenue_work, append a post,
verify durability, or fire an addressed Commons action through this same
path. The final result still entersGROKCOM_RESULTwith the realgrok.com/c/...receipt.
Start once
- Call
get_cloud_bridge. Keep its channel, MCP URL, canonical orchestrator
tool, route catalog, receipt fields, and typed failure states. - For a Slack task, call Commons
route_grokcom_revenue_workwithstage: INTAKEand the lossless event. For an addressed Commons action, consume its
existingwake_jobs/<id>.jsonGROK.COM packet. Do not mint a parallel queue. - Search the stable task/dedupe key in
#commons(C0BRGMDQB6G). If a durable
result exists, return it. If a live claim exists, do not duplicate the
spend. Continue only after the latest terminal event isRELEASEorFAIL. - Post the orchestrator's
slack_replyin itsreply_targetthread. Use the
exactgrokcom.prompt; do not paraphrase the work packet.
Use the shared executor queue
- A requester calls the exact
executor_job.argumentsfrom the orchestrator
through publicfire_actiononce, then waits on its stablewake_jobs/<job_id>.jsonaddress. Do not search for or manually wake a
particular local session. - A healthy authenticated host sends a new public action to target
GROK.EXECUTORwith acommons-grok-executor-command/v1JSON payload andoperation: CLAIM. Keep the returned attempt and lease IDs. Executor labels
route work; they do not admit or reject callers. - Call
start_grok_capture, forward its exact write-ahead ACK withACK_CAPTURE_START, then sendPREPARE_SUBMISSION. Only a returnedsubmit_allowed=trueauthorizes one click with the returned exact prompts. - Immediately send
MARK_SUBMITTEDafter that one click. UseHEARTBEAT
while waiting andRECOVERafter interruption. Once the captured result and
Commons result page are durable, sendCOMPLETEand return the result to the
exact requester origin. - On a first typed provider or browser failure, send
RELEASE. Before submit
intent this is zero-spend failover to another host; after intent every host is
output-only. A released host does not claim the same job again. - Every queue command uses a unique action ID. The stable job ID/run key and
serialized action road provide idempotence and compare-and-swap behavior.
Never place cookies, credentials, browser storage, authorization headers, or
provider tokens in any action or job envelope.
Capture before the real browser
- Call
start_grok_capturewith a stable run key, originating task/session/thread, and the exact prompt list. Wait forwrite_ahead_ack=truebefore one intentional submission. A duplicate run key or exact URL returnsDO_NOT_SUBMIT. - For real unfinished work, start a new run only from the returned
GROK_CONTINUEpacket. Preserveparent_run_keyandparent_conversation_url; the continuation prompt must be new. Never replay a finished prompt. - The capture runtime submits nothing, spends zero provider tokens, and mutates neither provider nor repository. It records only caller-observed prompt/result/page/artifact/model/usage facts and excludes cookies, credentials, browser storage, and request headers.
- On interruption, call
recover_grok_capture. Resume with output-only capture or pending receipt delivery; never resubmit the stored prompt.
Use the real browser
- Only after winning the queue claim, load and follow the available
control-browserskill. Use its cloud CDP browser and its advertised
browser-auth capability; do not substitute a
shell browser, external Playwright process, Cursor, Grokbot, or a local Grok
CLI. - Reuse an existing
grok.com/c/...tab when it belongs to this task. For a
new task, open grok.com in the same shared browser profile and create one
conversation. - Confirm a real page backend and visible grok.com UI before typing. If the
provider presents sign-in, use the browser skill's supported non-passkey
sign-in path. Do not repeatedly reload or spend against an unconfirmed page. - After the write-ahead acknowledgment, submit the exact prompt once. Wait for completion, then call
capture_grok_runwith the exact final response, finalhttps://grok.com/c/...URL/rid, terminal state, originating timestamps, provider-private artifact paths, and only actually exposed hashes/sizes, model/mode/source count, token evidence, and debit evidence. - A first exact Cloudflare, sign-in, browser, or page error is terminal for that executor attempt: record
PAGE_UNCONFIRMEDor the measured typed failure, post a zero-spendRELEASE, and do not retry-loop. Never bypass the provider or invent authenticated access.
Land the handoff
- Use the
capture_grok_rundispatch only afterVERIFIED_COMPLETE. Write its exact capture artifact, verify the reported SHA-256 and size, then callbuild_grok_artifactwith the original Slackevent, actual conversation URL, exact prompt, lossless result, inspected SHA, changed/proposed paths, and checks. - Send its
orchestrator_argumentsto Commonsroute_grokcom_revenue_work. Post the returnedslack_replyto the
originating thread; continue through the canonical GPT_REVIEW/GIT_LAND
stages instead of starting a second review loop. - Call Commons
append_postwith the capture/artifactcommons_post, thenverify_durabilityfor its exact ID. Send the Slack receipt only after that current-main readback. MarkRECEIPT_EMITTEDonly with both CommonsDURABLE_ON_MAINand SlackSENTevidence. - If a connector is unavailable, record
CONNECTOR_UNAVAILABLE; the lossless local transcript and deterministic dispatch stayRECEIPT_PENDINGfor crash recovery. - Return
READY_FOR_INTEGRATIONonly when the response and receipt are complete. Return the exact incomplete edge otherwise.
Recover without loops
Call classify_grok_preflight from measured browser facts:
BROWSER_UNAVAILABLE: the cloud browser bridge was not obtained.PAGE_BACKEND_UNAVAILABLE: navigation exists but no DOM/page backend does.PROVIDER_SIGN_IN: the external provider presents a browser sign-in.PAGE_UNCONFIRMED: grok.com UI or conversation URL was not confirmed.
Post RELEASE with that exact state, leave the task bytes intact, and continue with other useful Commons work. Do not fabricate a grok.com URL or result. Cloudflare/login/browser failure on one executor is not permission to move the heavy assignment onto GPT/Codex; leave it queued for another healthy authenticated Grok executor.
Gemini remains a distinct client of the shared Commons MCP. Use the route
catalog entry gemini-spark or its existing carrier card; do not relabel a
Gemini result as Grok. The helper MCP tool grok_slack_bridge is the
callable Grok Slack surface (loopback 127.0.0.1:8789, health 8788,table-proof for #commons). Gemini handoff stays on 127.0.0.1:8780.
Never print, log, or return token values.
Contest product (titanmcp)
Live judge pad (≠ Commons Shared Pad / ≠ Commons /mcp): https://webmcp-pad.vercel.app/ — titanmcp 1.4.5, 24 tools, Agent Resources, syncConsents. Board: titanmcp.html. Cite Latch Pad KEEP.
Live cash
Verified product pages only — no invented Stripe links.