Install
openclaw skills install nutcrackertestgptPrivacy-first UX research ethnography for OpenClaw. Use when asked to observe OpenClaw usage over time, extract local session data and conversations, analyze behavior/workflow friction, and generate daily local-only reports with metrics, insights, anonymized evidence, and next-day research plans.
openclaw skills install nutcrackertestgptFollow this workflow every time this skill is invoked.
{baseDir}/references/redaction-rules.md to raw exports, report content, and chat snippets.Generate today's OpenClaw UX ethnography reportAnalyze my OpenClaw usage for the last 24 hoursRun the daily UXR report/openclaw_ux_ethnographer run/openclaw_ux_ethnographer window=24h/openclaw_ux_ethnographer purge/skill openclaw-ux-ethnographer Analyze my OpenClaw usage for the last 24 hoursInterpret missing options as action=run and window=last_24h.
{baseDir}/state.json.Do you consent to local OpenClaw UX research capture? (yes/no)Capture level: minimal, snippets, or full?Retention window in days? (default 14)Scope: all sessions for this agent, or only this session?no, write {baseDir}/state.json with consent denied and stop.yes, write {baseDir}/state.json with:
consent_granted (boolean)capture_level (minimal|snippets|full)retention_days (integer, default 14)scope (all_agent_sessions|this_session_only)created_at, updated_at (ISO 8601)run (default): collect, analyze, and report.setup: re-run consent questions and update {baseDir}/state.json.purge: delete local research artifacts in {baseDir} (see Step 8).status: report current settings and latest report paths.last 7d, since YYYY-MM-DD, or start/end.report_date as the local date for the window end.Use this order:
sessions_list).sessions_history).{baseDir}/references/fallback-session-paths.md.sessions.json index and per-session transcript files (*.jsonl) best effort.Normalize records into an event stream with:
event_iddate, timesession_key (hashed when possible; otherwise stable pseudonym such as session_01)channel, event_typeturn_index, roletool_name, tool_statuserror_flag, retry_flag (best effort)minimal: no raw text; store high-level summary labels onlysnippets: one redacted excerpt only, max 200 charactersfull: full redacted textWrite outputs:
{baseDir}/data/YYYY-MM-DD/raw_events.jsonl{baseDir}/data/YYYY-MM-DD/sessions_index.json{baseDir}/references/redaction-rules.md before writing any event or report.[REDACTED_API_KEY].snippets, truncate after redaction to 200 characters maximum.Use qualitative and behavioral methods:
event_id and session_key valuesCompute metrics (proxy-based; name assumptions explicitly):
Produce:
{baseDir}/references/report-template.md.{baseDir}/reports/YYYY-MM-DD.md.{baseDir}/references/summary-schema.json to {baseDir}/reports/YYYY-MM-DD.summary.json.Next-Day Research Plan sectionrun, delete artifacts older than retention_days from {baseDir}/data/ and {baseDir}/reports/.purge action:
{baseDir}/data/ and {baseDir}/reports/{baseDir}/state.json unless user asks for full resetpurge full action:
{baseDir}/data/, {baseDir}/reports/, and {baseDir}/state.jsonInstall into a workspace skill directory:
mkdir -p <workspace>/skills
cp -R ./openclaw-ux-ethnographer <workspace>/skills/openclaw-ux-ethnographer
Refresh skills after install:
Ask your OpenClaw agent: refresh skills
Optional daily schedule with OpenClaw cron:
openclaw cron add --name "Daily OpenClaw UXR Report" --cron "5 8 * * *" --tz "America/Los_Angeles" --session isolated --message "Generate today's OpenClaw UX ethnography report for the last 24 hours using openclaw-ux-ethnographer." --no-deliver
ClawHub publish example:
clawhub publish ./openclaw-ux-ethnographer --slug your-skill-slug --name "Your Skill Name" --version 0.1.0 --tags latest --changelog "Initial release"
Reference docs: