$npx -y skills add K-Dense-AI/scientific-agent-skills --skill autoskillObserve the user's screen via screenpipe, detect repeated research workflows, match them against existing scientific-agent-skills, and draft new skills (or composition recipes that chain existing ones) for the patterns not yet covered. Use when the user asks to analyze their rece
| 1 | # autoskill |
| 2 | |
| 3 | > **Requires a running [screenpipe](https://github.com/screenpipe/screenpipe) daemon.** This skill has no alternate data source — it reads exclusively from the local screenpipe HTTP API (default `http://localhost:3030`). If the daemon isn't running, `run()` raises `ScreenpipeUnreachable` with install instructions. |
| 4 | |
| 5 | > **Network access & environment variables.** This skill makes authenticated HTTP requests to (a) the user's local screenpipe daemon on loopback, and (b) the user-configured LLM backend — one of `http://localhost:1234/v1` (LM Studio, default), `https://api.anthropic.com` (opt-in Claude), or a user-supplied BYOK Foundry gateway. The skill reads three environment variables — `SCREENPIPE_TOKEN`, `ANTHROPIC_API_KEY`, `FOUNDRY_API_KEY` — and uses each only to authenticate to the single endpoint its name implies. No other network destinations, no telemetry, no data egress to any third party. |
| 6 | |
| 7 | ## Overview |
| 8 | |
| 9 | Turn the user's own workflow history — captured passively by the local [screenpipe](https://github.com/screenpipe/screenpipe) daemon — into new skills. This skill is on-demand: the user invokes it with a time window, it queries screenpipe's local HTTP API, clusters repeated workflow patterns, compares each pattern against the existing skills in this repo, and produces a staged folder of proposals the user can review, edit, and promote. |
| 10 | |
| 11 | ## When to Use This Skill |
| 12 | |
| 13 | Invoke this skill when the user asks to: |
| 14 | - "Analyze my last 4 hours / day / week and propose new skills." |
| 15 | - "Look at what I've been doing and tell me what's not covered yet." |
| 16 | - "Draft a skill from my recent workflow." |
| 17 | - "Find composition recipes for workflows I repeat." |
| 18 | |
| 19 | Do **not** invoke it for one-off questions about screenpipe itself, for real-time screen queries, or without an explicit user request — the skill analyzes sensitive local content and must stay explicitly user-triggered. |
| 20 | |
| 21 | ## Privacy Posture |
| 22 | |
| 23 | - **Screenpipe handles app/window filtering at capture time.** Install a starter deny-list by copying `references/screenpipe-config.yaml` into the user's screenpipe config. Sensitive apps (password managers, messaging, banking) are never OCR'd in the first place. |
| 24 | - **Raw OCR never leaves the machine.** `scripts/fetch_window.py` pulls data over localhost HTTP. `scripts/cluster.py` reduces the timeline to app/duration/title summaries. `scripts/redact.py` strips emails, API keys, bearer tokens, and phone numbers as defense-in-depth before any cluster summary reaches the LLM. |
| 25 | - **LLM backend defaults to `local`.** The recommended setup is [LM Studio](https://lmstudio.ai/) running `Gemma-4-31B-it` — strong reasoning at a size that fits on most workstation GPUs, and no data ever leaves your machine. Cloud backends (`claude`, `foundry`) are opt-in and documented in `config.yaml` for users who explicitly want them. Detection and embeddings always run locally regardless of backend choice. |
| 26 | - **Dry-run mode** (`--plan`) prints the exact timeline that will be analyzed before any LLM call. |
| 27 | - **TLS for localhost** (optional, for corporate policy): see `references/https-proxy.md` for the Caddy pattern. |
| 28 | |
| 29 | ## Prerequisites |
| 30 | |
| 31 | ### 1. Screenpipe daemon |
| 32 | |
| 33 | Either install the official release or build from source. Either way the daemon binds HTTP on `localhost:3030` by default. |
| 34 | |
| 35 | **From source** (recommended if you want the CLI daemon without the desktop GUI): |
| 36 | |
| 37 | ```bash |
| 38 | git clone --depth 1 https:/ |