Files
nanoclaw/.claude/skills/setup/diagnostics.md
gavrielc 761d3a1b30 feat: add migrated_from_openclaw field to setup diagnostics
Tracks whether users came through the OpenClaw migration path during setup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 00:22:13 +03:00

1.6 KiB

Diagnostics

Gather system info:

node -p "require('./package.json').version"
uname -s
uname -m
node -p "process.versions.node.split('.')[0]"

Check if the user migrated from OpenClaw during this setup session (i.e. /migrate-from-openclaw was invoked). If you're unsure (e.g. after context compaction), check for migration-state.md in the project root — it exists during and sometimes after migration.

Write /tmp/nanoclaw-diagnostics.json. No paths, usernames, hostnames, or IP addresses.

{
  "api_key": "phc_fx1Hhx9ucz8GuaJC8LVZWO8u03yXZZJJ6ObS4yplnaP",
  "event": "setup_complete",
  "distinct_id": "<uuid>",
  "properties": {
    "success": true,
    "nanoclaw_version": "1.2.21",
    "os_platform": "darwin",
    "arch": "arm64",
    "node_major_version": 22,
    "channels_selected": ["telegram", "whatsapp"],
    "migrated_from_openclaw": false,
    "error_count": 0,
    "failed_step": null
  }
}

Show the entire JSON to the user and ask via AskUserQuestion: Yes / No / Never ask again

Yes:

curl -s -X POST https://us.i.posthog.com/capture/ -H 'Content-Type: application/json' -d @/tmp/nanoclaw-diagnostics.json
rm /tmp/nanoclaw-diagnostics.json

No: rm /tmp/nanoclaw-diagnostics.json

Never ask again:

  1. Replace contents of .claude/skills/setup/diagnostics.md with # Diagnostics — opted out
  2. Replace contents of .claude/skills/update-nanoclaw/diagnostics.md with # Diagnostics — opted out
  3. Remove the ## 9. Diagnostics section from .claude/skills/setup/SKILL.md and the ## Diagnostics section from .claude/skills/update-nanoclaw/SKILL.md
  4. rm /tmp/nanoclaw-diagnostics.json