Skill: mikecourt/project-management-guru-adhd (version 1.0.0)

--- name: project-management-guru-adhd description: Expert project manager for ADHD engineers managing multiple concurrent projects. Specializes in hyperfocus management, context-switching minimization, and parakeet-style gentle reminders. metadata: {"moltbot":{"emoji":"🧠"}} --- # Project Management Guru (ADHD-Specialized) > Original author: [Erich Owens](https://github.com/erichowens/some_claude_skills) | License: MIT > Converted to MoltBot format by Mike Court Expert project manager for ADHD engineers managing multiple concurrent projects ("vibe coding 18 things"). Masters the delicate balance of when to chime in vs. when to let engineers ride their hyperfocus wave. ## When to Use This Skill **Use for:** - Managing ADHD engineers with 10+ concurrent projects - Supporting "vibe coding" and flow state preservation - Minimizing context-switching costs - Providing just-in-time interventions (not micromanagement) - Task prioritization when everything feels urgent - Gentle "parakeet" reminders for critical deadlines - Leveraging hyperfocus superpowers - Preventing burnout from interest-driven overcommitment **NOT for:** - Neurotypical project management (different cognitive needs) - Rigid waterfall processes (too constraining for ADHD) - Constant status meetings (context-switching nightmare) - "Just focus better" advice (neurologically impossible) ## Core Principles ### 1. Hyperfocus: Double-Edged Sword **The Superpower:** 8-12 hour deep work sessions, exceptional quality, creative breakthroughs **The Danger:** Missing deadlines, forgetting self-care, tunnel vision on low-priority work **Management Rules:** - NEVER interrupt if < 6 hours into hyperfocus AND no urgent deadline - GENTLE check-in at 6 hours: "Have you eaten/hydrated?" - FIRM interrupt at 10 hours: Mandatory 30-min break - Post-hyperfocus: Expect 2-3 hours recovery, no meetings > For implementation code and detection systems, see `{baseDir}/references/hyperfocus-management.md` ### 2. Context Switching: The ADHD Tax **The Problem:** - Neurotypical: 1 switch = 15 min lost - ADHD: 1 switch = 30-45 min lost - 5 switches/day = 2.5-3.75 hours lost **Minimization Protocol:** - Batch meetings (Tue/Thu only, 1-4pm) - Leave Mon/Wed/Fri meeting-free - No meetings before 11am (prime hyperfocus) - Max 2 deliberate context switches per day - "Quick 15min syncs" → async Loom videos > For tracker implementation, see `{baseDir}/references/context-switching.md` ### 3. Parakeet Reminders: Gentle Nudges **Philosophy:** ADHD brains are terrible at time awareness. Need external memory, not nagging. **The Parakeet Approach:** - Gentle, friendly, non-judgmental - Frequent small reminders > one big reminder - Visual + auditory cues - Gamified/positive framing **Urgency Levels:** | Time Left | Urgency | Tone | |-----------|---------|------| | 1+ week | FYI | "Just keeping it on your radar" | | 3-7 days | Upcoming | "Good time to start thinking about it" | | 1-3 days | Soon | "Would you like to time-box this?" | | Under 24 hours | Urgent | "Do you need help/unblocking?" | | Under 4 hours | CRITICAL | "Dropping everything to help you" | > For implementation, see `{baseDir}/references/parakeet-reminders.md` ### 4. Task Chunking for ADHD Brains **The Problem:** Large tasks → overwhelm → procrastination **The Solution:** Micro-tasks with immediate feedback **Bad Task:** "Implement user authentication system" - No clear starting point, feels overwhelming **Good Breakdown:** 1. [15 min] Research auth libraries 2. [30 min] Set up User model 3. [45 min] Create login/logout routes 4. [30 min] Add session management 5. [20 min] Write tests 6. [DOPAMINE HIT] Deploy and test **Rules:** - Each chunk < 1 hour - Clear success criteria - Visible progress after each chunk - Group into 3-hour hyperfocus sessions max > For task chunker code, see `{baseDir}/references/task-chunking.md` ## Anti-Patterns ### "Just-Focus-Harder" Management **What it looks like:** Telling ADHD engineers to "try harder" or "be more disciplined" **Why it's wrong:** ADHD is neurological, not motivational. This is like telling someone with poor eyesight to "just see better." **Instead:** Provide external structure, reminders, and accommodations ### Meeting Sprawl **What it looks like:** Daily standups, ad-hoc sync calls, scattered 15-min meetings **Why it's wrong:** Each meeting = context switch = 30-45 min productivity loss **Instead:** Batch to 2 days/week, use async updates, protect deep work blocks ### Deadline Dump **What it looks like:** Giving all deadlines at once, expecting self-tracking **Why it's wrong:** Out of sight = out of mind. ADHD brains need external reminders **Instead:** Progressive disclosure with parakeet-style escalating reminders ### Shame-Based Accountability **What it looks like:** Calling out missed deadlines publicly, tracking "failures" **Why it's wrong:** Triggers rejection sensitivity dysphoria (RSD), spirals into avoidance **Instead:** Private, compassionate check-ins focused on unblocking ## Best Practices ### DO: - Batch meetings to preserve deep work blocks - Send gentle reminders early and often - Celebrate hyperfocus achievements publicly - Provide clear, chunked tasks with visible progress - Allow flexible hours (ADHD sleep schedules vary) - Use visual/gamified tracking - Build in recovery time after hyperfocus ### DON'T: - Schedule surprise meetings - Say "just focus" or "try harder" - Enforce rigid 9-5 hours - Punish for forgetting deadlines - Micromanage - Interrupt hyperfocus unnecessarily - Compare to neurotypical productivity ## Related Skills - **wisdom-accountability-coach**: Broader accountability patterns - **adhd-daily-planner**: Day-level planning within projects ## References **ADHD & Productivity:** - Barkley (2015): "Attention-Deficit Hyperactivity Disorder" (4th ed) - Hallowell & Ratey (2021): "ADHD 2.0" **Context Switching:** - Leroy (2009): "Why Is It So Hard to Do My Work?" - Mark et al. (2008): "The Cost of Interrupted Work" **Hyperfocus:** - Ashinoff & Abu-Akel (2021): "Hyperfocus: The Forgotten Frontier of Attention"

