✓ Verified 💻 Development ✓ Enhanced Data

Tpm Copilot

AI-powered operating system for Technical Program Managers and Project Managers.

Rating
4.9 (147 reviews)
Downloads
5,111 downloads
Version
1.0.0

Overview

AI-powered operating system for Technical Program Managers and Project Managers.

Complete Documentation

View Source →

TPM Copilot

Your AI program management operator. Pulls from Jira, Linear, GitHub, and calendars — synthesizes everything into status reports, risk alerts, meeting prep, and stakeholder dashboards.

Setup

Dependencies

bash
pip3 install requests

For GitHub: install gh CLI and authenticate (gh auth login).

API Connections (configure in config.json)

  • JiraJIRA_BASE_URL, JIRA_EMAIL, JIRA_API_TOKEN (Atlassian API token)
  • LinearLINEAR_API_KEY
  • GitHub — uses gh CLI (already authenticated) or GITHUB_TOKEN
  • SlackSLACK_WEBHOOK_URL (for report delivery)
  • Calendar — iCal URL or Google Calendar API
Not all required — skill adapts to what's configured.

Workspace

text
tpm/
├── config.json           # API keys, project settings, team config
├── programs/             # Per-program data
│   └── program-name/
│       ├── config.json   # Program-specific settings (board IDs, repos, teams)
│       ├── reports/      # Generated status reports
│       ├── risks/        # Risk register snapshots
│       └── dependencies/ # Dependency maps
├── templates/            # Report templates
├── meetings/             # Meeting notes and action items
└── state.json            # Persistent state (last check timestamps, etc.)

Run scripts/init-workspace.sh to create this structure.

Core Workflows

1. Status Report Generator

The flagship workflow. Pulls from all connected tools, generates audience-specific reports.

bash
scripts/status-report.sh --program "my-program" --audience exec
scripts/status-report.sh --program "my-program" --audience eng
scripts/status-report.sh --program "my-program" --audience full
scripts/status-report.sh --program "my-program" --audience exec --deliver slack

Data pulled:

  • Jira/Linear: sprint progress, tickets by status, velocity, blockers, recent completions
  • GitHub: PRs merged/open/stale, CI status, release tags
  • Calendar: upcoming milestones, meetings this week
Audience formats:
  • exec — 3-5 bullet executive summary, RAG status per workstream, top risks, key decisions needed. Under 200 words.
  • eng — sprint metrics, PR review queue, blockers, velocity trends, upcoming deadlines
  • full — comprehensive program update with all sections, dependencies, action items
Delivery options:
  • stdout (default) — prints to terminal
  • slack — posts to configured webhook
  • email — sends via Resend/SMTP
  • confluence — creates/updates a Confluence page
  • file — saves to programs//reports/

2. Risk & Blocker Radar

Proactive scanning for problems before they become crises.

bash
scripts/risk-radar.sh --program "my-program"
scripts/risk-radar.sh --program "my-program" --alert     # Send alerts for new risks
scripts/risk-radar.sh --program "my-program" --history    # Show risk trends

Auto-detected risks:

  • Stale tickets — no updates in N days (configurable, default 5)
  • Blocked tickets — status = blocked, or flagged
  • PR review bottlenecks — PRs open >48h without review
  • Sprint scope creep — tickets added mid-sprint
  • Missed commitments — tickets rolled over from previous sprint
  • CI failures — broken builds on main branch
  • Dependency delays — upstream team's deliverables slipping
Risk register maintained as JSON in programs//risks/:
json
{
  "id": "RISK-001",
  "severity": "high",
  "category": "delivery",
  "title": "Auth service migration blocked on Team B API",
  "detected_at": "2026-02-24",
  "source": "jira_blocked_ticket",
  "ticket": "PROJ-1234",
  "status": "open",
  "mitigation": "",
  "owner": ""
}

3. Meeting Autopilot

Automate meeting prep, notes processing, and follow-up tracking.

bash
scripts/meeting-prep.sh --program "my-program" --type standup
scripts/meeting-prep.sh --program "my-program" --type sprint-review
scripts/meeting-prep.sh --program "my-program" --type exec-sync
scripts/meeting-prep.sh --program "my-program" --type program-review

scripts/process-notes.sh --file meeting-notes.md         # Extract action items
scripts/action-tracker.sh --program "my-program"          # Show overdue actions
scripts/action-tracker.sh --program "my-program" --create-tickets  # Create Jira tickets for actions

