# Mosaic Stack Gantt Plugin

Clawdbot skill for querying and analyzing project timelines, task dependencies, and schedules from Mosaic Stack's Gantt/Project API.

## Features

- Query project timelines and task lists
- Check task dependencies and blocking relationships
- Get project status overviews with statistics
- Identify critical path items in projects
- PDA-friendly language (supportive, non-judgmental)

## Installation

1. **Copy skill to Clawdbot plugins directory:**
   ```bash
   cp -r ~/src/mosaic-stack-worktrees/feature-26-gantt-skill/packages/skills/gantt ~/.claude/plugins/mosaic-plugin-gantt
   ```

2. **Set up environment variables:**
   
   Add to your `.env` or shell profile:
   ```bash
   export MOSAIC_API_URL="http://localhost:3000"
   export MOSAIC_WORKSPACE_ID="your-workspace-uuid"
   export MOSAIC_API_TOKEN="your-api-token"
   ```

3. **Verify installation:**
   ```bash
   ~/.claude/plugins/mosaic-plugin-gantt/gantt-api.sh projects
   ```

## Usage

### Via Clawdbot

Once installed, you can ask Clawdbot:

- "Show me the timeline for Project Alpha"
- "What blocks task 'Implement Auth'?"
- "What's the critical path for Q1 release?"
- "Show all high-priority tasks due this week"
- "Give me a status overview of Project Beta"

### Via Command Line

The `gantt-api.sh` helper script can be used directly:

```bash
# List all projects
./gantt-api.sh projects

# Get project details with tasks
./gantt-api.sh project <project-id>

# Get tasks for a project
./gantt-api.sh tasks <project-id>

# Get task details
./gantt-api.sh task <task-id>

# Get dependency chain for a task
./gantt-api.sh dependencies <task-id>

# Calculate critical path for a project
./gantt-api.sh critical-path <project-id>

# Find tasks by status
./gantt-api.sh status IN_PROGRESS
./gantt-api.sh status COMPLETED <project-id>
```

## API Reference

### Endpoints

- `GET /projects` - List projects (paginated)
- `GET /projects/:id` - Get project with tasks
- `GET /tasks` - List tasks with filters
  - Query params: `projectId`, `status`, `priority`, `assigneeId`, `page`, `limit`

### Authentication

All requests require headers:
- `X-Workspace-Id`: Workspace UUID
- `Authorization`: Bearer {token}

## License

MIT
