| save_memoryA | Save a piece of knowledge to persistent memory. Call this when you learn something worth remembering:
- User preferences or corrections
- Bug fixes and their root causes
- Project conventions or patterns
- Environment details (OS, tools, versions)
- Code snippets that solved tricky problems
- Decisions and their reasoning
Args:
content: What to remember. Be specific and concise.
category: One of: preference, lesson, fix, context, convention, environment, snippet, general
tags: Comma-separated tags for easier recall (e.g. "python,debugging,asyncio")
|
| recall_memoriesA | Search and recall past memories. Call this at the START of every session to load relevant context,
and whenever you need to remember something from the past.
Args:
query: Search keywords (uses full-text search). Leave empty to get recent memories.
category: Filter by category (preference, lesson, fix, context, convention, environment, snippet, general). Leave empty for all.
limit: Max memories to return (default 20).
|
| update_memoryA | Update an existing memory. Use when a previous memory is outdated or needs correction.
Args:
memory_id: The ID of the memory to update.
content: New content (leave empty to keep existing).
category: New category (leave empty to keep existing).
tags: New tags (leave empty to keep existing).
|
| forget_memoryB | Delete a memory that's no longer relevant. Args:
memory_id: The ID of the memory to delete.
|
| memory_statsA | Get statistics about stored memories. Call this to understand what's in your knowledge base. |
| monitor_commandA | Run a shell command repeatedly and collect output over time. USE THIS instead of running commands in a loop yourself — it handles
the polling so you don't burn through your iteration limit.
Examples:
- Monitor a build: command="kubectl get pods", stop_pattern="Running"
- Watch a deploy: command="curl -s http://localhost:8080/health", stop_pattern="ok"
- Track a job: command="squeue -u $USER", stop_pattern="", stop_on_change=true
- Wait for completion: command="cat /tmp/job.status", stop_pattern="DONE"
Args:
command: Shell command to run each interval.
interval_seconds: Seconds between each run (default 10, min 2).
timeout_seconds: Max total seconds to monitor (default 300 = 5 min, max 3600).
stop_pattern: Regex pattern — stop early when output matches this. Leave empty to run until timeout.
stop_on_change: Stop when output changes from the first run.
stop_on_exit_code: Stop when command returns this exit code (default -999 = disabled).
max_snapshots: Max number of output snapshots to keep (default 50). Older ones are dropped.
|
| watch_fileA | Watch a file for changes or a specific pattern. Useful for monitoring log files, build outputs, job status files.
Examples:
- Watch a log: path="/var/log/app.log", pattern="ERROR|FATAL"
- Wait for file: path="/tmp/job_done.flag", pattern=""
- Tail a build log: path="build.log", pattern="BUILD SUCCESS|BUILD FAILURE"
Args:
path: File path to watch.
pattern: Regex pattern to stop on when found in the file. Leave empty to stop on any change.
timeout_seconds: Max seconds to watch (default 300, max 3600).
interval_seconds: Seconds between checks (default 5, min 2).
tail_lines: Number of lines from end of file to return (default 50).
|
| poll_urlA | Poll a URL repeatedly until it returns expected status/content. Useful for waiting on deployments, health checks, APIs.
Examples:
- Health check: url="http://localhost:8080/health", expected_body_pattern="healthy"
- Wait for deploy: url="https://myapp.com/version", expected_body_pattern="v2.1"
- Wait for service: url="http://localhost:3000", expected_status=200
Args:
url: URL to poll.
method: HTTP method (default GET).
headers: Headers as "Key: Value" lines, newline-separated. Optional.
expected_status: Stop when this HTTP status is returned (default 200).
expected_body_pattern: Regex pattern — stop when response body matches. Leave empty to only check status.
timeout_seconds: Max seconds to poll (default 300, max 3600).
interval_seconds: Seconds between requests (default 10, min 2).
|
| run_long_commandA | Run a long-running shell command and capture its full output. Unlike monitor_command (which re-runs a command repeatedly), this runs
ONE command and streams its output until it finishes or times out.
Use for: builds, installs, database migrations, test suites, any single
command that takes a while.
Examples:
- Build: command="npm run build", timeout_seconds=300
- Tests: command="pytest -v", stop_pattern="FAILED|passed"
- Install: command="apt install -y nginx", timeout_seconds=120
Args:
command: Shell command to run.
timeout_seconds: Max seconds to wait (default 600 = 10 min, max 3600).
tail_lines: Number of output lines to return from the end (default 100).
stream_check_interval: Seconds between progress checks (default 5).
stop_pattern: Regex — kill the process early if output matches this.
|