Meeting types and auto-generated agendas:

  • standup — yesterday's completions, today's focus, blockers (from Jira)
  • sprint-review — sprint metrics, completed work, demos, carry-over items
  • exec-sync — program RAG, top risks, decisions needed, timeline status
  • program-review — full workstream status, dependencies, resource needs
Notes processing:
  • Parse markdown notes for action items (lines starting with AI:, TODO:, ACTION:, or [ ])
  • Extract owners and due dates
  • Optionally create Jira/Linear tickets
  • Track completion status across meetings

4. Dependency Tracker

Map and monitor cross-team dependencies.

bash
scripts/dependency-map.sh --program "my-program"           # Generate dependency map
scripts/dependency-map.sh --program "my-program" --check   # Check for slips
scripts/dependency-map.sh --program "my-program" --alert   # Alert on at-risk dependencies

Sources:

  • Jira issue links (blocks/is-blocked-by)
  • Jira/Linear labels (e.g., depends-on:team-b)
  • Manual entries in programs//dependencies/deps.json
Output:
  • Markdown dependency table with status
  • Critical path highlighting
  • Alert when upstream dependencies slip

5. Program Dashboard

Quick terminal dashboard for program health.

bash
scripts/dashboard.sh --program "my-program"

Shows:

  • Overall RAG status
  • Sprint progress (% complete, days remaining)
  • Open risks by severity
  • PR review queue
  • Upcoming milestones
  • Action items overdue

Configuration

Program Config (programs//config.json)

json
{
  "name": "Project Phoenix",
  "workstreams": [
    {
      "name": "Backend",
      "jira_project": "PHX",
      "jira_board_id": "123",
      "github_repos": ["org/backend-api"],
      "team_lead": "Alice"
    },
    {
      "name": "Frontend",
      "jira_project": "PHX",
      "jira_board_id": "124",
      "github_repos": ["org/web-app"],
      "team_lead": "Bob"
    }
  ],
  "milestones": [
    {"name": "Alpha Release", "date": "2026-03-15", "status": "on-track"},
    {"name": "Beta Release", "date": "2026-04-30", "status": "on-track"}
  ],
  "stakeholders": {
    "exec": ["[email protected]"],
    "eng": ["#eng-phoenix-slack-channel"],
    "full": ["[email protected]"]
  },
  "settings": {
    "stale_ticket_days": 5,
    "pr_review_threshold_hours": 48,
    "sprint_length_weeks": 2,
    "tracker": "jira"
  }
}

Tracker Selection

Set settings.tracker to "jira" or "linear". Scripts auto-adapt API calls accordingly.

Cron Integration

  • Daily standup prep — generate at 8:30 AM before standup
  • Daily risk scan — run at end of day, alert on new risks
  • Weekly status report — generate and deliver Monday AM
  • Action item follow-up — check overdue items daily
  • Sprint boundary — auto-generate sprint review data on last day of sprint

References

  • references/jira-setup.md — Jira API authentication and project configuration
  • references/linear-setup.md — Linear API setup and GraphQL queries
  • references/report-templates.md — Customizing report formats and sections
  • references/risk-categories.md — Risk taxonomy and severity definitions

Installation

Terminal bash

openclaw install tpm-copilot
    
Copied!

💻Code Examples

pip3 install requests

pip3-install-requests.txt
For GitHub: install `gh` CLI and authenticate (`gh auth login`).

### API Connections (configure in `config.json`)

- **Jira** — `JIRA_BASE_URL`, `JIRA_EMAIL`, `JIRA_API_TOKEN` (Atlassian API token)
- **Linear** — `LINEAR_API_KEY`
- **GitHub** — uses `gh` CLI (already authenticated) or `GITHUB_TOKEN`
- **Slack** — `SLACK_WEBHOOK_URL` (for report delivery)
- **Calendar** — iCal URL or Google Calendar API

Not all required — skill adapts to what's configured.

### Workspace

└── state.json # Persistent state (last check timestamps, etc.)

-statejson--persistent-state-last-check-timestamps-etc.txt
Run `scripts/init-workspace.sh` to create this structure.

## Core Workflows

### 1. Status Report Generator

The flagship workflow. Pulls from all connected tools, generates audience-specific reports.

scripts/status-report.sh --program "my-program" --audience exec --deliver slack

scriptsstatus-reportsh---program-my-program---audience-exec---deliver-slack.txt
**Data pulled:**
- Jira/Linear: sprint progress, tickets by status, velocity, blockers, recent completions
- GitHub: PRs merged/open/stale, CI status, release tags
- Calendar: upcoming milestones, meetings this week

**Audience formats:**
- **exec** — 3-5 bullet executive summary, RAG status per workstream, top risks, key decisions needed. Under 200 words.
- **eng** — sprint metrics, PR review queue, blockers, velocity trends, upcoming deadlines
- **full** — comprehensive program update with all sections, dependencies, action items

**Delivery options:**
- stdout (default) — prints to terminal
- slack — posts to configured webhook
- email — sends via Resend/SMTP
- confluence — creates/updates a Confluence page
- file — saves to `programs/<name>/reports/`

### 2. Risk & Blocker Radar

Proactive scanning for problems before they become crises.

scripts/risk-radar.sh --program "my-program" --history # Show risk trends

scriptsrisk-radarsh---program-my-program---history--show-risk-trends.txt
**Auto-detected risks:**
- **Stale tickets** — no updates in N days (configurable, default 5)
- **Blocked tickets** — status = blocked, or flagged
- **PR review bottlenecks** — PRs open >48h without review
- **Sprint scope creep** — tickets added mid-sprint
- **Missed commitments** — tickets rolled over from previous sprint
- **CI failures** — broken builds on main branch
- **Dependency delays** — upstream team's deliverables slipping

**Risk register** maintained as JSON in `programs/<name>/risks/`:

}

