# project-timeline-site-creator CoWork skill — provisions MPM Agile Dashboard project timelines and exports Gantt chart images for SOW embedding. **Version:** 1.0.0 **Author:** Bryan Gilliom **Repo:** https://git.mpm.to/mpm/project-timeline-site-creator **CoWork Project:** CW-017 — project-timeline-site-creator --- ## Overview `project-timeline-site-creator` is a CoWork skill that provisions a live project timeline instance in the MPM Agile Dashboard (`agile.apps.mpmedia.tv`) and exports four PNG Gantt/timeline chart images sized for embedding in a Statement of Work document. It operates in two modes: **programmatic** (called by the larger SOW generator skill with a full project context object, no questions asked) and **interactive** (called manually by a PM, runs a structured 6–8 question interview to collect project details before provisioning). Phase structures, durations, and scaling rules are driven by an externally editable Markdown template file (`MPM_Timeline_Templates.md`) stored in the PM 2.0 Resources folder on Google Drive, allowing the PM team to maintain templates without touching skill code. --- ## Skills | Skill | What It Does | |---|---| | `project-timeline-site-creator` | Provisions a new Agile Dashboard project timeline (or updates an existing one for change orders), applies project-type templates and variant modifiers, exports four chart PNGs (timeline, gantt, milestone, phase_table), captures a version snapshot, and returns shareable team and customer URLs. Trigger phrases: "create the Gantt chart", "set up the project timeline", "provision the dashboard", "generate the timeline for [customer]", "create timeline", "build the project schedule". Also triggered programmatically by the SOW generator skill via `project_context` object. | --- ## Tools Reference This is a skill-only project — no MCP server component. The skill orchestrates calls to two external MCP servers: | MCP Server | Tools Used | |---|---| | **agile-dashboard** (`agile.apps.mpmedia.tv/mcp`) | `list_projects`, `get_project`, `create_project`, `update_project`, `list_phases`, `create_phase`, `update_phase`, `delete_phase`, `list_milestones`, `create_milestone`, `update_milestone`, `delete_milestone`, `get_settings`, `set_setting`, `export_image`, `list_versions`, `get_version`, `get_subsite_url` | | **Google Workspace MCP** | `get_drive_file_content` / `read_file_content` — reads `MPM_Timeline_Templates.md` from Drive at runtime | --- ## Setup Instructions **Step-by-step:** 1. Ensure the Agile Dashboard MCP is connected in CoWork with the bearer token from LaunchPad secrets. 2. Ensure the Google Workspace MCP is connected (required for template file access). 3. Confirm `MPM_Timeline_Templates.md` exists in the PM 2.0 Resources folder on Google Drive (folder ID: `1Uy-2CDQFLOHcnU5DRRt_Alz6UibDQd5z`). 4. The skill is invoked by name or trigger phrase — no additional installation required for CoWork users. 5. For programmatic use from the SOW generator skill, pass a `project_context` JSON object (see Notes for Calling Skills in SKILL.md). ### Setup Checklist - [ ] Agile Dashboard MCP connected (`agile.apps.mpmedia.tv/mcp`, Bearer token) - [ ] Google Workspace MCP connected - [ ] `MPM_Timeline_Templates.md` present in PM 2.0 Resources Drive folder - [ ] Test run: call skill manually, verify project appears at `agile.apps.mpmedia.tv` --- ## Connection Details | Field | Value | |---|---| | Agile Dashboard URL | https://agile.apps.mpmedia.tv/ | | MCP Endpoint | https://agile.apps.mpmedia.tv/mcp | | Auth Method | Bearer token (LaunchPad secret) | | Transport | HTTP/SSE (MCP protocol) | | Template File | Google Drive — PM 2.0 Resources / MPM_Timeline_Templates.md | | Template Drive Folder ID | 1Uy-2CDQFLOHcnU5DRRt_Alz6UibDQd5z | --- ## Workflow Notes **Dual-mode detection:** Complete `project_context` → programmatic (skip interview). Any missing required field → interactive (6–8 question interview). **Template system:** Reads `MPM_Timeline_Templates.md` fresh from Drive on every run. Three templates: `onboard`, `wayside`, `off-grid-solar`. **Variant modifiers:** in-stock hardware (Phase 4: 7–21 days vs 60–120), new construction, reseller install owner (adds Partner Oversight phase), hard deadline risk check. **Version pinning:** Customer SOW URL is always version-pinned at signing timestamp. **Change order flow:** Skip Steps 1–4, apply targeted updates, re-export, new snapshot. --- ## Requirements - Agile Dashboard MCP server at `agile.apps.mpmedia.tv` (MPM LaunchPad) - Google Workspace MCP (Drive template access) - `MPM_Timeline_Templates.md` in PM 2.0 Resources Drive folder --- ## Troubleshooting | Symptom | Fix | |---|---| | "Unable to load the timeline template file" | Confirm file exists in Drive folder `1Uy-2CDQFLOHcnU5DRRt_Alz6UibDQd5z` and GWS MCP is connected | | Project slug already exists | Skill asks to overwrite or append `-2` | | `export_image` returns empty | Playwright sidecar may need restart; check `/healthz` | | ETag 412 on update | Auto-retry handled by MCP; concurrent edit conflict if persists | | 401 Bearer token rejected | Token rotated in LaunchPad — update MCP connection config | | Wrong phase durations | Check `MPM_Timeline_Templates.md` scaling table in Drive |