diff options
| author | Craig Jennings <c@cjennings.net> | 2026-03-29 16:15:05 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-03-29 16:15:05 -0500 |
| commit | 24a3b7fe059f3d95d47432c4593993fa5001f18f (patch) | |
| tree | 69faaa23b15eb275f056fbf6f397b556b332d457 /Makefile | |
| download | rulesets-24a3b7fe059f3d95d47432c4593993fa5001f18f.tar.gz rulesets-24a3b7fe059f3d95d47432c4593993fa5001f18f.zip | |
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) <noreply@anthropic.com>
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 39 |
1 files changed, 39 insertions, 0 deletions
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 |