path: references/task-chunking.md
content: # Task Chunking for ADHD Brains

## The Problem

- Large tasks feel overwhelming → procrastination
- ADHD brains need quick wins for dopamine
- Unclear scope → analysis paralysis

## The Solution: Micro-tasks with Immediate Feedback

```yaml
# Task Chunking Protocol

Bad Task (too vague):
  "Implement user authentication system"

  Problems:
    - No clear starting point
    - Feels overwhelming
    - Success undefined

Good Task Breakdown:
  1. [15 min] Research auth libraries (Devise vs custom JWT)
  2. [30 min] Set up User model with password_digest
  3. [45 min] Create login/logout routes
  4. [30 min] Add session management
  5. [20 min] Write tests for auth flow
  6. [DOPAMINE HIT] Deploy to staging and test manually

  Benefits:
    - Each task < 1 hour (maintains focus)
    - Clear success criteria
    - Frequent completion dopamine
    - Can hyperfocus on single chunk

Visual Progress:
  Use task board with:
    - Big visible progress bar
    - Celebration animations on completion
    - Streak tracking ("5 tasks in a row!")
    - Level-up system (gamification)
```

## Implementation: ADHD Task Chunker

```python
class ADHDTaskChunker:
    MAX_CHUNK_DURATION = 60  # minutes
    MIN_CHUNK_DURATION = 10  # minutes

    @staticmethod
    def chunk_task(task_description: str, estimated_hours: float) -> list[dict]:
        """Break large task into ADHD-friendly chunks"""

        if estimated_hours <= 1:
            return [{
                'name': task_description,
                'duration_min': int(estimated_hours * 60),
                'dopamine_reward': '🎉'
            }]

        # For larger tasks, decompose
        chunks = []
        total_minutes = int(estimated_hours * 60)

        # Rule: Each chunk should build toward visible progress
        phases = [
            ('Research & Planning', 0.15),  # 15% of time
            ('Setup & Scaffolding', 0.20),  # 20%
            ('Core Implementation', 0.40),  # 40%
            ('Polish & Edge Cases', 0.15),  # 15%
            ('Testing & Documentation', 0.10)  # 10%
        ]

        for phase_name, phase_ratio in phases:
            phase_duration = int(total_minutes * phase_ratio)

            # Break phase into 30-45min chunks
            num_chunks = max(1, phase_duration // 40)
            chunk_duration = phase_duration // num_chunks

            for i in range(num_chunks):
                chunks.append({
                    'name': f"{task_description} - {phase_name} ({i+1}/{num_chunks})",
                    'duration_min': chunk_duration,
                    'phase': phase_name,
                    'dopamine_reward': '✅' if i == num_chunks - 1 else '⏭️'
                })

        return chunks

    @staticmethod
    def optimize_for_hyperfocus(chunks: list[dict]) -> dict:
        """Group chunks into hyperfocus-friendly sessions"""

        sessions = []
        current_session = []
        session_duration = 0

        for chunk in chunks:
            # If adding this chunk exceeds 3 hours, start new session
            if session_duration + chunk['duration_min'] > 180:
                sessions.append({
                    'chunks': current_session,
                    'total_duration': session_duration,
                    'break_after': True
                })
                current_session = []
                session_duration = 0

            current_session.append(chunk)
            session_duration += chunk['duration_min']

        # Add final session
        if current_session:
            sessions.append({
                'chunks': current_session,
                'total_duration': session_duration,
                'break_after': True
            })

        return {'sessions': sessions, 'estimated_days': len(sessions) // 2}
```

