TPM Copilot

ReviewAudited by ClawScan on May 10, 2026.

Overview

TPM Copilot mostly matches its project-management purpose, but one Jira ticket-creation workflow can act on a global action list rather than the selected program, so users should review its scope carefully.

Install only if you are comfortable granting it access to your project-management and source-control systems. Use restricted tokens, review `tpm/config.json`, verify Slack/email destinations, and do not run `action-tracker.sh --create-tickets` until you have inspected the action list and confirmed it is limited to the intended program/project.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

If a user runs `--create-tickets`, it may create Jira tickets outside the intended program scope or in the wrong/default project.

Why it was flagged

The script accepts a `--program` argument but uses the global `meetings/actions.json` file and then creates Jira tickets for all open actions, defaulting to project `TASK` when no project is set.

Skill content
--program) PROGRAM="$2"; ... actions_file = os.path.join(base_dir, "meetings", "actions.json") ... for a in open_actions: ... requests.post(f"{jira_url}/rest/api/3/issue", ... "project": {"key": a.get("project", "TASK")})
Recommendation

Filter actions by program, require an explicit Jira project, show a dry run, and ask for confirmation before creating tickets in bulk.

What this means

Tokens or authenticated CLI sessions may let the skill read project data and, in some workflows, create or post information.

Why it was flagged

The skill needs credentials or existing authenticated sessions for multiple business systems. This is expected for the integration, but it is sensitive account access.

Skill content
Jira — `JIRA_BASE_URL`, `JIRA_EMAIL`, `JIRA_API_TOKEN` ... Linear — `LINEAR_API_KEY` ... GitHub — uses `gh` CLI (already authenticated) or `GITHUB_TOKEN` ... Slack — `SLACK_WEBHOOK_URL`
Recommendation

Use least-privileged tokens, restrict Jira/GitHub scopes to the needed projects/repos, protect `config.json`, and rotate credentials if the workspace is shared.

What this means

Sensitive meeting details, names, due dates, and source file paths may remain in the local workspace and can later influence ticket creation.

Why it was flagged

Meeting-note action items are extracted and persisted to a reusable local action store.

Skill content
actions.append({"description": a, "owner": owner, "due_date": due, "status": "open", "source_file": notes_file, ...}) ... with open(actions_file, "w") as f: json.dump(existing, f, indent=2)
Recommendation

Process only trusted meeting notes, review extracted actions before reuse, and periodically clean or archive the action store.

What this means

Program or dependency details can leave the local workspace and appear in the configured Slack destination.

Why it was flagged

When alerting is enabled, dependency information is sent to a configured Slack webhook.

Skill content
webhook = global_config.get("slack", {}).get("webhook_url", "") or os.environ.get("SLACK_WEBHOOK_URL", "") ... requests.post(webhook, json={"text": text}, timeout=10)
Recommendation

Verify the webhook URL and channel, avoid using broad/shared webhooks for confidential programs, and use Slack webhooks with limited access.

What this means

The local environment and package/CLI provenance affect how safely the skill runs.

Why it was flagged

Setup depends on a user-installed Python package and GitHub CLI, but the registry has no install spec or pinned dependency versions.

Skill content
pip3 install requests

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

Install dependencies from official sources, consider pinning package versions, and declare these requirements in metadata.