OpenClaw skill
cursor-agent
An OpenClaw skill that enables agents to use Cursor, the AI-first code editor, to edit codebases. It supports opening a folder in Cursor, chatting with Cursor Composer, applying diffs from Cursor, running terminal commands in Cursor, and closing Cursor.
Files
Review the files below to add this skill to your agents.
Security notice: review the SKILL.md file and repository content first before using any third-party skill.
SKILL.md content
---
name: cursor-agent
version: 2.1.0
description: A comprehensive skill for using the Cursor CLI agent for various software engineering tasks (updated for 2026 features, includes tmux automation guide).
author: Pushpinder Pal Singh
---
# Cursor CLI Agent Skill
This skill provides a comprehensive guide and set of workflows for utilizing the Cursor CLI tool, including all features from the January 2026 update.
## Installation
### Standard Installation (macOS, Linux, Windows WSL)
```bash
curl https://cursor.com/install -fsS | bash
```
### Homebrew (macOS only)
```bash
brew install --cask cursor-cli
```
### Post-Installation Setup
**macOS:**
- Add to PATH in `~/.zshrc` (zsh) or `~/.bashrc` (bash):
```bash
export PATH="$HOME/.local/bin:$PATH"
```
- Restart terminal or run `source ~/.zshrc` (or `~/.bashrc`)
- Requires macOS 10.15 or later
- Works on both Intel and Apple Silicon Macs
**Linux/Ubuntu:**
- Restart your terminal or source your shell config
- Verify with `agent --version`
**Both platforms:**
- Commands: `agent` (primary) and `cursor-agent` (backward compatible)
- Verify installation: `agent --version` or `cursor-agent --version`
## Authentication
Authenticate via browser:
```bash
agent login
```
Or use API key:
```bash
export CURSOR_API_KEY=your_api_key_here
```
## Update
Keep your CLI up to date:
```bash
agent update
# or
agent upgrade
```
## Commands
### Interactive Mode
Start an interactive session with the agent:
```bash
agent
```
Start with an initial prompt:
```bash
agent "Add error handling to this API"
```
**Backward compatibility:** `cursor-agent` still works but `agent` is now the primary command.
### Model Switching
List all available models:
```bash
agent models
# or
agent --list-models
```
Use a specific model:
```bash
agent --model gpt-5
```
Switch models during a session:
```
/models
```
### Session Management
Manage your agent sessions:
- **List sessions:** `agent ls`
- **Resume most recent:** `agent resume`
- **Resume specific session:** `agent --resume="[chat-id]"`
### Context Selection
Include specific files or folders in the conversation:
```
@filename.ts
@src/components/
```
### Slash Commands
Available during interactive sessions:
- **`/models`** - Switch between AI models interactively
- **`/compress`** - Summarize conversation and free up context window
- **`/rules`** - Create and edit rules directly from CLI
- **`/commands`** - Create and modify custom commands
- **`/mcp enable [server-name]`** - Enable an MCP server
- **`/mcp disable [server-name]`** - Disable an MCP server
### Keyboard Shortcuts
- **`Shift+Enter`** - Add newlines for multi-line prompts
- **`Ctrl+D`** - Exit CLI (requires double-press for safety)
- **`Ctrl+R`** - Review changes (press `i` for instructions, navigate with arrow keys)
- **`ArrowUp`** - Cycle through previous messages
### Non-interactive / CI Mode
Run the agent in a non-interactive mode, suitable for CI/CD pipelines:
```bash
agent -p 'Run tests and report coverage'
# or
agent --print 'Refactor this file to use async/await'
```
**Output formats:**
```bash
# Plain text (default)
agent -p 'Analyze code' --output-format text
# Structured JSON
agent -p 'Find bugs' --output-format json
# Real-time streaming JSON
agent -p 'Run tests' --output-format stream-json --stream-partial-output
```
**Force mode (auto-apply changes without confirmation):**
```bash
agent -p 'Fix all linting errors' --force
```
**Media support:**
```bash
agent -p 'Analyze this screenshot: screenshot.png'
```
### ⚠️ Using with AI Agents / Automation (tmux required)
**CRITICAL:** When running Cursor CLI from automated environments (AI agents, scripts, subprocess calls), the CLI requires a real TTY. Direct execution will hang indefinitely.
**The Solution: Use tmux**
```bash
# 1. Install tmux if not available
sudo apt install tmux # Ubuntu/Debian
brew install tmux # macOS
# 2. Create a tmux session
tmux kill-session -t cursor 2>/dev/null || true
tmux new-session -d -s cursor
# 3. Navigate to project
tmux send-keys -t cursor "cd /path/to/project" Enter
sleep 1
# 4. Run Cursor agent
tmux send-keys -t cursor "agent 'Your task here'" Enter
# 5. Handle workspace trust prompt (first run)
sleep 3
tmux send-keys -t cursor "a" # Trust workspace
# 6. Wait for completion
sleep 60 # Adjust based on task complexity
# 7. Capture output
tmux capture-pane -t cursor -p -S -100
# 8. Verify results
ls -la /path/to/project/
```
**Why this works:**
- tmux provides a persistent pseudo-terminal (PTY)
- Cursor's TUI requires interactive terminal capabilities
- Direct `agent` calls from subprocess/exec hang without TTY
**What does NOT work:**
```bash
# ❌ These will hang indefinitely:
agent "task" # No TTY
agent -p "task" # No TTY
subprocess.run(["agent", ...]) # No TTY
script -c "agent ..." /dev/null # May crash Cursor
```
## Rules & Configuration
The agent automatically loads rules from:
- `.cursor/rules`
- `AGENTS.md`
- `CLAUDE.md`
Use `/rules` command to create and edit rules directly from the CLI.
## MCP Integration
MCP servers are automatically loaded from `mcp.json` configuration.
Enable/disable servers on the fly:
```
/mcp enable server-name
/mcp disable server-name
```
**Note:** Server names with spaces are fully supported.
## Workflows
### Code Review
Perform a code review on the current changes or a specific branch:
```bash
agent -p 'Review the changes in the current branch against main. Focus on security and performance.'
```
### Refactoring
Refactor code for better readability or performance:
```bash
agent -p 'Refactor src/utils.ts to reduce complexity and improve type safety.'
```
### Debugging
Analyze logs or error messages to find the root cause:
```bash
agent -p 'Analyze the following error log and suggest a fix: [paste log here]'
```
### Git Integration
Automate git operations with context awareness:
```bash
agent -p 'Generate a commit message for the staged changes adhering to conventional commits.'
```
### Batch Processing (CI/CD)
Run automated checks in CI pipelines:
```bash
# Set API key in CI environment
export CURSOR_API_KEY=$CURSOR_API_KEY
# Run security audit with JSON output
agent -p 'Audit this codebase for security vulnerabilities' --output-format json --force
# Generate test coverage report
agent -p 'Run tests and generate coverage report' --output-format text
```
### Multi-file Analysis
Use context selection to analyze multiple files:
```bash
agent
# Then in interactive mode:
@src/api/
@src/models/
Review the API implementation for consistency with our data models
```
How this skill works
- The skill requires Cursor AI code editor to be installed
- Receives project directory path and task instructions as inputs
- Opens the project directory in Cursor using the cursor CLI: `cursor [directory]`
- Simulates typing the task instructions into Cursor's Agent chat using platform-specific automation (AppleScript on macOS, xdotool on Linux)
- Waits a fixed duration or for user confirmation that the task is complete
- Returns a success status or updated project status
When to use it
- When an agent needs to delegate code editing tasks to Cursor's AI agent
- When performing autonomous codebase modifications via Cursor's chat interface
- When instructing Cursor agent to implement specific code changes in a local project
Best practices
- Set CURSOR_API_KEY environment variable with valid Cursor token
- Ensure Cursor is installed, running, and authenticated
- Provide precise file paths and task descriptions for accurate edits
- Review and approve agent-proposed changes before applying
- Limit concurrent requests to respect Cursor rate limits
Example use cases
- Bug Fixing: Agent analyzes code, identifies bug, uses cursor_chat to ask Composer for fix, generates edits from response, uses cursor_apply_edits to apply fixes.
- Code Refactoring: Open project with cursor_open_project, chat with Composer for refactoring plan, apply series of edits with cursor_apply_edits.
- Feature Addition: Open project with cursor_open_project, use cursor_chat to generate code snippets, apply them incrementally with cursor_apply_edits.
FAQs
What is the purpose of the cursor-agent skill?
The cursor-agent skill enables OpenClaw agents to interact with the Cursor AI code editor to perform code editing, generation, and analysis tasks.
What are the prerequisites for using the cursor-agent skill?
Cursor must be installed and authenticated on the host machine.
What tools are provided by the cursor-agent skill?
cursor_open, cursor_compose, cursor_chat, and cursor_close.
What does the cursor_open tool do?
Opens Cursor and optionally a specific project directory.
What inputs does the cursor_open tool require?
project_path (optional string).
What does the cursor_compose tool do?
Uses Cursor's Composer feature to generate or edit code based on instructions.
What inputs does the cursor_compose tool require?
instructions (required string), file_paths (optional array of strings), mode (optional string: 'default' or 'agent').
What does the cursor_chat tool do?
Sends a message to Cursor's sidebar chat for code-related assistance.
What inputs does the cursor_chat tool require?
message (required string).
What does the cursor_close tool do?
Closes the Cursor application.
What are the limitations of the cursor-agent skill?
Requires Cursor installed and authenticated; GUI automation may be brittle; works best on macOS.
More similar skills to explore
- achurch
An OpenClaw skill for church administration that handles member management, event scheduling, sermon retrieval, and donation processing. It provides tools to list members, add new members, schedule events, fetch sermons, and record donations.
- agent-config
An OpenClaw skill that enables agents to manage their configuration by loading from files, environment variables, or remote sources. It supports retrieving, setting, and validating configuration values. The skill allows for hot-reloading of configurations.
- agent-council
An OpenClaw skill named agent-council that enables the primary agent to summon a council of specialized sub-agents for deliberating on tasks. The council members discuss the query from unique perspectives, propose solutions, and vote to select the best response. The skill outputs the winning proposal with supporting rationale from the council.
- agent-identity-kit
An OpenClaw skill that equips agents with tools to craft, manage, and evolve digital identities, including generating personas, bios, avatars, and communication styles. It supports creating detailed agent personas with name, background, goals, personality traits; crafting bios for specific platforms; designing avatars; tuning voice and style; and adapting identities to new contexts.
- agenticflow-skill
An OpenClaw skill that provides tools for interacting with Agentic Flow. The tools enable agents to create agentic flows with defined tasks, execute existing flows, and retrieve flow status and outputs.
- agentlens
AgentLens is an OpenClaw skill that enables agents to inspect the internal cognition and actions of other agents. It provides visibility into reasoning traces (thoughts), tool calls and arguments, retrieved memories, and response generation. The skill supports analysis in multi-agent conversations via the "inspect" action targeting a specific agent.