From 24a3b7fe059f3d95d47432c4593993fa5001f18f Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 29 Mar 2026 16:15:05 -0500 Subject: Add C4 architecture diagram skills for Claude Code Two skills for generating C4 model diagrams as draw.io XML: - /c4-analyze: generates diagrams from codebase analysis - /c4-diagram: generates diagrams from conversational description Includes Makefile for symlink-based install to ~/.claude/skills/. Co-Authored-By: Claude Opus 4.6 (1M context) --- Makefile | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e95e876 --- /dev/null +++ b/Makefile @@ -0,0 +1,39 @@ +SKILLS_DIR := $(HOME)/.claude/skills +SKILLS := c4-analyze c4-diagram + +.PHONY: install uninstall list + +install: + @mkdir -p $(SKILLS_DIR) + @for skill in $(SKILLS); do \ + if [ -L "$(SKILLS_DIR)/$$skill" ]; then \ + echo " skip $$skill (already linked)"; \ + elif [ -e "$(SKILLS_DIR)/$$skill" ]; then \ + echo " WARN $$skill exists and is not a symlink — skipping"; \ + else \ + ln -s "$(CURDIR)/$$skill" "$(SKILLS_DIR)/$$skill"; \ + echo " link $$skill → $(SKILLS_DIR)/$$skill"; \ + fi \ + done + @echo "done" + +uninstall: + @for skill in $(SKILLS); do \ + if [ -L "$(SKILLS_DIR)/$$skill" ]; then \ + rm "$(SKILLS_DIR)/$$skill"; \ + echo " rm $$skill"; \ + else \ + echo " skip $$skill (not a symlink)"; \ + fi \ + done + @echo "done" + +list: + @echo "Skills:" + @for skill in $(SKILLS); do \ + if [ -L "$(SKILLS_DIR)/$$skill" ]; then \ + echo " ✓ $$skill (installed)"; \ + else \ + echo " - $$skill"; \ + fi \ + done -- cgit v1.2.3