Commit 5801587f02ab

Vincent Demeester <vincent@sbr.pm>
2026-03-26 16:58:23
feat(dots): add emacs-skills from xenodium
Added Makefile target to clone and symlink xenodium/emacs-skills into the shared skills directory. Clones to ~/.local/share on first run, updates via git pull on subsequent runs. Both Claude Code and pi pick up the skills automatically.
1 parent d5c2bce
Changed files (2)
dots
config
claude
dots/config/claude/skills/.gitignore
@@ -0,0 +1,12 @@
+# emacs-skills (managed by `make emacs-skills`, cloned to ~/.local/share/emacs-skills)
+d2
+describe
+dired
+emacsclient
+file-links
+gnuplot
+highlight
+mermaid
+open
+plantuml
+select
dots/Makefile
@@ -67,6 +67,30 @@ pi-agent-auth : pi-agent
 	fi
 	@ln -snf ~/.local/share/ai-sync/pi-sessions ~/.pi/agent/sessions
 
+##@ Emacs Skills (xenodium/emacs-skills)
+
+EMACS_SKILLS_REPO := https://github.com/xenodium/emacs-skills.git
+EMACS_SKILLS_DIR := $(HOME)/.local/share/emacs-skills
+EMACS_SKILLS := d2 describe dired emacsclient file-links gnuplot highlight mermaid open plantuml select
+
+all += emacs-skills
+emacs-skills : claude-skills
+	@if [ ! -d "$(EMACS_SKILLS_DIR)/.git" ]; then \
+		echo "๐Ÿ“ฆ Cloning emacs-skills..."; \
+		git clone --quiet $(EMACS_SKILLS_REPO) $(EMACS_SKILLS_DIR); \
+	else \
+		echo "๐Ÿ”„ Updating emacs-skills..."; \
+		git -C $(EMACS_SKILLS_DIR) pull --quiet --ff-only 2>/dev/null || \
+			echo "  โš ๏ธ  Could not fast-forward, skipping update"; \
+	fi
+	@for skill in $(EMACS_SKILLS); do \
+		if [ -d "$(EMACS_SKILLS_DIR)/skills/$$skill" ]; then \
+			ln -snf "$(EMACS_SKILLS_DIR)/skills/$$skill" "$(dotfiles)/config/claude/skills/$$skill"; \
+			echo "  โ†’ $$skill"; \
+		fi; \
+	done
+	@echo "โœ… Emacs skills installed!"
+
 ##@ AI Shared Config
 
 all += agent-skills agent-skill-manager-bin ai-config