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 alex13slem/openproject-codex-plugin --skill openprojectgit clone --depth 1 https://github.com/alex13slem/openproject-codex-pluginWrote 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/alex13slem/openproject-codex-plugin/openproject)<a href="https://agentmods.dev/skills/alex13slem/openproject-codex-plugin/openproject"><img src="https://agentmods.dev/badge/skills/alex13slem/openproject-codex-plugin/openproject/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/alex13slem/openproject-codex-plugin/openproject"><img src="https://agentmods.dev/badge/skills/alex13slem/openproject-codex-plugin/openproject.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.00051 | $0.00594 |
| Opus 5.5 | $0.00020 | $0.00238 |
| Sonnet 5.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 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 — 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.
- 1mo ago 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 3mo ago), licensed MIT. It adds 51 tokens to every session and 594 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
openproject-codex
Use the OpenProject Codex plugin to inspect and manage work in Codex through the OpenProject API.
manage-taskboard
Manage Codex Taskboard issues and taskctl setup when the request names Codex Taskboard, e-taskboard, or taskctl, or the conversation already establishes that board as the target. Not for GitHub, Phabricator, other external trackers, or unrelated product docs.
merge-review
Reviews pending fleet worktree merges before they're accepted. Reads the merge-check queue, detects file-level conflicts between branches, proposes a safe merge order, and surfaces reconciliation plans for overlapping changes.
workspace
Multi-repo campaign coordinator. Same lifecycle as fleet -- scope claims, discovery relay, wave-based execution -- but the unit of work is a repo, not a file. Coordinates campaigns across repositories with shared context.
decision-map
Turn a loose idea into a git-tracked, session-resumable map of typed investigation tickets, then drive them to resolution one at a time. The planning-loop engine for work that is still being figured out — too fuzzy for a campaign, too big for a single intake item. Resolved tickets graduate into .planning/intake/ for…
unharness
Safely leave Citadel using the active adoption receipt. Produces a no-write, reviewable plan, preserves a portable archive, removes only exact owned material, and reports modified or externally registered surfaces as retained or unknown. Legacy installs must be imported before exact leave is claimed.