by hvardhan878
Free open-source Screenpipe GUI + macOS automation agent. Search your screen history, view analytics, automate workflows — all local, no cloud. Works with the free Screenpipe CLI.
# Add to your Claude Code skills
git clone https://github.com/hvardhan878/ghostworkLast scanned: 6/14/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@electron/node-gyp: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@electron/rebuild: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "app-builder-lib: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "cacache: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "dmg-builder: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "electron: Electron: AppleScript injection in app.moveToApplicationsFolder on macOS",
"severity": "high"
},
{
"type": "npm-audit",
"message": "electron-builder: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "electron-builder-squirrel-windows: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "make-fetch-happen: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "node-cron: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "node-gyp: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "tar: node-tar Vulnerable to Arbitrary File Creation/Overwrite via Hardlink Path Traversal",
"severity": "high"
},
{
"type": "npm-audit",
"message": "uuid: uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided",
"severity": "medium"
}
],
"status": "WARNING",
"scannedAt": "2026-06-14T08:16:35.790Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}ghostwork is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by hvardhan878. Free open-source Screenpipe GUI + macOS automation agent. Search your screen history, view analytics, automate workflows — all local, no cloud. Works with the free Screenpipe CLI. It has 152 GitHub stars.
ghostwork returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/hvardhan878/ghostwork" and add it to your Claude Code skills directory (see the Installation section above).
ghostwork is primarily written in TypeScript. It is open-source under hvardhan878 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh ghostwork against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
The first agent you don't prompt.
Ghostwork runs silently in the background, learns how you work from observation alone, and gradually takes repetitive tasks off your hands — without you ever writing a prompt or setting up an integration.
Screenpipe's desktop app moved to a paid model ($25/month). Ghostwork works with the free Screenpipe CLI and provides a full open-source GUI layer on top:
| Feature | Ghostwork (free) | Screenpipe desktop ($25/mo) |
|---|---|---|
| Timeline view | ✅ | ✅ |
| Natural language search | ✅ | ✅ |
| App usage analytics | ✅ | ✅ |
| macOS workflow automation | ✅ | ❌ |
| Learns from observation | ✅ | ❌ |
| Runs autonomously | ✅ | ❌ |
| Local / no cloud | ✅ | ✅ |
| Open source | ✅ GPL-3.0 | Source-available |
Ghostwork does everything the paid Screenpipe GUI does, plus it automates the workflows it discovers — for free.
Ghostwork watches every interaction across every app on your Mac (via Screenpipe), builds a rich memory of your work patterns, and surfaces automations the moment they're relevant.
| Layer | What's stored | How it's built |
|---|---|---|
| L1 Working | Current screen context (app, URL, OCR) | Live, polled every 10 s |
| L2 Episodic | Raw interactions: clicks, keys, navigations, app switches | Ingested every 2 min from Screenpipe's input stream |
| L3 Semantic | Workflows and rules: "WHEN on LinkedIn search → DO export to CRM" | Promoted nightly from episodic memory via LLM |
| L4 Procedural | Executable skills with step-by-step DOM/AX locators | Promoted nightly from stable semantic rules |
Every night Ghostwork runs a 3-phase consolidation:
behaviour.md rewriteThe living behaviour.md profile is injected into every LLM prompt, so the trigger decision has full context about who you are and what you do.
Ghostwork earns autonomy, never assumes it:
| Tier | Triggered when | Behaviour |
|---|---|---|
| Supervised | Default for all new rules | Executes immediately, shows HUD notification, Cmd+Z available |
| Autonomous | ≥5 accepts and <2 rejections in last 10 | Runs silently; logged to Activity feed |
Actions that are externally visible (send email, submit form, post) always require one-tap approval regardless of tier.
ax_list_elements + ax_click_element via macOS Accessibility API; ~95% accuracy on native appsWhen a multi-step sequence fails mid-way, Ghostwork fires Cmd+Z for each completed reversible step in reverse order before surfacing the error.
screenpipe)git clone https://github.com/your-org/ghostwork
cd ghostwork
npm install
npx @electron/rebuild -f -w better-sqlite3
cp .env.example .env
Edit .env:
OPENROUTER_API_KEY=sk-or-...
ANTHROPIC_API_KEY=sk-ant-... # optional, used for native computer use
npm start # development (hot reload)
npm run build # production build
npm run dist # package as .dmg
Screenpipe ──► sessionIngester (2min) ──► raw_events ──► extractor (30min) ──► rules
│
NREM/REM nightly
│
compiled skills
│
actionEngine (10s) ──► LLM trigger ──► AX-first executor
└──► vision fallback
Key files:
| File | Responsibility |
|---|---|
sessionIngester.ts |
2 min poll → raw_events + per-event prediction scoring |
extractor.ts |
30 min batch → 7-category structured rule extraction |
consolidation.ts |
Nightly NREM (sessions→rules) + REM (rules→skills) + GC |
actionEngine.ts |
10 s perception loop + LLM trigger decision + dispatch |
computerUse.ts |
AX-first executor + Claude vision fallback |
axDriver.ts |
macOS accessibility tree (AXUIElement via AppleScript) |
skillEngine.ts |
Browser skill replay with multi-step rollback |
approvals.ts |
Shadow-mode approval queue for externally visible actions |
db.ts |
GhostWork SQLite: rules, episodes, skills, approvals, settings |
See CONTRIBUTING.md for setup instructions and coding guidelines.
Open issues on GitHub — look for good first issue labels. Join the Discord to discuss ideas or get help getting set up.
behaviour.md profile never leaves your machine.GPL-3.0 — see LICENSE for details.