Claude Code's Bash permission checker rejects \${VAR} parameter
substitution in skill ! commands. Replace all occurrences with \$VAR
(identical shell expansion) across log, reflect-logs, and
distill-best-practices skills. Rewrite \${VAR:-default} to use
test -n / || pattern instead.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Skills used absolute paths (~/dev/claude/projects/claude-foundations/...)
which get blocked by Claude Code's sandbox when running from other projects.
Changed to relative paths (../claude-foundations/) with local-first fallback
and inline defaults so skills work regardless of sandbox restrictions.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Matches the move of best-practices/INDEX.md to BESTPRACTICES.md in
claude-foundations root for context-load auto-discovery.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- /log: end-of-session capture of decisions, gotchas, open questions to memory/log/
- /reflect-logs: processes session logs into topic memory files with staleness detection
- /distill-best-practices: cross-project best practices extraction with interactive proposals
- README.md: updated skill table with all three new skills
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The !`command` blocks in SKILL.md go through Claude Code's Bash permission
checker, which rejects $() command substitution. Simplified the git log
command, replaced dynamic verify script path with a Read tool instruction,
and narrowed allowed-tools to specific command patterns. Also documented
the constraints in CLAUDE.md for future skill development.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reusable Claude Code skills shared across projects via symlinks
into ~/.claude/skills/. Includes the /reflect skill for structured
milestone reflections.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>