gateway-device-pairing
Skill2 starsChanged 7 months agoMITView on GitHub
Standardize the Device Pairing process for Gateway (fix `pairing required` error), clearly distinguish it from channel pairing, and verify operator authority before patching/restarting config.
In this repository47 other files it gives its agents.
- brainstormingSkill
- claude-code-termux-runbookSkill
- cli-patcherSkill
- code-review-workflowSkill
- commit-commandsSkill
- consulting-analysisSkill
- context7-cleanSkill
- data-analysisSkill
- deep-researchSkill
- edit-tool-compat-guardSkill
- env-managerSkill
- executing-plansSkill
- feature-devSkill
- firecrawlSkill
- frontend-designSkill
- githubSkill
- glibc-prebuilt-bundleSkill
- gogSkill
- image-generationSkill
- memory-setupSkill
- module-auditorSkill
- module-scaffoldSkill
- openclaw-config-guardianSkill
- openclaw-ollama-runtime-kbSkill
- plugin-cutover-guardianSkill
- plugin-runtime-guardianSkill
- python-env-managerSkill
- self-improving-agentSkill
- simplify-and-hardenSkill
- skill-benchSkill
- skill-creatorSkill
- skill-unificationSkill
- skill-vetterSkill
- socratic-groundingSkill
- subagent-orchestrationSkill
- systematic-debuggingSkill
- tailscale-oauth-bridgeSkill
- termux-packagerSkill
- termux-runnerSkill
- test-driven-developmentSkill
- vercel-deploy-claimableSkill
- verification-before-completionSkill
- video-generationSkill
- workspace-cleanupSkill
- writing-plansSkill
- yt-dlp-ingest-firstSkill
- zero-downtime-cutoverSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. About 0 are common, 7 are distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 30
Use this skill when one of the following signs appears:
- Very specific: line 48
If pairing required is present, run openclaw devices list --json.
- Very specific: line 49
If pending is empty, check the wrong profile/runtime (--dev, --profile, other node).
- Very specific: line 78
Do not prioritize qr/publicUrl/tailnet if the target only pairs locally on the machine itself.
- Very specific: line 80
check /data/adb/openclaw/home/.openclaw/devices/pending.json and paired.json to compare pending.scopes with …
- Distinctive: line 82
Only consider patching local auth state backup-first when the command-level line is not enough.
- Distinctive: line 83
After approving, it's still unreachable:
- Very specific: line 85
Check the correct Gateway port (ws://127.0.0.1:18789 or port override).
- Very specific: line 87
Use openclaw devices remove|revoke|rotate according to role/scopes.
- Very specific: line 90
Do not approve strange requests without verifying displayName/clientId/platform.
- Distinctive: line 91
Do not reveal detailed tokens/scopes in public chat.
- Distinctive: line 92
Do not confuse pairing channel with pairing device when handling auth errors.
- Very specific: line 93
After pairing successfully, perform config patch/restart/privileged actions.
- Distinctive: line 104
If you don't see a pending request: clearly distinguish whether there is no real request or you are confusing device pairing with channel …
- Distinctive: line 105
If approval fails due to operator permissions: stop at the verify role/permissions step instead of continuing to patch the config blindly.
- Very specific: line 106
If pair is done but error persists: switch to triage config/runtime with evidence from devices pending/approve/status.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Gateway Device Pairing
Scope
- In-scope: pairing/triage Gateway device according to skill workflow, distinguish device pairing from channel pairing, verify operator permission before patch/restart.
- Out-of-scope: channel pairing or mutation runtime outside of scope pairing without approval.
Indexed Reference Map
- @[SKILL.md#L1-L108] Standard Frontmatter (
name,description). - @[SKILL.md#L6-L108] Device Pairing process for Gateway.
- @[SKILL.md#L8-L108] Target.
- @[SKILL.md#L14-L108] When to activate skill.
- @[SKILL.md#L21-L108] Distinguish between two types of pairing.
- @[SKILL.md#L32-L108] Standard SOP (diagnose → approve → verify).
- @[SKILL.md#L58-L108] Troubleshooting nhanh.
- @[SKILL.md#L81-L108] Guardrails are safe.
- @[references/runbook.md#L1-L104] Copy/paste sample command for each situation.
Target
Standardize the operation when Gateway denies access with error pairing required, so that future models do not confuse:
- Device pairing of Gateway auth
- Pairing theo channel (Telegram DM allowlist)
When to activate skills?
Use this skill when one of the following signs appears:
- Tool
gatewayerrorgateway closed (1008): pairing required openclaw statusreports Gateway unreachable because pairing is requiredopenclaw devices listreturnspendingrequest to approve
Distinguish between 2 types of pairing (required)
- Gateway device pairing
- Main command:
openclaw devices list|approve - Effect: grant trust + token/scopes to CLI/device calling Gateway API.
- Main command:
- Channel pairing (eg Telegram DM)
- Main command:
openclaw pairing list|approve - Effect: Control who can message bots in DM/group according to policy channel.
- Main command:
Conclusion: Gateway's
pairing requirederror is not handled byopenclaw pairing ...if pending is indevices.
Standard SOPs
Step 1 — Diagnose the correct layer
- Run
openclaw status. - If
pairing requiredis present, runopenclaw devices list --json. - If
pendingis empty, check the wrong profile/runtime (--dev,--profile, other node).
Step 2 — Approve device pending
- Latest Approve:
openclaw devices approve --latest --json - Or approve by request id:
openclaw devices approve <requestId> --json
Step 3 — Verify required
openclaw devices list --json→ the approved request is no longer inpending.openclaw status→ Gateway must switch to reachable.- Try a real Gateway command (e.g.
gateway config.get) to confirm operation.
Troubleshooting nhanh
devices liststill reportspairing requiredbut has JSON pending:- can still approve; Prioritize checking JSON output
device.approvedScopes.
- can still approve; Prioritize checking JSON output
- Thực chiến (2026-03-27, Android local loopback):
openclaw devices approve --latestcó thể vẫn ingateway connect failed: pairing requiredở bước đầu, sau đó chuyển sangDirect scope access failed; using local fallback.và vẫnApproved <deviceId> (<requestId>)thành công.- Không kết luận fail chỉ vì thấy dòng
pairing requiredtrong cùng lần approve. - Luôn verify hậu kiểm:
openclaw statusphải báo Gatewayreachable(auth token) và thửopenclaw logs --limit 30 --plainđể xác nhận RPC đã dùng được.
- Không kết luận fail chỉ vì thấy dòng
- App reports
unauthorized: gateway token missing (provide gateway auth token)on local routehttp://127.0.0.1:18789:- classify is pairing/auth, not TLS or gateway down.
- The app reached the correct local gateway but was blocked at the auth layer before onboarding was completed.
devices listat this time may not be pending; Only when the app re-emit request is successful will the actual pending appear.
- Same-machine Android (gateway + app on same phone):
- direct local route priority
127.0.0.1:18789, TLS OFF. - Do not prioritize
qr/publicUrl/tailnetif the target only pairs locally on the machine itself.
- direct local route priority
- Pending request requires a wider scope than the current operator (eg
operator.talk.secrets) and approval fails/does not appear:- check
/data/adb/openclaw/home/.openclaw/devices/pending.jsonandpaired.jsonto comparepending.scopeswithapprovedScopes/tokens.operator.scopes. - Formal remediation first:
openclaw devices rotate --device <id> --role operator --scope ...to extend the token in the approved baseline. - Only consider patching local auth state backup-first when the command-level line is not enough.
- check
- After approving, it's still unreachable:
- mistakenly checked runtime/profile (
openclaw --dev ...vs default). - Check the correct Gateway port (
ws://127.0.0.1:18789or port override).
- mistakenly checked runtime/profile (
- Need to recall old equipment:
- Use
openclaw devices remove|revoke|rotateaccording to role/scopes.
- Use
Guardrails are safe
- Do not approve strange requests without verifying
displayName/clientId/platform. - Do not reveal detailed tokens/scopes in public chat.
- Do not confuse pairing channel with pairing device when handling auth errors.
- After pairing successfully, perform config patch/restart/privileged actions.
Expected results
Later models can correctly identify the pairing required error, run the correct flow devices approve, verify and then safely operate the Gateway config.
Trigger Rules
- Positive: Activate when the user request matches
gateway-device-pairingaccording to description: Standardize the Device Pairing process for Gateway (fixpairing requirederror), clearly distinguish it from channel pairing, and verify operator authority before patching/restarting config. - Negative: Not enabled for requests outside scope or without the workflow/expertise of this skill.
- Escalation: If there is an external action/network write or sensitive operation, an approval checkpoint must be added before executing.
Error Handling
- If you don't see a pending request: clearly distinguish whether there is no real request or you are confusing device pairing with channel pairing.
- If approval fails due to operator permissions: stop at the verify role/permissions step instead of continuing to patch the config blindly.
- If pair is done but error persists: switch to triage config/runtime with evidence from
devices pending/approve/status.
Output Contract
- Deliverable: target tracking result of
gateway-device-pairing; Specify the artifact/path/steps performed (if any). - Validation: reports
PASS/FAILstatus and main checks have been run. - Failure mode: when there is an error, the root cause + proposed fix must be stated.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

