Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add perforce/p4plan-mcp --skill planninggit clone --depth 1 https://github.com/perforce/p4plan-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/perforce/p4plan-mcp/planning)<a href="https://agentmods.dev/skills/perforce/p4plan-mcp/planning"><img src="https://agentmods.dev/badge/skills/perforce/p4plan-mcp/planning/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/perforce/p4plan-mcp/planning"><img src="https://agentmods.dev/badge/skills/perforce/p4plan-mcp/planning.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00052 | $0.00851 |
| Opus 5.5 | $0.00021 | $0.00340 |
| Sonnet 5.5 | $0.00010 | $0.00170 |
| Haiku 4.5 | $0.00005 | $0.00085 |
Grade A, and why
p4-plan-planning scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 54 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Planning in P4 Plan
The Planning section contains sprints, scheduled tasks, and releases.
Sprints
- To find sprints: call search_tasks with findQuery e.g. Itemname:Text("Sprint 1"), or use get_tasks on a known sprint ID.
- Committing: Moves a backlog item into a sprint via commit_to_sprint.
- Sprint allocations: Each sprint has its own member list (subset of project members) with allocation percentages (1-125%).
- Important: When assigning a task in a sprint, the assignee must already be a sprint member. Use update_item to add members first.
- Sprint priority: Separate from backlog priority. Controls ordering within the sprint.
- Sprints show burndown charts when items have points, estimatedDays, or workRemaining set.
Releases
- Releases (milestones) represent significant dates. Items are tagged to releases to track what ships in each version.
- To find releases: call search_tasks with findQuery e.g. Itemtype="Release", or use get_tasks on a known release ID.
- Release status is derived automatically from the status of its tagged items.
- Tags on parent items are inherited by children; child tags override parent tags.
Tool Mapping
| User Intent | Tool | Key Parameters |
|---|---|---|
| Find sprints or releases | search_tasks | findQuery, projectId |
| Get sprint/release details | get_tasks | taskIds |
| Create a new sprint | create_item | type: "sprint", projectId, name, start?, finish? |
| Create sprint after an item | create_item | type: "sprint", projectId, name, previousItemId |
| Create a release milestone | create_item | type: "release", projectId, name, date? |
| Create release after an item | create_item | type: "release", projectId, name, previousItemId |
| Commit item to sprint | commit_to_sprint | taskId, sprintId |
| Remove item from sprint | uncommit_from_sprint | taskId |
| Update sprint members/dates | update_item | itemId, allocations |
| Add all project members to sprint | update_item | itemId, allocations: { allProjectMembers: true } |
| Assign work | update_item | itemId, assignedTo: [{ userID }] (must be sprint member) |
| Update estimates | update_item | itemId, points / estimatedDays |
| Set sprint priority | update_item | itemId, sprintPriority |
| Tag item to release | update_item | itemId, releases: [releaseId, ...] |
| Get project members | list_project_users | projectId |
| Add release notes | post_comment | releaseId, text |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 54 lines · 52 tokens per session scan A 15d558fd8729
p4-plan-planning is a skill published in the GitHub repository perforce/p4plan-mcp (4 stars, last pushed 17d ago), licensed MIT. It adds 52 tokens to every session and 851 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
daily-briefing
Start your day with a prioritized CRM briefing — works for any monday CRM setup: pipeline, contacts, accounts, leads, or no board at all. Use when someone says 'morning briefing', 'daily brief', 'what's on my plate today', 'catch me up on my deals', 'what needs attention', 'what needs my attention', 'anything urgent…
meeting-to-deal
Turn meeting transcripts into deal updates — key points, commitments, and next steps posted to matching CRM deals automatically. Auto-creates contacts for new attendees. Use when someone says "log my meetings to deals", "update CRM from calls", "what did I commit to in meetings", "sync notetaker", "log this meeting"…
Technical Debt Tracking with PMAT
Tracks and manages technical debt using PMAT (Pragmatic AI Labs MCP Agent Toolkit). Use this skill when: User asks about technical debt, TODO comments, or code quality issues Planning sprint work and need to prioritize debt repayment Conducting code audits or technical debt assessments Tracking debt accumulation…
p4-dam-workflows
P4 DAM (Digital Asset Management) workflows — search, browse, tag, review, and manage digital assets via P4 MCP tools. Use when discovering, searching, filtering, reviewing, or managing assets stored in P4 DAM.
continue-project
Find the user's saved Glif project, show its media, and add new work to it without starting a separate project. Use when: "show my recent Glif projects", "open my last image", "keep going on that one", "make 5 variations to A/B test", "same but vertical", "make a version for TikTok", "resize it to every format", "same…
reviewing-sla-definitions
Reviewing ServiceNow SLA, OLA and underpinning-contract definitions and how they perform: breach rates per definition, overlapping or duplicated definitions on the same table and target, and definitions that never attach. Use when the user asks about SLA breaches by definition, too many SLAs, duplicate or conflicting…