About dired
dired is a skill for opening files from the latest interaction in an Emacs dired buffer, for users working with Emacs. It selects only relevant recent files and arranges them according to whether they share a directory.
Key features
- 01Open relevant files from the latest interaction
- 02Mark same-directory files in dired
- 03Gather files from multiple directories in a dedicated buffer
- 04Run through emacsclient
Use cases
- 01Review files just generated or edited
- 02Collect files from recent tool output
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ xenodium/ emacs-skills --skill diredAfter installing, type/diredin Claude Code to confirm it loaded.
Bundled filesagent-skill-dired.el
Details
From the project READMEOpen 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.