Always use emacsclient

SkillDev tools

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.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Always use emacsclient skill

What this skill tells your AI

The instructions your AI receives, as published by xenodium/emacs-skills in skills/emacsclient/SKILL.md and read by ahel’s review.

The user has an Emacs server running. All Emacs operations must go through emacsclient, never emacs or emacs --batch. This includes both user-requested actions and agent-initiated operations like byte compilation, syntax checking, or running tests.

Examples

  • Open a file: emacsclient --no-wait "/path/to/file"
  • Evaluate elisp: emacsclient --eval '(some-function)'
  • Open at a line: emacsclient --no-wait +42 "/path/to/file"
  • Byte compile a file:
    emacsclient --eval '
    (byte-compile-file "/path/to/file.el")'
    
  • Check parentheses:
    emacsclient --eval '
    (with-temp-buffer
      (insert-file-contents "/path/to/file.el")
      (check-parens))'
    
  • Run ERT tests:
    emacsclient --eval '
    (progn
      (load "/path/to/test-file.el" nil t)
      (ert-run-tests-batch-and-exit "pattern"))'
    

Rules

  • Always use emacsclient, never emacs or emacs --batch.
  • Use --no-wait when opening files so the command returns immediately.
  • Use --eval when evaluating elisp.
  • Always format --eval elisp across multiple lines with proper indentation.
  • Run emacsclient commands via the Bash tool.

Signals

GitHub stars
135
Forks
17
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
emacsclient
Source
github.com/xenodium/emacs-skills