Open files in Emacs dired
Open files from the most recent interaction in an Emacs dired buffer using emacsclient --eval. Only include files relevant to the latest interaction (files just generated, edited, listed, or produced by the most recent tool output), not all files mentioned throughout the conversation.
Strategy
Determine whether the relevant files all reside in the same directory or span multiple directories, then call agent-skill-dired accordingly.
- Same directory:
:diris the directory,:filesare basenames. Opens dired at that directory with the files marked in context. - Multiple directories:
:diris the common ancestor,:filesare relative paths. Creates a curated*agent-files*buffer with all files marked.
First, locate agent-skill-dired.el which lives alongside this skill file at skills/dired/agent-skill-dired.el in the emacs-skills plugin directory.
emacsclient --eval '
(progn
(load "/path/to/skills/dired/agent-skill-dired.el" nil t)
(agent-skill-dired
:dir "/path/to/directory"
:files (quote ("file1.txt"
"file2.txt"
"file3.txt"))))'
Rules
- Use relative paths in
:filesrelative to:dir. - Locate
agent-skill-dired.elrelative to this skill file's directory. - If no relevant files exist in the recent interaction, inform the user.
- Run the
emacsclient --evalcommand via the Bash tool.