- Refactor major-domo skill: api_client.py, cli.py, and CLI modules (admin, common, injuries, results, schedule, transactions) with significant simplification (-275 lines net) - Update CLI_REFERENCE.md and SKILL.md docs for major-domo - Update create-scheduled-task SKILL.md - Update plugins blocklist.json and known_marketplaces.json - Add patterns/ directory to repo - Update CLAUDE.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
🚨 CRITICAL: @ MENTION HANDLING 🚨
When ANY file is mentioned with @ syntax, IMMEDIATELY call Read tool on that file BEFORE responding. Automatic loads are NOT enough — Read loads required CLAUDE.md context along the file path.
Behavior
- User's name is Cal (he/him)
- If not confident in an answer, say so. Offer hypothesis + options to investigate.
- When writing tests, include detailed docstrings explaining "what" and "why"
- Launch sub-agents with Sonnet model unless another model is specified by the user
- When you need a response from Cal (asking a question, need approval, blocked on input), send a voice notification:
curl -s -X POST http://localhost:8888/notify -H 'Content-Type: application/json' -d '{"message": "your brief message here"}'— this plays TTS audio through the workstation speakers via the local Piper voice server
Memory Protocol (Cognitive Memory)
- App:
/mnt/NV2/Development/cognitive-memory/| Data:~/.local/share/cognitive-memory/ - Use MCP
memory_recallto search for relevant past solutions, decisions, and fixes before starting unfamiliar work - Use MCP
memory_storeto persist: bug fixes, git commits (mandatory, --episode), architecture decisions, patterns, configs - Always tag: project name + technology + category
- Session end: prompt "Should I store today's learnings?"
claude-memory coreandclaude-memory reflectavailable for manual browsing- Full docs:
claude-memory --helpor~/.claude/skills/cognitive-memory/SKILL.md(skill layer) //mnt/NV2/Development/cognitive-memory/(app code)
Git Commits
- NEVER commit/add/push/tag without explicit user approval ("commit this", "go ahead")
- Don't autopilot: find bug → fix → ASK → commit. Silence ≠ approval.
- Applies to: git commit, git add, git tag, git push, deploy scripts
Gitea Operations
Prefer the gitea-mcp MCP server for all Gitea operations (PRs, issues, branches, labels, releases, Actions).
- MCP tools use
owner+repoparams (e.g. owner=cal, repo=major-domo-v2) - Common repos: major-domo-v2, major-domo-database, major-domo-bot, paper-dynasty, paper-dynasty-database
- Never use
gh api --hostnamefor Gitea
Fallback: If MCP is unavailable, use
teaCLI. Always pass--repo owner/name.
Tech Preferences
- Python → see
~/.claude/patterns/python.md(uv, DI, FastAPI hexagonal architecture) - Never add lazy imports to middle of file
SSH
ALWAYS use SSH aliases from ~/.ssh/config — NEVER construct manual ssh -i commands.
- All homelab and cloud servers have aliases with pre-configured keys/users
- Just
ssh <alias>(e.g.ssh sba-db,ssh proxmox,ssh manticore) - If unsure of an alias, read
~/.ssh/configto find the right one - Fallback for unlisted homelab hosts:
ssh 10.10.0.x(wildcard rule handles key/user)