Back to Skills
    🦞

    cursor-agent

    A comprehensive skill for using the Cursor CLI agent

    By @swiftlysingh
    View on GitHub
    SKILL.md
    ---
    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
    ```