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.
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)))))'
:startis the 1-indexed start line.:endis 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-xto 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.elrelative to this skill file's directory. - If no relevant files or regions exist in the recent interaction, inform the user.
- Run the
emacsclient --evalcommand via the Bash tool.
More from xenodium/emacs-skills
emacsclient
Always use emacsclient instead of emacs. This applies to all Emacs operations: user requests, byte compilation, check-parens, running ERT tests, and any other elisp evaluation.
53describe
This skill should be used when the user invokes "/describe" to look up Emacs documentation via emacsclient.
36dired
This skill should be used when the user invokes "/dired" to open files from the latest interaction in an Emacs dired buffer via emacsclient.
35open
This skill should be used when the user invokes "/open" to open files from the latest interaction in Emacs buffers via emacsclient.
34highlight
This skill should be used when the user invokes "/highlight" to highlight relevant regions in one or more files in Emacs via emacsclient.
33file-links
When referencing files, format them as markdown links with line numbers using GitHub-style #L syntax.
31