
Read a file's contents and return every line. Peek without touching. Use when the user asks to read, show, or peek at a file.
--- id: memory name: Memory description: Semantic search over notes (MEMORY.md, memory/*.md), chat log, and filesystem index. When user ran "pasture index --source filesystem", use memory_search for "what files do I have?" with query like "directory contents". Tools: memory_search, memory_get, memory_save. See SKILL.md. --- # Memory Semantic search over your **notes** (`MEMORY.md`, `memory/*.md`) and optional **search log** (chat history). Use memory_search for notes whenever relevant. You can
--- id: home-assistant name: Home Assistant description: Control and query home appliances and sensors via Home Assistant. Uses HA_URL and HA_TOKEN from ~/.pasture/.env. Use for anything inside the home (devices, appliances, sensors, automations). For outdoor/weather info use web search. Commands: "list lights", "search kitchen", "on light.xyz", "list automations", "search <name>", "state <entity_id>", etc. --- # Home Assistant Control and query your **Home Assistant** instance with simple com
Build a profile of what Pasture Protocol knows about the user from MEMORY.md, memory/*.md, dashboard Projects tracker, and recent chat logs. Use when the user asks "what do you know about me?", "what projects do I have?", "what have you learned about me?", "summarize what you know about me", or similar.
Bridge conversation to dashboard Projects and Missions — list configured projects, register new ones with setup details, health-check, propose tasks, create missions after user approval, log progress, and update task status. Use when the user wants to work on, track, or manage a project.
--- id: go-write name: Go write description: Change the filesystem: copy, move, delete, create files and directories, chmod, rsync (local, with excludes). Commands: cp, mv, rm, touch, chmod, mkdir, rsync. Enable in config (skills.enabled). --- # Go write Filesystem-changing commands. Enable **go-write** in configuration (`skills.enabled`) to copy, move, delete, create files and directories, or change permissions. Call `run_skill` with **skill: "go-write"**. Set **command** or **arguments.acti
Scan linked teammates and score who best fits a user request. Returns ranked agents with relevance scores, reasoning, and a recommendation (delegate, handle-in-main, adapt, or create-new). Call when the topic does not clearly match your active skills or before deciding whether to delegate.
--- id: core name: Core description: Core shell commands (always available): ls, cd, pwd, cat, less, du, cp, mv, rm, touch, chmod, mkdir, rsync (local filtered copy). Use for listing dirs, disk usage, reading files, copying, moving, deleting, creating dirs/files, and permissions. No need to enable-always installed. --- # Core commands Built-in shell commands. **Always available** - no need to enable in config. Call `run_skill` with **skill: "core"**. Set **command** or **arguments.action** to
--- id: browse name: Browse description: Local browser control: navigate, click, scroll, fill forms, screenshot. Uses Playwright (Chromium). See SKILL.md for arguments. --- # Browse Control a **local headless browser** (Playwright/Chromium) on the user's machine. No cloud middleman. Use when the user wants to **go to a URL, interact with the page, or bring back proof** (e.g. open a site, click a button, fill a form, take a screenshot). **Persistent tab:** The browser keeps the **same tab open
Read-only inspection of a remote Linux/Unix host over SSH. Use when the user asks about disk space, folder sizes, directory layout, file contents, server health, uptime, memory, load, running processes, services, Docker containers, or anything about a named or active remote server. Requires ssh-inspect in skills.enabled and SSH key access to the host.
--- id: vision name: Vision description: Describe or analyze an image, or generate an image and send to chat. Actions: describe (image/url/path/webcam), generate (prompt → image sent to chat). See SKILL.md. --- # Vision Read or analyze an image using a **vision-capable LLM**, or **generate an image** from a text prompt and **send it to the chat**. Use when the user sends an image, when you have an image path (e.g. from a browse screenshot), when the user wants to **see through the camera**, or
Apply a Git-style diff hunk to a file. Feed a diff hunk (plus new line, minus remove). Use when the user wants to apply a patch or diff.
Run long work in the background without blocking chat. Spawn returns a task id immediately; results are announced when done. Use /tasks to list jobs.
Google Calendar integration. List events, create events, check availability, delete events. Natural language commands like "book 30 min with John next Tuesday" or "what's on my calendar this week". Requires gog CLI authenticated with Google Calendar.
Gmail integration. List, read, search, send, reply, archive, trash, mark-read emails. Natural language commands like "clear my inbox" or "summarize unread". Requires gog CLI authenticated with Gmail.
Replace exact string(s) in a file. Scans, finds matches, changes only those, saves. Fails if no match. Use when the user asks to replace, change, or fix a specific string in a file.
GitHub integration. Read repos, list/read issues and PRs, create branches, post comments, create PRs. Requires GitHub token in ~/.pasture/secrets.json or GITHUB_TOKEN env var.
--- id: search name: Search description: Search the web or fetch a URL. Actions: search (query), navigate (url). See skill.md for arguments. --- # Search Search the web or fetch a page. Call **run_skill** with **skill: "search"**. The **command name** is the operation: use **command** or **arguments.action** set to exactly one of: **search**, **navigate**. ## Commands (name is command) - **search** - For current time, weather, date, latest news, or any live query. Set **arguments.query** (e.
--- id: speech name: Speech description: Voice-to-text (Whisper) and text-to-voice (11Labs). Use when transcribing audio, converting speech to text, or generating spoken audio from text. Commands: transcribe, synthesize. --- # Speech Voice-to-text via **Whisper** (OpenAI) and text-to-voice via **11Labs**. Use when the user wants to transcribe audio, convert speech to text, or generate spoken audio from text. Call **run_skill** with **skill: "speech"**. Set **command** or **arguments.action**
--- id: gog name: gog description: Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs. Actions: run. See SKILL.md for arguments. homepage: https://gogcli.sh --- # gog Use `gog` to access Gmail, Calendar, Drive, Contacts, Sheets, and Docs. Call `run_skill` with: - skill: "gog" - arguments.action: "run" - arguments.argv: array of command parts (do not include `gog`) Always use: --json --no-input Never fabricate tool output. --- ## Arguments - action: must be exactl
--- id: go-read name: Go read description: Read and list from the filesystem only. Commands: ls, cd, pwd, cat, less, du. Use for listing directories, disk usage, showing file contents, resolving paths. Enable in config (skills.enabled). --- # Go read Read-only filesystem commands. Enable **go-read** in configuration (`skills.enabled`) to list dirs and read files. Call `run_skill` with **skill: "go-read"**. Set **command** or **arguments.action** to the command name. Set **arguments.argv** to
Create or replace a file with given content. Wholesale write; overwrites if exists. Use when the user asks to write, create, or save a file.
Delegate a question or task to another configured agent and get its reply back. Use when the user wants you to coordinate a team of agents (e.g. a PM asking a specialist), or when another agent owns the knowledge/tools needed. Only works for agents in this agent's allow list.
--- id: cron name: Cron description: Manage reminders and scheduled messages. Actions: list, add, remove. See skill.md for arguments. --- # Cron Manage reminders and scheduled messages: **one-shot** (at a specific time) or **recurring** (every morning, every 5 minutes, etc.). Call **run_skill** with **skill: "cron"**. The **command name** is the operation: use **command** or **arguments.action** set to exactly one of: **list**, **add**, **remove**. **Reply channel:** By default the reminder r