Files
full-focus/README.md
2025-12-12 17:01:00 -05:00

263 lines
6.5 KiB
Markdown

# Full Focus Planning System
A command-line automation system for daily, weekly, and evening planning using the Full Focus method. Integrates with Notion for task management, calendar data for scheduling, and Obsidian for note-taking.
## Overview
This system helps you plan your work using the Full Focus journal method with three core commands:
- **Daily planning** - Generate today's priorities, blockers, and focus tasks
- **Evening prep** - Prepare tomorrow's agenda and suggested tasks
- **Weekly planning** - Create weekly priorities and key tasks
The system follows a priority hierarchy:
1. **Never block others** - Tasks with people waiting on you
2. **Respect deadlines** - Time-sensitive commitments
3. **Maintain momentum** - Weekly focus projects
## Prerequisites
- [Claude Code](https://code.claude.com) - AI-powered CLI tool
- [Obsidian](https://obsidian.md) - Note-taking application (optional, for viewing notes)
- Notion workspace with:
- Projects database
- Task Tracker database
- Calendar data exported as JSON files
## Installation
1. **Clone the repository:**
```bash
git clone git@github.com:stegel/full-focus.git
cd full-focus
```
2. **Make the CLI script executable:**
```bash
chmod +x full-focus.sh
```
3. **Add to your PATH:**
Add this line to your `~/.zshrc` or `~/.bashrc`:
```bash
alias full-focus="/path/to/full-focus/full-focus.sh"
```
Then reload:
```bash
source ~/.zshrc
```
## Configuration
### 1. Update CLAUDE.md
Edit `CLAUDE.md` to set your data source paths:
- Calendar JSON location (default: `~/OneDrive - ServiceNow/BoxData/CalendarEvents_YYYYMMDD.json`)
- Projects JSON location
- Tasks JSON location
### 2. Configure Notion MCP
Set up the [Notion MCP server](https://github.com/anthropics/mcp-servers) in your Claude Code settings to access your Notion databases.
### 3. Data Sources
The system expects these data files:
**Calendar Events:**
```json
{
"body": [
{
"subject": "Meeting Title",
"startET": "09:00 AM",
"endET": "10:00 AM",
"organizer": "Name",
"duration": "1 hour"
}
]
}
```
**Projects:**
```json
{
"body": [
{
"name": "Project Name",
"status": "Active",
"focusThisWeek": true,
"weeklyGoal": "Goal description",
"type": "Project",
"dueDate": "2025-12-31"
}
]
}
```
**Tasks:**
```json
{
"body": [
{
"name": "Task Name",
"status": "Not started",
"blocking": ["Person 1", "Person 2"],
"dueDate": "2025-12-31",
"suggestedForToday": "2025-12-12",
"priority": "High",
"effort": "1 hour",
"energyType": "Deep Work",
"project": "project-id"
}
]
}
```
## Usage
### Daily Planning
Generate today's daily plan with priorities, blockers, and focus tasks:
```bash
full-focus daily
```
Creates a note: `Daily Notes/Daily Note - YYYY-MM-DD.md`
### Evening Preparation
Prepare tomorrow's plan with agenda and suggested tasks:
```bash
full-focus evening
```
Creates a note for tomorrow with:
- Calendar agenda with time blocks
- Unscheduled time calculation
- Suggested tasks (blocking + deadlines)
### Weekly Planning
Create your weekly plan with priorities and key tasks:
```bash
full-focus weekly
```
Creates a note: `Weekly Notes/Weekly Note - Month Day, Year.md`
Includes:
- Top 3 focus projects for the week
- Key tasks due this week
- Suggested reading based on available time
## Slash Commands
The system includes these Claude Code slash commands (usable interactively):
- `/daily-template` - Generate daily plan
- `/evening-prep` - Prepare tomorrow's plan
- `/weekly-template` - Create weekly plan
- `/reading-suggestions` - Get reading recommendations
## Automation
Schedule automatic planning with cron:
```bash
# Edit crontab
crontab -e
# Add these lines:
# Daily plan at 8 AM on weekdays
0 8 * * 1-5 /path/to/full-focus.sh daily
# Evening prep at 5 PM on weekdays
0 17 * * 1-5 /path/to/full-focus.sh evening
# Weekly plan at 8 PM on Sundays
0 20 * * 0 /path/to/full-focus.sh weekly
```
## Features
- **Priority-based task suggestions** - Automatically surfaces blocking tasks and deadlines
- **Time-aware planning** - Calculates available time blocks between meetings
- **Smart reading recommendations** - Matches article length to available time gaps
- **Weekly focus tracking** - Highlights projects flagged for this week
- **Obsidian integration** - Creates linked notes with table of contents
- **Non-interactive execution** - Runs completely headless for automation
## Project Structure
```
full-focus/
├── .claude/
│ └── commands/ # Slash command definitions
│ ├── daily-template.md
│ ├── evening-prep.md
│ ├── weekly-template.md
│ └── reading-suggestions.md
├── Daily Notes/ # Generated daily plans (gitignored)
├── Weekly Notes/ # Generated weekly plans (gitignored)
├── full-focus.sh # CLI wrapper script
├── CLAUDE.md # Project instructions for Claude
├── INSTRUCTIONS.md # Additional documentation
└── README.md # This file
```
## Customization
### Modify Planning Templates
Edit the files in `.claude/commands/` to customize:
- What data is included in plans
- Formatting and structure
- Additional sections or queries
### Adjust Work Hours
Update in `CLAUDE.md`:
```markdown
* My work day is 9:00 AM - 5:30 PM ET
```
### Change Priority Hierarchy
Modify the priority rules in `CLAUDE.md`:
```markdown
* AJ's priority hierarchy: (1) Never block others, (2) Respect deadlines, (3) Maintain momentum
```
## Troubleshooting
**Permission errors:**
The script uses `--permission-mode bypassPermissions` to run non-interactively. If you want manual approval, edit `full-focus.sh` and change to `--permission-mode acceptEdits`.
**Calendar not found:**
Ensure your calendar JSON files are in the correct location and use the naming format: `CalendarEvents_YYYYMMDD.json`
**Notion data not loading:**
Verify the Notion MCP server is configured in your Claude Code settings and you have access to the databases.
## Contributing
This is a personal planning system, but feel free to:
1. Fork the repository
2. Customize for your workflow
3. Share improvements via issues or pull requests
## License
MIT License - Feel free to use and modify for your own planning needs.
## Acknowledgments
- Built with [Claude Code](https://code.claude.com)
- Uses the Full Focus Planner methodology
- Integrates with [Notion](https://notion.so) and [Obsidian](https://obsidian.md)