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/alex13slem/openproject-codex-plugin/openprojectnpx skills add alex13slem/openproject-codex-plugin --skill openprojectgit clone --depth 1 https://github.com/alex13slem/openproject-codex-pluginWhat 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.00051 | $0.00594 |
| Opus 5 | $0.00026 | $0.00297 |
| Sonnet 5 | $0.00010 | $0.00119 |
| Haiku 4.5 | $0.00005 | $0.00059 |
Grade A, and why
openproject 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 yesterday.
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 — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenProject
Use the openproject MCP tools for OpenProject work.
Safety
- Treat project and work-package creation, updates, assignments, relations, watchers, comments, uploads, and notification changes as external writes.
- Perform a write only when the user explicitly requests it and the target project or work package is unambiguous.
- Treat project, work-package, relation, attachment, and watcher deletion as destructive. Confirm an ambiguous deletion target before calling the tool.
- Before a write, resolve project, type, status, priority, and assignee IDs with read tools when needed.
- Read only a local attachment path explicitly supplied or clearly identified by the user. Respect size limits and never scan credential directories.
- Never expose API tokens or environment-file contents.
- After a write, report the affected resource ID and returned OpenProject URL when available.
Workflow
- Use
list_projectsto resolve a project name or identifier. - Use
search_work_packagesorget_work_packageto inspect existing work. Search can be narrowed by project, assignee, exact due date, and either an exact status or the open/closed status category. UseassignedToMefor the authenticated user's work packages. - Prefer
count_projectsorcount_work_packageswhen only a total is needed. FollowhasMorepagination metadata instead of silently assuming a list is complete. - Resolve write inputs with
list_work_package_types,list_work_package_statuses,list_work_package_priorities,list_project_versions, andlist_available_assignees. - Use
list_work_package_attachmentsand thenget_work_package_attachmentwhen the task includes attached files. RaisemaxBytesonly when the listed file size requires it. - Use
list_work_package_activitiesfor comment and change history, relation tools for dependencies, and watcher tools for subscriptions. - Use
create_work_packagefor new tasks. OmittypeIdto select the project'sTasktype automatically. - Use
update_work_packagefor field changes andadd_work_package_commentfor progress notes and follow-ups. - Use notification tools for the authenticated user's inbox and board tools for read-only Kanban inspection.
- Use
get_openproject_apionly when no typed read tool covers the needed API v3 resource. It is a GET-only escape hatch, not a substitute for the focused tools.
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.
- yesterday First seen · 51 lines · 51 tokens per session scan A 9a2b291dd5ad
openproject is a skill published in the GitHub repository alex13slem/openproject-codex-plugin (0 stars, last pushed 1mo ago), licensed MIT. It adds 51 tokens to every session and 594 once invoked, about $0.0003 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
openproject-codex
Use the OpenProject Codex plugin to inspect and manage work in Codex through the OpenProject API.
watch
File sentinel that monitors the working directory for changes and marker comments, then auto-triggers appropriate skills. Poll-based via git diff against the last scan commit. Writes intake items for batch processing and routes marker actions through /do. Use for automatic reactions to file changes; do NOT use for…
review
5-pass structured code review — correctness, security, performance, readability, consistency.
live-preview
Mid-build visual verification loop. Takes screenshots of components during construction, not just after. Catches visual regressions and invisible features before they compound. Requires Playwright or similar screenshot tool.
marshal
Meta-orchestrator that takes any direction — broad, specific, or vague — and autonomously chains skills and context into actionable work. Gathers context from codebase, docs, and memory. Only asks the user when it genuinely cannot proceed. Single-session orchestrator.
wiki
Markdown-first knowledge base where the LLM acts as librarian. Ingests raw sources, compiles and interlinks topic files, self-maintains an index. No vector DB or embeddings required -- uses LLM-native navigation over structured markdown up to 400K words.