Claude Code has unified commands into skills with the user-invocable frontmatter field. This migration: - Converts 20 commands to skills with user-invocable: true - Consolidates docs into single writing-capabilities.md - Rewrites capability-writing skill for unified model - Updates CLAUDE.md, Makefile, and other references - Removes commands/ directory Skills now have two types: - user-invocable: true - workflows users trigger with /name - user-invocable: false - background knowledge auto-loaded Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
55 lines
1.5 KiB
Makefile
55 lines
1.5 KiB
Makefile
.PHONY: install uninstall status
|
|
|
|
CLAUDE_DIR := $(HOME)/.claude
|
|
REPO_DIR := $(shell pwd)
|
|
|
|
# Items to symlink
|
|
ITEMS := scripts skills agents settings.json
|
|
|
|
install:
|
|
@echo "Installing Claude Code config symlinks..."
|
|
@mkdir -p $(CLAUDE_DIR)
|
|
@for item in $(ITEMS); do \
|
|
if [ -e "$(REPO_DIR)/$$item" ]; then \
|
|
if [ -L "$(CLAUDE_DIR)/$$item" ]; then \
|
|
echo " $$item: already symlinked"; \
|
|
elif [ -e "$(CLAUDE_DIR)/$$item" ]; then \
|
|
echo " $$item: backing up existing to $$item.bak"; \
|
|
mv "$(CLAUDE_DIR)/$$item" "$(CLAUDE_DIR)/$$item.bak"; \
|
|
ln -s "$(REPO_DIR)/$$item" "$(CLAUDE_DIR)/$$item"; \
|
|
echo " $$item: symlinked"; \
|
|
else \
|
|
ln -s "$(REPO_DIR)/$$item" "$(CLAUDE_DIR)/$$item"; \
|
|
echo " $$item: symlinked"; \
|
|
fi \
|
|
fi \
|
|
done
|
|
@echo "Done! Restart Claude Code to apply changes."
|
|
|
|
uninstall:
|
|
@echo "Removing Claude Code config symlinks..."
|
|
@for item in $(ITEMS); do \
|
|
if [ -L "$(CLAUDE_DIR)/$$item" ]; then \
|
|
rm "$(CLAUDE_DIR)/$$item"; \
|
|
echo " $$item: removed symlink"; \
|
|
if [ -e "$(CLAUDE_DIR)/$$item.bak" ]; then \
|
|
mv "$(CLAUDE_DIR)/$$item.bak" "$(CLAUDE_DIR)/$$item"; \
|
|
echo " $$item: restored backup"; \
|
|
fi \
|
|
fi \
|
|
done
|
|
@echo "Done!"
|
|
|
|
status:
|
|
@echo "Claude Code config status:"
|
|
@for item in $(ITEMS); do \
|
|
if [ -L "$(CLAUDE_DIR)/$$item" ]; then \
|
|
target=$$(readlink "$(CLAUDE_DIR)/$$item"); \
|
|
echo " $$item: symlink -> $$target"; \
|
|
elif [ -e "$(CLAUDE_DIR)/$$item" ]; then \
|
|
echo " $$item: exists (not symlinked)"; \
|
|
else \
|
|
echo " $$item: not found"; \
|
|
fi \
|
|
done
|