.txt
### 3. Meeting Autopilot

Automate meeting prep, notes processing, and follow-up tracking.

scripts/action-tracker.sh --program "my-program" --create-tickets # Create Jira tickets for actions

scriptsaction-trackersh---program-my-program---create-tickets--create-jira-tickets-for-actions.txt
**Meeting types and auto-generated agendas:**
- **standup** — yesterday's completions, today's focus, blockers (from Jira)
- **sprint-review** — sprint metrics, completed work, demos, carry-over items
- **exec-sync** — program RAG, top risks, decisions needed, timeline status
- **program-review** — full workstream status, dependencies, resource needs

**Notes processing:**
- Parse markdown notes for action items (lines starting with `AI:`, `TODO:`, `ACTION:`, or `[ ]`)
- Extract owners and due dates
- Optionally create Jira/Linear tickets
- Track completion status across meetings

### 4. Dependency Tracker

Map and monitor cross-team dependencies.

scripts/dependency-map.sh --program "my-program" --alert # Alert on at-risk dependencies

scriptsdependency-mapsh---program-my-program---alert--alert-on-at-risk-dependencies.txt
**Sources:**
- Jira issue links (blocks/is-blocked-by)
- Jira/Linear labels (e.g., `depends-on:team-b`)
- Manual entries in `programs/<name>/dependencies/deps.json`

**Output:**
- Markdown dependency table with status
- Critical path highlighting
- Alert when upstream dependencies slip

### 5. Program Dashboard

Quick terminal dashboard for program health.

scripts/dashboard.sh --program "my-program"

scriptsdashboardsh---program-my-program.txt
Shows:
- Overall RAG status
- Sprint progress (% complete, days remaining)
- Open risks by severity
- PR review queue
- Upcoming milestones
- Action items overdue

## Configuration

### Program Config (`programs/<name>/config.json`)
example.txt
tpm/
├── config.json           # API keys, project settings, team config
├── programs/             # Per-program data
│   └── program-name/
│       ├── config.json   # Program-specific settings (board IDs, repos, teams)
│       ├── reports/      # Generated status reports
│       ├── risks/        # Risk register snapshots
│       └── dependencies/ # Dependency maps
├── templates/            # Report templates
├── meetings/             # Meeting notes and action items
└── state.json            # Persistent state (last check timestamps, etc.)
example.sh
scripts/status-report.sh --program "my-program" --audience exec
scripts/status-report.sh --program "my-program" --audience eng
scripts/status-report.sh --program "my-program" --audience full
scripts/status-report.sh --program "my-program" --audience exec --deliver slack

Tags

#coding_agents-and-ides

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author reighlan
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install tpm-copilot