Session Overview
Sam is setting up scheduled remote sessions for Claude Code to run automated routines against aguiarinjurylawyers.com. The goal is to offload recurring technical SEO and content operations work to scheduled jobs so Sam does not have to remember to run them.
The session started with Sam asking whether Claude Code has access to the same skill library that Cowork does. Answer: no, they are separate environments with separate skill directories. That led to the real task: designing and building a GitHub environment, skill library, and routine catalog that Claude Code can run on a schedule.
Key decisions made early:
- Sam answered three architecture questions: runtime split across GitHub + Mac + Claude remote, full autonomous operation, repo structure depends on the nature of each routine.
- Sam instructed: "i need more than 3. if you don't want to build 16, you do not have to. but you have subagents you can spawn."
- Sam confirmed he has all the necessary credentials and APIs.
What Was Accomplished
Built a complete repo scaffolding at /home/claude/routines-build/ with production-ready infrastructure and the first 3 of 16 planned routines fully wired end to end.
Top-level documentation
- README.md: full architecture explanation. Three-runtime split (GitHub Actions for pure API work, Claude Code remote for judgment-heavy work, local Mac for work needing local access), complete schedule table covering all 16 routines, context discipline pattern, output flow.
- SETUP.md: one-time configuration guide. GitHub repository setup, all GitHub Secrets with exact names and values (WP credentials, GSC service account JSON, SEMrush, PageSpeed, Notion), service account creation for GSC, local Mac launchd setup, Claude Code remote session configuration, Notion database schemas for KB and Reminders, kill switch commands for all three runtimes.
- CLAUDE.md (project-level): base context that every routine inherits. Hard firm rules (banned words, no em dashes, no italics on headers, no emojis), brand colors, typography rules, credentials locations, state persistence expectations.
Architecture decisions baked into the structure
- Each routine gets its own minimal CLAUDE.md that loads ONLY the skills it needs (firm-briefing as base layer plus 1-3 task-specific skills). This prevents any single routine from consuming the full skill library budget.
- State files in state/*.json persist run-to-run data for diffing.
- Outputs land in outputs/YYYY-MM-DD/{routine-name}.md and auto-sync to Notion.
- All routines funnel through a unified notion_logger.py for consistency.
- Issues auto-create Notion reminder entries tagged by severity.
Shared scripts library (all built, all working)