// 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
| Tool | Description |
|---|---|
read | Read a file in the project directory. |
list_dir | List files and directories (use instead of shell ls). |
write | Create or overwrite a file. |
edit | Replace text in a file. |
diff | Preview a unified diff before applying changes. |
grep | Search the codebase (ripgrep; findstr on Windows). |
git | Status, diff, log, commit, etc. — writes need approval. |
bash | Run a shell command — requires approval. |
exec | Structured shell command (cmd array) — requires approval. |
web_search | Search the internet (DuckDuckGo / Google News). |
docs | Look up npm READMEs, MDN, or fetch a docs URL. |
memory | Store/recall long-term facts in ~/.astra/memory.json. |
plan | Create and track multi-step task plans. |
delegate | Boss only — spawn a worker agent for a focused subtask. |
spawn_agents | Multi only — dispatch parallel agents on disjoint file scopes. |
ask_user | Multi only — the coordinator asks you a question. |
database | Run SQL on SQLite files (mutations need approval). |
verify | Auto-run tests/build from package.json scripts. |
mcp | Call tools from MCP servers. |
skill | Load a skill by name from available_skills. |
schedule | Schedule reminders and recurring tasks (needs a running gateway). |
browser | Control a real Chromium browser. |
twitter | Post, 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
| Action | Description |
|---|---|
open / goto | Launch and navigate to a URL in a tab. |
click / type / select / check | Interact with page elements (CSS selectors). |
waitFor | Wait for a selector to appear. |
getPageContent / extract | Inspect page — URL, text, interactive elements, or a selector value. |
screenshot | Save a PNG to ~/.astra/screenshots/. |
listTabs / switchTab / newTab / closeTab | Multi-tab control. |
waitForUser | Pause for CAPTCHA, OTP, or manual payment. |
close | Close 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.
| Action | Description |
|---|---|
twitter login | Sign in once; the session is saved under ~/.astra/twitter-profile/ and reused. |
twitter status | Report whether you're logged in and which account is active. |
twitter post | Create a tweet (text, 1–280 chars). |
twitter reply | Comment on an existing tweet (tweetUrl + text). |
twitter verify | Open a tweet URL and confirm it's live and matches expectedText. |
twitter batch | Run a scheduled list of posts + replies automatically. |
twitter logout | Clear 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"]
}
}