{
  "schemaVersion": "1.0",
  "item": {
    "slug": "tpm-copilot",
    "name": "TPM Copilot",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/reighlan/tpm-copilot",
    "canonicalUrl": "https://clawhub.ai/reighlan/tpm-copilot",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/tpm-copilot",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=tpm-copilot",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/jira-setup.md",
      "references/linear-setup.md",
      "references/report-templates.md",
      "references/risk-categories.md",
      "scripts/action-tracker.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/tpm-copilot"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/tpm-copilot",
    "agentPageUrl": "https://openagent3.xyz/skills/tpm-copilot/agent",
    "manifestUrl": "https://openagent3.xyz/skills/tpm-copilot/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/tpm-copilot/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "TPM Copilot",
        "body": "Your AI program management operator. Pulls from Jira, Linear, GitHub, and calendars — synthesizes everything into status reports, risk alerts, meeting prep, and stakeholder dashboards."
      },
      {
        "title": "Dependencies",
        "body": "pip3 install requests\n\nFor GitHub: install gh CLI and authenticate (gh auth login)."
      },
      {
        "title": "API Connections (configure in config.json)",
        "body": "Jira — JIRA_BASE_URL, JIRA_EMAIL, JIRA_API_TOKEN (Atlassian API token)\nLinear — LINEAR_API_KEY\nGitHub — uses gh CLI (already authenticated) or GITHUB_TOKEN\nSlack — SLACK_WEBHOOK_URL (for report delivery)\nCalendar — iCal URL or Google Calendar API\n\nNot all required — skill adapts to what's configured."
      },
      {
        "title": "Workspace",
        "body": "tpm/\n├── config.json           # API keys, project settings, team config\n├── programs/             # Per-program data\n│   └── program-name/\n│       ├── config.json   # Program-specific settings (board IDs, repos, teams)\n│       ├── reports/      # Generated status reports\n│       ├── risks/        # Risk register snapshots\n│       └── dependencies/ # Dependency maps\n├── templates/            # Report templates\n├── meetings/             # Meeting notes and action items\n└── state.json            # Persistent state (last check timestamps, etc.)\n\nRun scripts/init-workspace.sh to create this structure."
      },
      {
        "title": "1. Status Report Generator",
        "body": "The flagship workflow. Pulls from all connected tools, generates audience-specific reports.\n\nscripts/status-report.sh --program \"my-program\" --audience exec\nscripts/status-report.sh --program \"my-program\" --audience eng\nscripts/status-report.sh --program \"my-program\" --audience full\nscripts/status-report.sh --program \"my-program\" --audience exec --deliver slack\n\nData pulled:\n\nJira/Linear: sprint progress, tickets by status, velocity, blockers, recent completions\nGitHub: PRs merged/open/stale, CI status, release tags\nCalendar: upcoming milestones, meetings this week\n\nAudience formats:\n\nexec — 3-5 bullet executive summary, RAG status per workstream, top risks, key decisions needed. Under 200 words.\neng — sprint metrics, PR review queue, blockers, velocity trends, upcoming deadlines\nfull — comprehensive program update with all sections, dependencies, action items\n\nDelivery options:\n\nstdout (default) — prints to terminal\nslack — posts to configured webhook\nemail — sends via Resend/SMTP\nconfluence — creates/updates a Confluence page\nfile — saves to programs/<name>/reports/"
      },
      {
        "title": "2. Risk & Blocker Radar",
        "body": "Proactive scanning for problems before they become crises.\n\nscripts/risk-radar.sh --program \"my-program\"\nscripts/risk-radar.sh --program \"my-program\" --alert     # Send alerts for new risks\nscripts/risk-radar.sh --program \"my-program\" --history    # Show risk trends\n\nAuto-detected risks:\n\nStale tickets — no updates in N days (configurable, default 5)\nBlocked tickets — status = blocked, or flagged\nPR review bottlenecks — PRs open >48h without review\nSprint scope creep — tickets added mid-sprint\nMissed commitments — tickets rolled over from previous sprint\nCI failures — broken builds on main branch\nDependency delays — upstream team's deliverables slipping\n\nRisk register maintained as JSON in programs/<name>/risks/:\n\n{\n  \"id\": \"RISK-001\",\n  \"severity\": \"high\",\n  \"category\": \"delivery\",\n  \"title\": \"Auth service migration blocked on Team B API\",\n  \"detected_at\": \"2026-02-24\",\n  \"source\": \"jira_blocked_ticket\",\n  \"ticket\": \"PROJ-1234\",\n  \"status\": \"open\",\n  \"mitigation\": \"\",\n  \"owner\": \"\"\n}"
      },
      {
        "title": "3. Meeting Autopilot",
        "body": "Automate meeting prep, notes processing, and follow-up tracking.\n\nscripts/meeting-prep.sh --program \"my-program\" --type standup\nscripts/meeting-prep.sh --program \"my-program\" --type sprint-review\nscripts/meeting-prep.sh --program \"my-program\" --type exec-sync\nscripts/meeting-prep.sh --program \"my-program\" --type program-review\n\nscripts/process-notes.sh --file meeting-notes.md         # Extract action items\nscripts/action-tracker.sh --program \"my-program\"          # Show overdue actions\nscripts/action-tracker.sh --program \"my-program\" --create-tickets  # Create Jira tickets for actions\n\nMeeting types and auto-generated agendas:\n\nstandup — yesterday's completions, today's focus, blockers (from Jira)\nsprint-review — sprint metrics, completed work, demos, carry-over items\nexec-sync — program RAG, top risks, decisions needed, timeline status\nprogram-review — full workstream status, dependencies, resource needs\n\nNotes processing:\n\nParse markdown notes for action items (lines starting with AI:, TODO:, ACTION:, or [ ])\nExtract owners and due dates\nOptionally create Jira/Linear tickets\nTrack completion status across meetings"
      },
      {
        "title": "4. Dependency Tracker",
        "body": "Map and monitor cross-team dependencies.\n\nscripts/dependency-map.sh --program \"my-program\"           # Generate dependency map\nscripts/dependency-map.sh --program \"my-program\" --check   # Check for slips\nscripts/dependency-map.sh --program \"my-program\" --alert   # Alert on at-risk dependencies\n\nSources:\n\nJira issue links (blocks/is-blocked-by)\nJira/Linear labels (e.g., depends-on:team-b)\nManual entries in programs/<name>/dependencies/deps.json\n\nOutput:\n\nMarkdown dependency table with status\nCritical path highlighting\nAlert when upstream dependencies slip"
      },
      {
        "title": "5. Program Dashboard",
        "body": "Quick terminal dashboard for program health.\n\nscripts/dashboard.sh --program \"my-program\"\n\nShows:\n\nOverall RAG status\nSprint progress (% complete, days remaining)\nOpen risks by severity\nPR review queue\nUpcoming milestones\nAction items overdue"
      },
      {
        "title": "Program Config (programs/<name>/config.json)",
        "body": "{\n  \"name\": \"Project Phoenix\",\n  \"workstreams\": [\n    {\n      \"name\": \"Backend\",\n      \"jira_project\": \"PHX\",\n      \"jira_board_id\": \"123\",\n      \"github_repos\": [\"org/backend-api\"],\n      \"team_lead\": \"Alice\"\n    },\n    {\n      \"name\": \"Frontend\",\n      \"jira_project\": \"PHX\",\n      \"jira_board_id\": \"124\",\n      \"github_repos\": [\"org/web-app\"],\n      \"team_lead\": \"Bob\"\n    }\n  ],\n  \"milestones\": [\n    {\"name\": \"Alpha Release\", \"date\": \"2026-03-15\", \"status\": \"on-track\"},\n    {\"name\": \"Beta Release\", \"date\": \"2026-04-30\", \"status\": \"on-track\"}\n  ],\n  \"stakeholders\": {\n    \"exec\": [\"vp-eng@company.com\"],\n    \"eng\": [\"#eng-phoenix-slack-channel\"],\n    \"full\": [\"phoenix-team@company.com\"]\n  },\n  \"settings\": {\n    \"stale_ticket_days\": 5,\n    \"pr_review_threshold_hours\": 48,\n    \"sprint_length_weeks\": 2,\n    \"tracker\": \"jira\"\n  }\n}"
      },
      {
        "title": "Tracker Selection",
        "body": "Set settings.tracker to \"jira\" or \"linear\". Scripts auto-adapt API calls accordingly."
      },
      {
        "title": "Cron Integration",
        "body": "Daily standup prep — generate at 8:30 AM before standup\nDaily risk scan — run at end of day, alert on new risks\nWeekly status report — generate and deliver Monday AM\nAction item follow-up — check overdue items daily\nSprint boundary — auto-generate sprint review data on last day of sprint"
      },
      {
        "title": "References",
        "body": "references/jira-setup.md — Jira API authentication and project configuration\nreferences/linear-setup.md — Linear API setup and GraphQL queries\nreferences/report-templates.md — Customizing report formats and sections\nreferences/risk-categories.md — Risk taxonomy and severity definitions"
      }
    ],
    "body": "TPM Copilot\n\nYour AI program management operator. Pulls from Jira, Linear, GitHub, and calendars — synthesizes everything into status reports, risk alerts, meeting prep, and stakeholder dashboards.\n\nSetup\nDependencies\npip3 install requests\n\n\nFor GitHub: install gh CLI and authenticate (gh auth login).\n\nAPI Connections (configure in config.json)\nJira — JIRA_BASE_URL, JIRA_EMAIL, JIRA_API_TOKEN (Atlassian API token)\nLinear — LINEAR_API_KEY\nGitHub — uses gh CLI (already authenticated) or GITHUB_TOKEN\nSlack — SLACK_WEBHOOK_URL (for report delivery)\nCalendar — iCal URL or Google Calendar API\n\nNot all required — skill adapts to what's configured.\n\nWorkspace\ntpm/\n├── config.json           # API keys, project settings, team config\n├── programs/             # Per-program data\n│   └── program-name/\n│       ├── config.json   # Program-specific settings (board IDs, repos, teams)\n│       ├── reports/      # Generated status reports\n│       ├── risks/        # Risk register snapshots\n│       └── dependencies/ # Dependency maps\n├── templates/            # Report templates\n├── meetings/             # Meeting notes and action items\n└── state.json            # Persistent state (last check timestamps, etc.)\n\n\nRun scripts/init-workspace.sh to create this structure.\n\nCore Workflows\n1. Status Report Generator\n\nThe flagship workflow. Pulls from all connected tools, generates audience-specific reports.\n\nscripts/status-report.sh --program \"my-program\" --audience exec\nscripts/status-report.sh --program \"my-program\" --audience eng\nscripts/status-report.sh --program \"my-program\" --audience full\nscripts/status-report.sh --program \"my-program\" --audience exec --deliver slack\n\n\nData pulled:\n\nJira/Linear: sprint progress, tickets by status, velocity, blockers, recent completions\nGitHub: PRs merged/open/stale, CI status, release tags\nCalendar: upcoming milestones, meetings this week\n\nAudience formats:\n\nexec — 3-5 bullet executive summary, RAG status per workstream, top risks, key decisions needed. Under 200 words.\neng — sprint metrics, PR review queue, blockers, velocity trends, upcoming deadlines\nfull — comprehensive program update with all sections, dependencies, action items\n\nDelivery options:\n\nstdout (default) — prints to terminal\nslack — posts to configured webhook\nemail — sends via Resend/SMTP\nconfluence — creates/updates a Confluence page\nfile — saves to programs/<name>/reports/\n2. Risk & Blocker Radar\n\nProactive scanning for problems before they become crises.\n\nscripts/risk-radar.sh --program \"my-program\"\nscripts/risk-radar.sh --program \"my-program\" --alert     # Send alerts for new risks\nscripts/risk-radar.sh --program \"my-program\" --history    # Show risk trends\n\n\nAuto-detected risks:\n\nStale tickets — no updates in N days (configurable, default 5)\nBlocked tickets — status = blocked, or flagged\nPR review bottlenecks — PRs open >48h without review\nSprint scope creep — tickets added mid-sprint\nMissed commitments — tickets rolled over from previous sprint\nCI failures — broken builds on main branch\nDependency delays — upstream team's deliverables slipping\n\nRisk register maintained as JSON in programs/<name>/risks/:\n\n{\n  \"id\": \"RISK-001\",\n  \"severity\": \"high\",\n  \"category\": \"delivery\",\n  \"title\": \"Auth service migration blocked on Team B API\",\n  \"detected_at\": \"2026-02-24\",\n  \"source\": \"jira_blocked_ticket\",\n  \"ticket\": \"PROJ-1234\",\n  \"status\": \"open\",\n  \"mitigation\": \"\",\n  \"owner\": \"\"\n}\n\n3. Meeting Autopilot\n\nAutomate meeting prep, notes processing, and follow-up tracking.\n\nscripts/meeting-prep.sh --program \"my-program\" --type standup\nscripts/meeting-prep.sh --program \"my-program\" --type sprint-review\nscripts/meeting-prep.sh --program \"my-program\" --type exec-sync\nscripts/meeting-prep.sh --program \"my-program\" --type program-review\n\nscripts/process-notes.sh --file meeting-notes.md         # Extract action items\nscripts/action-tracker.sh --program \"my-program\"          # Show overdue actions\nscripts/action-tracker.sh --program \"my-program\" --create-tickets  # Create Jira tickets for actions\n\n\nMeeting types and auto-generated agendas:\n\nstandup — yesterday's completions, today's focus, blockers (from Jira)\nsprint-review — sprint metrics, completed work, demos, carry-over items\nexec-sync — program RAG, top risks, decisions needed, timeline status\nprogram-review — full workstream status, dependencies, resource needs\n\nNotes processing:\n\nParse markdown notes for action items (lines starting with AI:, TODO:, ACTION:, or [ ])\nExtract owners and due dates\nOptionally create Jira/Linear tickets\nTrack completion status across meetings\n4. Dependency Tracker\n\nMap and monitor cross-team dependencies.\n\nscripts/dependency-map.sh --program \"my-program\"           # Generate dependency map\nscripts/dependency-map.sh --program \"my-program\" --check   # Check for slips\nscripts/dependency-map.sh --program \"my-program\" --alert   # Alert on at-risk dependencies\n\n\nSources:\n\nJira issue links (blocks/is-blocked-by)\nJira/Linear labels (e.g., depends-on:team-b)\nManual entries in programs/<name>/dependencies/deps.json\n\nOutput:\n\nMarkdown dependency table with status\nCritical path highlighting\nAlert when upstream dependencies slip\n5. Program Dashboard\n\nQuick terminal dashboard for program health.\n\nscripts/dashboard.sh --program \"my-program\"\n\n\nShows:\n\nOverall RAG status\nSprint progress (% complete, days remaining)\nOpen risks by severity\nPR review queue\nUpcoming milestones\nAction items overdue\nConfiguration\nProgram Config (programs/<name>/config.json)\n{\n  \"name\": \"Project Phoenix\",\n  \"workstreams\": [\n    {\n      \"name\": \"Backend\",\n      \"jira_project\": \"PHX\",\n      \"jira_board_id\": \"123\",\n      \"github_repos\": [\"org/backend-api\"],\n      \"team_lead\": \"Alice\"\n    },\n    {\n      \"name\": \"Frontend\",\n      \"jira_project\": \"PHX\",\n      \"jira_board_id\": \"124\",\n      \"github_repos\": [\"org/web-app\"],\n      \"team_lead\": \"Bob\"\n    }\n  ],\n  \"milestones\": [\n    {\"name\": \"Alpha Release\", \"date\": \"2026-03-15\", \"status\": \"on-track\"},\n    {\"name\": \"Beta Release\", \"date\": \"2026-04-30\", \"status\": \"on-track\"}\n  ],\n  \"stakeholders\": {\n    \"exec\": [\"vp-eng@company.com\"],\n    \"eng\": [\"#eng-phoenix-slack-channel\"],\n    \"full\": [\"phoenix-team@company.com\"]\n  },\n  \"settings\": {\n    \"stale_ticket_days\": 5,\n    \"pr_review_threshold_hours\": 48,\n    \"sprint_length_weeks\": 2,\n    \"tracker\": \"jira\"\n  }\n}\n\nTracker Selection\n\nSet settings.tracker to \"jira\" or \"linear\". Scripts auto-adapt API calls accordingly.\n\nCron Integration\nDaily standup prep — generate at 8:30 AM before standup\nDaily risk scan — run at end of day, alert on new risks\nWeekly status report — generate and deliver Monday AM\nAction item follow-up — check overdue items daily\nSprint boundary — auto-generate sprint review data on last day of sprint\nReferences\nreferences/jira-setup.md — Jira API authentication and project configuration\nreferences/linear-setup.md — Linear API setup and GraphQL queries\nreferences/report-templates.md — Customizing report formats and sections\nreferences/risk-categories.md — Risk taxonomy and severity definitions"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/reighlan/tpm-copilot",
    "publisherUrl": "https://clawhub.ai/reighlan/tpm-copilot",
    "owner": "reighlan",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/tpm-copilot",
    "downloadUrl": "https://openagent3.xyz/downloads/tpm-copilot",
    "agentUrl": "https://openagent3.xyz/skills/tpm-copilot/agent",
    "manifestUrl": "https://openagent3.xyz/skills/tpm-copilot/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/tpm-copilot/agent.md"
  }
}