## Usage Example

```python
# Usage
task = "Build user authentication system"
chunks = ADHDTaskChunker.chunk_task(task, estimated_hours=8)
plan = ADHDTaskChunker.optimize_for_hyperfocus(chunks)

print(f"📋 Task Plan for: {task}")
for i, session in enumerate(plan['sessions'], 1):
    print(f"\n🔥 Hyperfocus Session {i} (~{session['total_duration']}min):")
    for chunk in session['chunks']:
        print(f"  {chunk['dopamine_reward']} {chunk['name']} ({chunk['duration_min']}min)")
    if session['break_after']:
        print("  ☕ MANDATORY BREAK")
```

## Output Example

```
📋 Task Plan for: Build user authentication system

🔥 Hyperfocus Session 1 (~168min):
  ⏭️ Build user authentication system - Research & Planning (1/1) (72min)
  ⏭️ Build user authentication system - Setup & Scaffolding (1/2) (48min)
  ✅ Build user authentication system - Setup & Scaffolding (2/2) (48min)
  ☕ MANDATORY BREAK

🔥 Hyperfocus Session 2 (~168min):
  ⏭️ Build user authentication system - Core Implementation (1/4) (48min)
  ⏭️ Build user authentication system - Core Implementation (2/4) (48min)
  ⏭️ Build user authentication system - Core Implementation (3/4) (48min)
  ☕ MANDATORY BREAK

🔥 Hyperfocus Session 3 (~120min):
  ✅ Build user authentication system - Core Implementation (4/4) (48min)
  ✅ Build user authentication system - Polish & Edge Cases (1/1) (72min)
  ☕ MANDATORY BREAK

🔥 Hyperfocus Session 4 (~48min):
  ✅ Build user authentication system - Testing & Documentation (1/1) (48min)
  ☕ MANDATORY BREAK
```

## Visual Progress Board

```
┌────────────────────────────────────────────────────────────┐
│ 🎯 USER AUTH SYSTEM                        Progress: 62%   │
│ ████████████████████░░░░░░░░░░░░                          │
│                                                            │
│ Session 1 ✅  Session 2 ✅  Session 3 🔄  Session 4 ⏳     │
│                                                            │
│ Current: Core Implementation (3/4)                         │
│ Time remaining: ~48min                                     │
│                                                            │
│ 🔥 Streak: 5 chunks completed!                            │
│ 💪 Energy: ████████░░ 80%                                 │
└────────────────────────────────────────────────────────────┘
```


path: references/hyperfocus-management.md
content: # Hyperfocus Management

## Detection & Intervention Protocol

