nexu-e2e-test
Use when verifying OpenClaw gateway fixes end-to-end, testing skill loading after restart, or running integration tests against the local Nexu+OpenClaw stack. Triggers on "e2e test", "verify fix", "test gateway", "test skills loading".
npx skills add nexu-io/nexu --skill nexu-e2e-test --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Nexu E2E Testing — OpenClaw Gateway Run end-to-end verification of the Nexu → OpenClaw gateway stack locally. ## Known Constraints The OpenClaw gateway has architectural constraints that block naive E2E approaches. **Read this before attempting any gateway testing.** | Approach | Blocker | Status | |----------|---------|--------| | HTTP `POST /v1/chat/completions` | Endpoint exists (`openai-http.ts`) but uses `agentCommand()` — same embedded agent path as CLI, bypasses session store | Works for smoke tests (same as CLI) | | HTTP `POST /v1/responses` | Endpoint exists (`openresponses-http.ts`) but also uses `agentCommand()` | Works for smoke tests (same as CLI) | | WebSocket `chat.send` | Requires device pairing for `operator.write` scope — `clearUnboundScopes()` in `message-handler.ts:483-488` clears all self-declared scopes without device identity | Dead end without device keys | | `openclaw agent --session-id` | Uses embedded agent path (`sessionKey=unknown`), bypasses session store cache | Works for smoke tests, NOT for session-store bugs | | Direct module import from dist | Rollup bundles with hashed filenames, can't import individual modules | Dead end | | `tsx` from `/tmp`
- Known Constraints
- Viable Test Methods
- 1. Vitest Unit/Integration Tests (Primary)
- 2. openclaw agent CLI or HTTP Smoke Tests
- 3. Connected Channel (Slack/Discord)
- Gateway Setup for Testing
- Config Pitfall: /data/ workspace path
- Start gateway with test config
- Wait for port readiness (not just process start)
- WebSocket Protocol Reference
- Restart Verification Checklist
- Session Store Locations
cd <OPENCLAW_WORKTREE> openclaw agent --session-id "<session>" --message "<msg>" --json --timeout 60 curl -s http://localhost:18789/v1/chat/completions \ import json,sys cat ~/.openclaw/openclaw.json | python3 -c " import json, sys cfg = json.load(sys.stdin) openclaw gateway run --allow-unconfigured --bind loopback --port 18789 --force --verbose for i in $(seq 1 15); do lsof -i :18789 -P 2>/dev/null | grep -q LISTEN && break
What does the nexu-e2e-test skill do?
Use when verifying OpenClaw gateway fixes end-to-end, testing skill loading after restart, or running integration tests against the local Nexu+OpenClaw stack. Triggers on "e2e test", "verify fix", "test gateway", "test skills loading".
How do I install it?
Run `npx skills add nexu-io/nexu --skill nexu-e2e-test --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From nexu-io/nexu, a repository with 3,239 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.