lahfir
@lahfir
Public Skills
agent-desktop
by lahfir
Desktop automation via native OS accessibility trees using the agent-desktop CLI. Use when an AI agent needs to observe, interact with, or automate desktop applications (click buttons, fill forms, navigate menus, read UI state, toggle checkboxes, scroll, drag, type text, take screenshots, manage windows, use clipboard, manage notifications). Covers 59 command names (55 operational; four held-input names fail closed until daemon ownership exists) across observation, interaction, keyboard/mouse, app lifecycle, notifications (macOS), clipboard, wait, session lifecycle, and a skills command that bundles docs straight from the binary. Triggers on: "click button", "fill form", "open app", "read UI", "automate desktop", "accessibility tree", "snapshot app", "type into field", "navigate menu", "toggle checkbox", "take screenshot", "desktop automation", "agent-desktop", or any desktop GUI interaction task. Supports the macOS Phase 1 adapter, with Windows and Linux planned against the same core contracts.
agent-desktop-ffi
by lahfir
C-ABI bindings over agent-desktop's PlatformAdapter. Consumers (Python ctypes, Swift, Node ffi-napi, Go cgo, C++, Ruby fiddle) link libagent_desktop_ffi.{dylib,so,dll} and call ad_* functions directly instead of spawning the CLI binary per call. The canonical observe-act workflow is: ad_init → ad_adapter_create[_with_session] → ad_snapshot → parse @e refs → ad_execute_by_ref → ad_free_string → ad_adapter_destroy.
progress-report
by lahfir
'Generate polished, stakeholder-ready progress reports as PDF documents. Automatically gathers project metrics (LOC, files, tests, commits, tables), takes live dashboard screenshots via agent-browser, builds a styled HTML report, and converts to PDF. Supports three report scopes: (1) full project report covering all phases and architecture, (2) feature/phase report focused on current branch work, (3) sprint/weekly report summarizing recent activity. Use when the user asks for: "progress report", "stakeholder report", "project status PDF", "engineering summary", "create a report", "generate a PDF report", "feature report", "sprint summary", "what have we built", or any request to document project progress as a deliverable.'