// capabilities

Tools

Astra ships 23 built-in tools. Twenty are available in normal mode; delegate is boss-only; spawn_agents and ask_user are multi-agent-only.

All tools

ToolDescription
readRead a file in the project directory.
list_dirList files and directories (use instead of shell ls).
writeCreate or overwrite a file.
editReplace text in a file.
diffPreview a unified diff before applying changes.
grepSearch the codebase (ripgrep; findstr on Windows).
gitStatus, diff, log, commit, etc. — writes need approval.
bashRun a shell command — requires approval.
execStructured shell command (cmd array) — requires approval.
web_searchSearch the internet (DuckDuckGo / Google News).
docsLook up npm READMEs, MDN, or fetch a docs URL.
memoryStore/recall long-term facts in ~/.astra/memory.json.
planCreate and track multi-step task plans.
delegateBoss only — spawn a worker agent for a focused subtask.
spawn_agentsMulti only — dispatch parallel agents on disjoint file scopes.
ask_userMulti only — the coordinator asks you a question.
databaseRun SQL on SQLite files (mutations need approval).
verifyAuto-run tests/build from package.json scripts.
mcpCall tools from MCP servers.
skillLoad a skill by name from available_skills.
scheduleSchedule reminders and recurring tasks (needs a running gateway).
browserControl a real Chromium browser.
twitterPost, comment on, and verify posts on X via browser automation.

Browser automation

Install once, then hand the agent a real Chromium browser — visible by default so you can watch:

npx playwright install chromium
ActionDescription
open / gotoLaunch and navigate to a URL in a tab.
click / type / select / checkInteract with page elements (CSS selectors).
waitForWait for a selector to appear.
getPageContent / extractInspect page — URL, text, interactive elements, or a selector value.
screenshotSave a PNG to ~/.astra/screenshots/.
listTabs / switchTab / newTab / closeTabMulti-tab control.
waitForUserPause for CAPTCHA, OTP, or manual payment.
closeClose the browser.

Safety: purchases, booking confirmations, and payment steps require approval or manual action. The agent pauses automatically on CAPTCHA/OTP/payment fields. Plan mode allows only read-only actions (goto, extract, getPageContent, screenshot).

Twitter / X posting

Post tweets, comment on posts, and verify posts are live — through a real browser, with no X API keys or paid tier.

ActionDescription
twitter loginSign in once; the session is saved under ~/.astra/twitter-profile/ and reused.
twitter statusReport whether you're logged in and which account is active.
twitter postCreate a tweet (text, 1–280 chars).
twitter replyComment on an existing tweet (tweetUrl + text).
twitter verifyOpen a tweet URL and confirm it's live and matches expectedText.
twitter batchRun a scheduled list of posts + replies automatically.
twitter logoutClear the saved session.

Example prompts:

Post a tweet saying "Hello from Astra!"
Reply to https://x.com/someone/status/123456789 with "Nice post!"
Check that my tweet actually got posted and is live.

Scheduled batches

Run many posts/replies automatically, spread evenly over time, with no per-post approval (one confirmation launches the whole batch). In chat, ask:

Post these 10 tweets over the next 30 minutes, then reply to these 50 posts over the following 30 minutes.

CLI runner (fully unattended)

astra twitter-batch <schedule.json>
{
  "posts": ["First tweet", "Second tweet"],
  "replies": [
    { "tweetUrl": "https://x.com/user/status/12345", "text": "Nice work!" }
  ],
  "postWindowMinutes": 30,
  "replyWindowMinutes": 30,
  "startDelayMinutes": 0
}

It keeps going if an individual item fails and writes a per-item report to ~/.astra/twitter-batch-results/<timestamp>.json. Auto-login with TWITTER_USERNAME / TWITTER_PASSWORD or sign in manually once.

Voice: posts are written on your behalf — never "as an AI or astra" — defaulting to a concise senior-developer tone. Set a custom persona:

{
  "twitter": {
    "persona": "a battle-tested systems engineer who writes short, practical posts"
  }
}

MCP servers

Add servers to ~/.astra/mcp.json:

{
  "servers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "D:/projects"]
    }
  }
}

Use the mcp tool with list_servers, list_tools, and call_tool actions.

Skills

Skills use the Vercel Agent Skills ecosystem (same format as Cursor):

astra skills add vercel-labs/agent-skills
astra skills add vercel-labs/agent-skills -g   # global
astra skills find react
astra skills list

In the TUI, /skills and press a to install from a repo, or o to browse the catalog. The agent sees an <available_skills> catalog in its system prompt and loads instructions with the skill tool.

Filter skills in settings.json:

{
  "skills": {
    "enabled": ["vercel-react-best-practices"],
    "disabled": ["canvas"],
    "paths": ["~/team-skills"]
  }
}