```yaml
# Hyperfocus Management Protocol

Detection:
  - Engineer hasn't responded in 4+ hours
  - Active commits/PRs on single feature
  - Slack status: "Do Not Disturb" or custom status
  - Calendar blocks marked "Deep Work"

Intervention Rules:
  NEVER interrupt if:
    - < 6 hours into hyperfocus
    - Working on critical path item
    - Deadline not within 24 hours
    - No urgent blocking dependencies

  GENTLE check-in at 6 hours:
    - Slack DM: "Hey! Just checking - have you eaten/hydrated? No rush to reply."
    - Don't expect immediate response
    - Respect the flow

  FIRM interrupt at 10 hours:
    - Physical visit (if co-located) or video call
    - "I need you to take a 30min break. Non-negotiable."
    - Provide specific break activity (walk, snack, shower)
    - Set timer for return

Post-Hyperfocus Recovery:
  - Expect 2-3 hours of low productivity after
  - Don't schedule meetings immediately after
  - Allow flexible end-of-day if hyperfocus started late
  - Celebrate the achievement (positive reinforcement)
```

## Implementation: Hyperfocus Monitor

```python
from datetime import datetime, timedelta
from typing import Optional

class HyperfocusMonitor:
    def __init__(self, engineer_name: str):
        self.engineer = engineer_name
        self.last_activity = None
        self.hyperfocus_start = None
        self.notifications_sent = []

    def log_activity(self, activity_type: str):
        """Track engineer activity (commits, Slack, etc.)"""
        now = datetime.now()

        if self.last_activity and (now - self.last_activity) < timedelta(minutes=10):
            # Continuous activity detected
            if not self.hyperfocus_start:
                self.hyperfocus_start = self.last_activity
                print(f"✨ {self.engineer} entered hyperfocus state")
        else:
            # Break in activity
            if self.hyperfocus_start:
                duration = now - self.hyperfocus_start
                print(f"🎉 {self.engineer} completed {duration.total_seconds()/3600:.1f}h hyperfocus session")
                self.hyperfocus_start = None
                self.notifications_sent = []

        self.last_activity = now

    def check_interventions(self) -> Optional[str]:
        """Determine if intervention is needed"""
        if not self.hyperfocus_start:
            return None

        duration = datetime.now() - self.hyperfocus_start
        hours = duration.total_seconds() / 3600

        # 6 hour gentle check-in
        if hours >= 6 and "6h_checkin" not in self.notifications_sent:
            self.notifications_sent.append("6h_checkin")
            return "gentle_checkin"

        # 10 hour firm break
        if hours >= 10 and "10h_break" not in self.notifications_sent:
            self.notifications_sent.append("10h_break")
            return "mandatory_break"

        return None

    def send_gentle_checkin(self):
        """Send non-intrusive reminder"""
        message = (
            f"Hey {self.engineer}! 👋\n\n"
            "You've been in the zone for 6+ hours - amazing work! 🚀\n\n"
            "Quick reminder to:\n"
            "- Hydrate 💧\n"
            "- Grab a snack 🍎\n"
            "- Stretch for 2 min 🧘\n\n"
            "No rush to reply - just take care of yourself!\n\n"
            "- Your friendly PM parakeet 🦜"
        )
        send_slack_dm(self.engineer, message, urgent=False)

    def send_mandatory_break(self):
        """Firm intervention after 10 hours"""
        message = (
            f"🛑 MANDATORY BREAK TIME 🛑\n\n"
            f"{self.engineer}, you've been hyperfocused for 10+ hours.\n\n"
            "I need you to:\n"
            "1. Stand up right now\n"
            "2. Take a 30-minute break\n"
            "3. Eat something substantial\n"
            "4. Walk around outside if possible\n\n"
            "Set a timer. I'll check back in 30 min.\n\n"
            "This is non-negotiable - doctor's orders! 👩‍⚕️"
        )
        send_slack_dm(self.engineer, message, urgent=True)
        schedule_followup_checkin(30 * 60)  # 30 minutes
```

## Integration Points

- **Slack Bot**: Monitor activity, DND status
- **GitHub Webhooks**: Track commit frequency
- **Calendar API**: Detect "Deep Work" blocks
- **Time Tracking**: Optional Toggl/Clockify integration


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)