Skip to content
Back to skills

Guides

ASecurity

Record a single human demonstration (browser or desktop) and distill it into a replayable SKILL.md draft, which becomes a real skill once an admin approves it. Good fit for "show the AI employee how to pull a report" or "walk through a form-filling SOP" once, then let the agent replay it.

  • 49 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 1, 2026
ai-agentsgobashnodeapisecurity

Works with

  • api
  • mcp

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 21 files and shows the line behind each finding

Scanned October 4, 2026

npx -y skills add zhixuli0406/DuDuClaw --skill guides --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Guides?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Guides
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/zhixuli0406-guides/badge)](https://www.skillsdirectory.com/skills/zhixuli0406-guides)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# Recording to skill

Record a single human demonstration (browser or desktop) and distill it into a
replayable SKILL.md draft, which becomes a real skill once an admin approves it. Good
fit for "show the AI employee how to pull a report" or "walk through a form-filling
SOP" once, then let the agent replay it.

## Prerequisites

1. **Enable the capability (off by default)**: add this to the target agent's
   `agent.toml`:

   ```toml
   [capabilities]
   recording = true
   ```

   Without this switch, all five recording tools are refused at the MCP dispatch entry
   point (fail-closed).
2. **MCP scope**: external keys need the `recording` scope (built-in agents' default
   principal already includes Admin).
3. **Browser recording** needs Node.js and the playwright module:

   ```bash
   npm install -g playwright
   npx playwright install chromium
   ```

   If the module can't be found, point to it with environment variables:
   `DUDUCLAW_PLAYWRIGHT_NODE_PATH=/path/to/node_modules`,
   `DUDUCLAW_NODE=/path/to/node`.
4. **Desktop recording** currently supports macOS only, and requires granting Screen
   Recording permission (System Settings → Privacy & Security → Screen Recording).

## Tool overview

| Tool | Purpose |
|------|------|
| `browser_record_start(url, name?, headless?, max_seconds?)` | Opens a real browser with tracing + HAR enabled for a human to demonstrate a workflow |
| `browser_record_stop(id)` | Stops recording and writes `trace.zip` / `session.har` (auto-redacted) / `actions.json` |
| `desktop_record_start(name?, max_seconds?)` | Desktop recording: one screenshot per second + the foreground window title (no keystroke logging) |
| `desktop_record_stop(id)` | Stops desktop recording |
| `skill_from_recording(id, name?)` | Distills a recording into a SKILL.md draft and submits it for approval |

Recordings land in `~/.duduclaw/recordings/<id>/` (directory permissions 700), with a
30-minute (configurable, capped at 2 hours) automatic-stop safety limit.

## Typical flow

1. Tell the agent "I'll show you how to pull the report — record it," and the agent
   calls `browser_record_start(url="https://erp.example.com", name="monthly report SOP")`.
2. The human completes the whole workflow in the opened browser window, then either
   closes the window or asks the agent to call `browser_record_stop(id)`.
3. The agent calls `skill_from_recording(id)`:
   - It parses the redacted HAR (method / URL / body skeleton for non-static-asset API
     calls) plus the sequence of UI actions, and hands both to an LLM to distill into a
     SKILL.md (frontmatter includes `name` / `trigger` / `skill_type` /
     `requires_env`).
   - It first runs a deterministic security scan (including prompt-injection rules);
     any High/Critical finding blocks it outright.
   - Once it passes, the file is written to the isolated draft area
     `~/.duduclaw/skills-drafts/<id>/SKILL.md`, and an approval request is created.
4. An admin approves it in the dashboard's approval center, and the skill installs and
   activates automatically; a rejection leaves it in the draft area.

## Security design

- **No silent background recording**: both start and stop produce an explicit reply
  and log signal.
- **HAR redaction**: header values like `Authorization` / `Cookie` / `Set-Cookie`, every
  cookie value, and any token-like query parameter or JSON body field are all replaced
  with an `<env:VAR>` placeholder; the distilled SKILL.md lists the needed environment
  variables under `requires_env` and never contains real credentials.
- **Desktop recording never touches keystrokes**: it only records which window is in
  the foreground; an input-event stream (rdev) is not yet implemented.
- **Never goes straight into the skill library**: every distilled artifact goes through
  the same self-built skill approval pipeline (isolated draft area → manual approval →
  install), with another security scan run at install time.

## Known limitations

- Desktop recording is currently a degraded "screenshot + foreground window" mode: no
  input-event stream, and distillation relies solely on the window-switch sequence.
- Desktop replay is fundamentally a computer-use task (`skill_type: desktop-sop`) —
  replay executes step by step, verifies each step with a screenshot, and stops on any
  failure. These are instructions in the SKILL.md, not an enforced replay engine, and
  the `computer_*` tools drive an isolated container browser rather than the host
  desktop the recording came from.
- Browser recording needs a locally available Playwright; `headless=true` is only
  suitable for verification (use the default headed mode for human demonstrations).

Files in this skill

  • appliance-build.md9.6 KB
  • build-your-own-pack.md4 KB
  • channels-googlechat-teams.md5.6 KB
  • custom-mcp-tool.md7.9 KB
  • deployment-guide.md17 KB
  • desktop-build.md7.9 KB
  • desktop-release.md3.1 KB
  • desktop-unblock.md18.1 KB
  • development-guide.md12.4 KB
  • docker.md22.2 KB
  • docuseal.md3.6 KB
  • evals.md16.2 KB
  • evolution-switches.md11.6 KB
  • feedback-page.md3.7 KB
  • github.md4.5 KB
  • goal-loop.md44.9 KB
  • google-mcp.md6.5 KB
  • google-no-oauth-client.md8.5 KB
  • google-workspace-integration.md13.8 KB
  • google-workspace.md12 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.