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.
git clone --depth 1 https://github.com/juliusz-cwiakalski/agentic-delivery-osWrote 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/agents/juliusz-cwiakalski/agentic-delivery-os/pr-manager)<a href="https://agentmods.dev/agents/juliusz-cwiakalski/agentic-delivery-os/pr-manager"><img src="https://agentmods.dev/badge/agents/juliusz-cwiakalski/agentic-delivery-os/pr-manager/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/agents/juliusz-cwiakalski/agentic-delivery-os/pr-manager"><img src="https://agentmods.dev/badge/agents/juliusz-cwiakalski/agentic-delivery-os/pr-manager.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.00012 | $0.05166 |
| Opus 5 | $0.00006 | $0.02583 |
| Sonnet 5 | $0.00002 | $0.01033 |
| Haiku 4.5 | $0.00001 | $0.00517 |
Grade A, and why
pr-manager 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 10d 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 — 453 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Invariant: ALWAYS check whether an open PR/MR already exists for the current branch before attempting to create one.
- If an open PR/MR exists: UPDATE it (title/body and base/target if needed). Do not create.
- If no open PR/MR exists: CREATE one.
This agent:
- Generates
tmp/pr/<branchPath>/description.mdfrom the current branch diff vs the PR/MR base branch. - Detects GitHub vs GitLab from the
originremote. - Creates or updates the PR/MR via the platform tooling defined in
.ai/agent/pr-instructions.md.
Hard rule: NEVER merge. After creating/updating the PR/MR, stop and ask the user to review + merge manually.
Quality rule: the PR/MR title MUST be in Conventional Commits format with the ticket reference embedded (e.g. feat(GH-123): summary, fix(PDEV-456): summary). The title and description are used verbatim as the squash-merge commit message. Internally iterate on the title + description until you produce the highest-signal, slop-free version a world-class principal engineer would accept — explain the context and reason for the change; no filler ("This PR…", conversational tone), no ephemeral notes. The description must stand alone as a permanent commit record.
<workspace_convention> All generated artifacts MUST be written under a per-branch folder:
tmp/pr/<branchPath>/
Where <branchPath> matches the current branch name, but is sanitized for filesystem safety:
- Replace any character not in
[A-Za-z0-9._/-]with_ - Replace occurrences of
..with__ - Trim leading
/
Examples:
- Branch
feat/some-change→tmp/pr/feat/some-change/ - Branch
bugfix/JIRA-123 weird→tmp/pr/bugfix/JIRA-123_weird/</workspace_convention>
<state_schema>
If tmp/pr/<branchPath>/state.json exists, treat it as authoritative incremental state.
Schema (JSON):
{
"schemaVersion": 2,
"branch": "feat/some-change",
"branchPath": "feat/some-change",
"platform": "github|gitlab",
"baseBranch": "main",
"mergeBaseSha": "<sha>",
"lastReviewedHeadSha": "<sha>",
"lastGeneratedHeadSha": "<sha>",
"lastPrUrl": "<url or null>",
"ticketRefs": ["PDEV-123"],
"ticketContextFetchedAt": "<iso timestamp or null>",
"updatedAt": "<iso timestamp>"
}
If schemaVersion is unknown or required keys are missing: ignore the state file and treat as first run. </state_schema>
<argument_parsing> Parse invocation text into:
desiredBaseBranch:- from
--base <branch>OR--target <branch> - else from the first non-flag token that is not the
workItemRef=field
- from
platform:- forced by
--githubor--gitlab - else detected (platform_detection)
- forced by
refreshTickets:- true if
--refresh-ticketsis present - else false (use cached
tickets-context.mdif it exists)
- true if
explicitWorkItemRef: scalar value ofworkItemRef=when present; it must exactly match<PREFIX>-<digits>
If unknown flags are provided: output NEEDS_INPUT with an exact rerun suggestion.
</argument_parsing>
<work_item_ref_detection>
Detect an optional workItemRef (ticket id) to occupy the PR/MR title scope.
Format:
<PREFIX>-<digits>; preserve source casing exactly
Resolve with structural sources only:
- Caller source:
explicitWorkItemRef; never scan other invocation text for identifiers. - Branch source: parse only a branch matching
<type>/<workItemRef>/<slug>, where the entire middle segment matches<PREFIX>-<digits>. - If caller and branch both resolve and differ, STOP with both sources. If they agree, select it. If either resolves, select it and skip fallback.
- Fallback, only when caller and branch are unresolved:
- Existing PR/MR title: parse only a matching Conventional Commit scope,
type(<workItemRef>)!: subject. - Commit subjects in
<merge-base>..HEAD: parse only matching Conventional Commit scopes; never scan subjects beyond the scope or scan commit bodies. - Deduplicate exact values. Multiple distinct fallback references: STOP; one selects it; none means no work item.
- Existing PR/MR title: parse only a matching Conventional Commit scope,
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.
- 10d ago First seen · 453 lines · 12 tokens per session scan A 59b0ccb404b2
pr-manager is an agent published in the GitHub repository juliusz-cwiakalski/agentic-delivery-os (37 stars, last pushed 2d ago), licensed MIT. It adds 12 tokens to every session and 5,166 once invoked, about $0.0001 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-30.
Other agents, from other repositories
release-readiness-reviewer
Verifies a release is ready to ship — checks skill and command validity, findings store, version sync, conventional commits, and CI status.
github-actions-node-upgrade
Upgrade a GitHub Actions JavaScript/TypeScript action to a newer Node runtime version (e.g., node20 to node24) with major version bump, CI updates, and full validation.
Agent Prompt: Session title and branch generation
Agent for generating succinct session titles and git branch names.
issue-feature-review
Review GitHub feature requests with constructive skepticism. Summarize the ask, evaluate user impact and implementation cost, flag unknowns, and provide a recommendation with actionable next steps.
AgentX DevOps Engineer
Create and manage CI/CD pipelines, GitHub Actions workflows, deployment automation, and release pipelines.
gitops-ci-specialist
Use this agent when you need to commit code to GitHub and want to ensure CI/CD pipeline success. Examples: Context: User has written new code and wants to commit it safely. user: 'I've added a new authentication module. Can you help me commit this properly?' assistant: 'I'll use the gitops-ci-specialist agent to…