# Select

> This skill should be used when the user invokes "/select" to open one or more files in Emacs and select a region relevant to the current discussion via emacsclient.

- Skill: `xenodium/select` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add xenodium/select`
- Raw SKILL.md: https://api.skillmd.com/api/skills/xenodium/select/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: xenodium (https://skillmd.com/u/xenodium)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/xenodium/select

---


# Select region in Emacs

Open one or more files in Emacs and select (activate the region around) the code or text most relevant to the current discussion using `emacsclient --eval`. This allows the user to immediately act on the selection: narrow, copy, refactor, comment, etc.

Determine the relevant files and line ranges from the most recent interaction context.

## How to select

First, locate `agent-skill-select.el` which lives alongside this skill file at `skills/select/agent-skill-select.el` in the emacs-skills plugin directory.

```sh
emacsclient --eval '
(progn
  (load "/path/to/skills/select/agent-skill-select.el" nil t)
  (agent-skill-select
    :selections (quote (("/path/to/file1.el"
                         :start 10
                         :end 25)
                        ("/path/to/file2.el"
                         :start 5
                         :end 12)))))'
```

- `:start` is the 1-indexed start line.
- `:end` is the 1-indexed end line.
- The last file visited will have the visually active region. Other files have mark and point set (use `C-x C-x` to reactivate when switching to them).

## Rules

- Use absolute paths for files.
- Choose the region most relevant to the current discussion (e.g., a function just modified, a block with an error, code just generated).
- If no specific region is apparent, select the entire relevant function or block.
- Locate `agent-skill-select.el` relative to this skill file's directory.
- If no relevant files or regions exist in the recent interaction, inform the user.
- Run the `emacsclient --eval` command via the Bash tool.

