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 agentmods add skills/perforce/p4plan-mcp/custom-fieldsnpx skills add perforce/p4plan-mcp --skill custom-fieldsgit clone --depth 1 https://github.com/perforce/p4plan-mcpWhat 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 | $0.00041 | $0.00642 |
| Opus 5 | $0.00020 | $0.00321 |
| Sonnet 5 | $0.00008 | $0.00128 |
| Haiku 4.5 | $0.00004 | $0.00064 |
Grade A, and why
p4-plan-custom-fields 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 2d 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 — 52 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Custom Fields in P4 Plan
Custom fields (custom columns) add project-specific data to tasks beyond the built-in fields.
Key Concepts
- Each project defines its own set of custom columns.
- Columns have types: Text, Multiline Text, Number, Decimal Number, Date, DateTime, Time Spent, Drop List, Multi-select Drop List, User, Hyperlink, and Function (computed).
- To set a drop-list or multi-select value, first call get_custom_columns to discover option IDs, then pass the option ID (not the display label) to set_custom_field.
- Function fields are read-only — they appear in get_custom_fields output but cannot be set via set_custom_field.
- Use onlySet parameter on get_custom_fields to skip empty fields.
Tool Mapping
| User Intent | Tool | Key Parameters |
|---|---|---|
| List available custom columns | get_custom_columns | projectId, activeOnly |
| Read task's custom field values | get_custom_fields | taskId, onlySet |
| Set a custom field value | set_custom_field | taskId, customFieldId, value |
Value Formats by Type
| Column Type | Value Format |
|---|---|
| Text | Any string |
| Multiline Text | Sanitized HTML; plain text accepted (no tags = valid HTML). Use HTML for formatting or @mentions — see comment-html-format skill |
| Number | Integer string, e.g. "5" |
| Decimal Number | Numeric string, e.g. "5.5" |
| Date | ISO date "YYYY-MM-DD" |
| DateTime | ISO datetime "YYYY-MM-DDTHH:MM:SS" |
| Time Spent | Hours as numeric string, e.g. "2.5" |
| Drop List | Option ID from get_custom_columns |
| Multi-select Drop List | Comma-separated option IDs, e.g. "id1, id2, id3" |
| Hyperlink | URL string |
| User | Comma-separated user IDs from list_project_users |
| Function | Read-only — computed value |
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.
- 2d ago First seen · 52 lines · 41 tokens per session scan A 39d34ff6f1da
p4-plan-custom-fields is a skill published in the GitHub repository perforce/p4plan-mcp (4 stars, last pushed 3mo ago), licensed MIT. It adds 41 tokens to every session and 642 once invoked, about $0.0002 per session on Opus 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
babysit
Same-session monitoring loop for PRs, CI runs, tickets, and deployments using the monitorstart / monitorupdate / autonudgestop MCP tools. The loop re-injects your check instructions into THIS session on an idle interval — same context, same tools — and works from dashboard chat, Slack threads, and Discord DMs. Use…
agile-product-owner
../../../product-team/agile-product-owner/skills/agile-product-owner/SKILL.md.
teamharness-task-delegation
Use when a Leader turns ready Quick Task or Project Work state into Worker task instructions, sends assignment messages, checks submitted results, and defines completion/blocker report contracts. Do not use to create projects, create rooms, or execute Worker tasks.
dot-ai-prd-create
Create documentation-first PRDs that guide development through user-facing content.
agent-upkeep
Perform one small, scoped maintenance improvement to the Elements monorepo and open a single reviewable pull request. Use this skill for scheduled or unattended upkeep runs that improve unit test coverage for one file, fix one behavioral bug in one module, or move one off ESLint rule toward enforcement to reduce…
bmad-check-implementation-readiness
Validate PRD, UX, Architecture and Epics specs are complete. Use when the user says "check implementation readiness".