personal memory agent
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor(makefile): move skills install target to journal/.{claude,agents}/skills

Point skill installation at the journal-scoped agent directories, clean up the
legacy repo-root skill dirs, and keep reruns idempotent without rewriting
unchanged symlinks.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

+17 -6
+17 -6
Makefile
··· 61 61 echo ""; \ 62 62 echo "Done! (worktree detected, skipping ~/.local/bin/sol symlink)"; \ 63 63 fi 64 - @$(MAKE) --no-print-directory skills 65 64 @if [ -d .git ] && [ -f skills/solstone/SKILL.md ]; then \ 66 65 echo "Installing solstone skill user-wide..."; \ 67 66 npx skills add ./skills/solstone -g -a claude-code -y; \ ··· 73 72 $(UV) lock 74 73 75 74 # Install package in editable mode with isolated venv 76 - install: .installed 75 + install: skills .installed 77 76 78 77 # Directories where AI coding agents look for skills 79 - SKILL_DIRS := .agents/skills .claude/skills 78 + SKILL_DIRS := journal/.agents/skills journal/.claude/skills 80 79 81 80 # Discover SKILL.md files in talent/ and apps/*/talent/, symlink into agent skill dirs 82 81 skills: 82 + @rm -rf .agents/skills .claude/skills 83 83 @# Collect all skill directories (containing SKILL.md) 84 84 @SKILLS=""; \ 85 85 for skill_md in talent/*/SKILL.md apps/*/talent/*/SKILL.md; do \ ··· 96 96 for dir in $(SKILL_DIRS); do \ 97 97 mkdir -p "$$dir"; \ 98 98 for link in "$$dir"/*; do \ 99 - [ -L "$$link" ] && rm -f "$$link"; \ 99 + ([ -e "$$link" ] || [ -L "$$link" ]) || continue; \ 100 + skill_name=$$(basename "$$link"); \ 101 + if ! echo "$$SKILLS" | grep -qw "$$skill_name"; then \ 102 + rm -rf "$$link"; \ 103 + fi; \ 100 104 done; \ 101 105 done; \ 102 106 count=0; \ ··· 105 109 skill_dir=$$(dirname "$$skill_md"); \ 106 110 skill_name=$$(basename "$$skill_dir"); \ 107 111 for dir in $(SKILL_DIRS); do \ 108 - ln -sf "../../$$skill_dir" "$$dir/$$skill_name"; \ 112 + target="../../../$$skill_dir"; \ 113 + link="$$dir/$$skill_name"; \ 114 + if [ -L "$$link" ] && [ "$$(readlink "$$link")" = "$$target" ]; then \ 115 + :; \ 116 + else \ 117 + rm -rf "$$link"; \ 118 + ln -s "$$target" "$$link"; \ 119 + fi; \ 109 120 done; \ 110 121 count=$$((count + 1)); \ 111 122 done; \ ··· 369 380 @echo "Cleaning build artifacts and cache files..." 370 381 rm -rf build/ dist/ *.egg-info/ 371 382 rm -rf .pytest_cache/ .coverage .mypy_cache/ 372 - rm -rf .agents/ .claude/ 383 + rm -rf journal/.agents/ journal/.claude/ 373 384 find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true 374 385 find . -type f -name "*.pyc" -delete 375 386 find . -type f -name "*.pyo" -delete