p4-plan-task-management — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited p4-plan-task-management (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The To Do List (get_my_tasks) shows all tasks, items, and bugs assigned to the current user across projects.
post_comment and update_comment accept sanitized HTML — see the comment-html-format skill for the allowed tag/CSS subset, and the mentions skill for @user references.| User Intent | Tool | Key Parameters |
|---|---|---|
| See my assigned work | get_my_tasks | showCompleted, showOnlyNextFourWeeks, showPipelineTasksThatCannotStart |
| Get full task details & links | get_tasks | taskIds |
| Start working on task | start_task | taskId |
| Complete a task | complete_task | taskId |
| Mark task blocked | update_item | itemId, status: "blocked" |
| Update progress % | update_item | itemId, percentCompleted |
| Update work remaining | update_item | itemId, workRemaining |
| Update multiple fields | update_item | itemId, name, status, points, priority, etc. |
| Assign to user(s) | update_item | itemId, assignedTo: [{ userID, percentageAllocation? }] |
| Get current user info | get_current_user | (none) |
| List project team members | list_project_users | projectId |
| Post comment | post_comment | taskId, text |
| Edit a comment | update_comment | taskId, commentId, text |
| Delete a comment | delete_comment | taskId, commentId |
| Read discussion | get_comments | taskId |
| List attached files | get_attachments | taskId |
| Download/view a file | download_attachment | taskId, path (from get_attachments) |
| Remove an attachment | delete_attachment | taskId, path |
| Set cover image | set_cover_image | taskId, imagePath (null to remove) |
| Link item to item | link_items | fromItemId, toItemId, relation (blocks/duplicates/relatedTo) |
| Link item to URL | link_items | fromItemId, url, relation, notes? |
| Remove a link | unlink_items | fromItemId, toItemId or url |
| Search for tasks | search_tasks | findQuery, projectId |
download_attachment| Type | Returned as | Examples |
|---|---|---|
| Text & code | Raw text inline | .txt, .md, .csv, .json, .xml, .js, .ts, .py, .yaml, .svg |
| Images | MCP image (vision) | .png, .jpg, .gif, .webp |
| Binary docs | Not readable | .pdf, .docx, .xlsx, .pptx, .zip |
Items with a committedToProjectID are already committed to a sprint. Before modifying, moving, or breaking down committed items, always confirm with the user first. When creating sub-tasks under a committed parent (parentItemId), call get_tasks on the parent first — if it has committedToProjectID, ask the user whether the sub-items should be created in the sprint or in the backlog.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.