Skip to content
| Marketplace
Sign in
Visual Studio Code>Machine Learning>Workflow Skill StudioNew to Visual Studio Code? Get it now.
Workflow Skill Studio

Workflow Skill Studio

Robert Justin Monzingo

|
3 installs
| (0) | Free
Turn screen recordings and activity logs into concise, reusable agent skills with OpenRouter.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Workflow Skill Studio

Turn screen recordings plus keyboard and mouse activity logs into concise, reusable SKILL.md files without leaving VS Code.

What it does

  • Scans a local folder or any cloud-drive folder synced to the computer.
  • Accepts pasted public video, Google Drive, and YouTube links.
  • Automatically prepares oversized local recordings as temporary compact MP4 files before analysis when ffmpeg is available.
  • Processes recordings longer than 30 minutes as overlapping 20-minute segments, caches each completed segment as evidence, and waits until one final pass to filter non-work activity and synthesize skills.
  • Accumulates completed recording evidence in a workspace-scoped multi-day corpus and regenerates the smallest useful set of end-to-end employee workflow skills.
  • Excludes social media, entertainment, personal communications, idle time, unrelated browsing, and incidental settings exploration from generated skills.
  • Automatically pairs .json, .jsonl, .csv, .log, and .txt activity logs with recordings that share a filename/session prefix.
  • Redacts common credentials, email addresses, payment/identity numbers, account numbers, and URL query strings from activity logs before transmission.
  • Excludes raw capture.webm files and verifies the capture app's SHA-256 privacy attestation before uploading local employee recordings by default.
  • Lets you attach logs manually and select exactly which recordings to analyze.
  • Discovers the current OpenRouter catalog and selects a video-capable model in Auto mode. A specific OpenRouter model ID can be set in VS Code Settings.
  • Writes one consolidated workflow-skill set from all successfully analyzed recordings in the workspace corpus.
  • Adds concise token-efficiency guidance by default.
  • Stores redacted failure diagnostics at a configurable path.
  • Holds generated skills as a pending draft until a person approves or rejects them in the extension. No SKILL.md is written before approval.
  • Includes a read-only local MCP server for sanitized corpus retrieval and pending-review visibility without paid embeddings.

The separate Microsoft capture application is expected to export recordings and activity logs. This extension does not monitor the keyboard or mouse.

Test it locally

  1. Open this folder in VS Code.
  2. Press F5 to launch an Extension Development Host.
  3. Open a folder in that host window.
  4. Click Skill Studio in the Activity Bar.
  5. Choose a recording folder or paste a public video link.
  6. Set an OpenRouter API key when prompted, select recordings, and click Generate skills.

For development only, the extension recognizes either of these names in a repo-local .env file:

OPENROUTER_API_KEY=...
open-router-api-key=...

The .env file is excluded from the extension package. Installed users enter their own key, which is saved in VS Code Secret Storage and never written to settings or generated skills.

Input contract for the capture app

For employee recordings, select the Workflow Skill Capture sessions root. Each completed session directory contains:

<session-id>/
├── final.mp4
├── manifest.json
└── activity.jsonl

The extension never lists the raw capture.webm. It verifies that manifest.json attests the exact SHA-256 of final.mp4 and that Privacy Shield was enabled. Log records contain only allowlisted activity metadata. The extension asks for confirmation before sending selected files to OpenRouter.

Supported video formats follow OpenRouter's video-input contract: MP4, MPEG, MOV, and WebM. Local recordings longer than 30 minutes are divided into overlapping 20-minute evidence segments. Each segment is temporarily compressed, analyzed sequentially, and deleted; completed evidence is cached so an interrupted eight-hour run can resume without repeating successful model calls. One final text-only pass reviews all ordered evidence, removes non-work activity, and consolidates the remaining work into as few end-to-end skills as possible. No segment creates a SKILL.md. The source is never modified. This preparation requires ffmpeg and ffprobe on PATH.

Short local files larger than 12 MB are temporarily compressed to MP4 before being sent as base64 data URLs. Public links are passed directly, and Google Drive viewer links are converted to public download URLs. Provider-specific URL and duration restrictions still apply; for multi-hour YouTube recordings, download a local copy so the resumable segment pipeline can be used.

Settings

Setting Default Purpose
workflowSkillStudio.videoSourcePath empty Local or synced cloud-drive input folder
workflowSkillStudio.outputPath .agent-skills/generated Generated skill root
workflowSkillStudio.model auto Auto selection or any explicit OpenRouter model ID
workflowSkillStudio.includeTokenEfficiency true Add token-saving behavior to each skill
workflowSkillStudio.failureLoggingEnabled true Store redacted failures
workflowSkillStudio.failureLogPath .workflow-skill-studio/failures Failure-log folder
workflowSkillStudio.longVideoCachePath .workflow-skill-studio/cache Resumable long-video evidence cache
workflowSkillStudio.requirePrivacyAttestation true Reject local recordings without a valid capture-app privacy attestation
workflowSkillStudio.maxLocalVideoMB 20000 Maximum original local recording size accepted

Output

.agent-skills/generated/
└── ongoing-employee-workflow/
    └── prepare-and-publish-daily-report/
        └── SKILL.md

Existing skills are never overwritten. Re-running a recording writes a timestamped alternative beside the existing SKILL.md.

After synthesis, the extension shows the workflow summary and proposed skill names in a Human sign-off required card. Approve and write SKILL.md is the only path that writes the draft. Approval and rejection are recorded in a content-minimized local audit log under the cache; the MCP server has no approval or write tool.

Multi-day cache and retrieval

No external vector database or OpenRouter embedding configuration is required. The extension keeps structured, work-only evidence in .workflow-skill-studio/cache/corpus. Previously completed video segments and recordings are retrieved from this local cache, so adding another day analyzes only new material. When the corpus changes, a small final OpenRouter call merges recurring evidence across days into as few distinct end-to-end workflows as possible. Delete the workspace cache only when you intentionally want to rebuild the employee workflow corpus from the source recordings.

Run npm run mcp to start the bundled read-only local MCP server. Its tools use deterministic keyword retrieval over already-sanitized corpus JSON, expose only sanitized pending-review metadata, and report the architecture policy. The official OpenRouter MCP endpoint may be configured separately for current model and pricing lookup; it is never given recordings or corpus data. See mcp/.

Privacy and cost

Selected video and log content is sent to OpenRouter and the routed model provider. Review the source material for secrets and personal data before confirming. Common sensitive patterns are removed from text activity logs and model output locally. Local employee videos are rejected unless Workflow Skill Capture attests that Privacy Shield was applied to the exact final-file hash. The capture detector is conservative but cannot guarantee recognition of a generically titled sensitive window, so manual shielding and final employee review remain required. OpenRouter requests deny provider data collection and require a Zero Data Retention endpoint. Video analysis consumes model credits based on the chosen model, duration, resolution, and provider pricing. Long recordings may require many requests; the UI reports segment progress and cached segments are reused. This extension includes no telemetry.

Development

npm test
npm run package

The Marketplace publish step is intentionally separate and is not run by these commands.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft