From 800bed1c992957bdfb859c672e00b2b09a9fa9c9 Mon Sep 17 00:00:00 2001 From: jason Date: Tue, 19 May 2026 12:31:55 -0500 Subject: [PATCH] docs: update README to v1.0.0 --- README.md | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 96 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 600e6b6..9577f68 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,98 @@ # project-timeline-site-creator -CoWork skill — provisions MPM Agile Dashboard project timelines and exports Gantt chart images for SOW embedding. Dual-mode: programmatic (called by SOW generator) or interactive (standalone interview flow). \ No newline at end of file +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.alwisp.com/qrknit/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 |