Apache Magpie is a framework of agent-assisted workflows for maintaining Apache software projects, including issue triage, pull-request review, contributor mentoring, and security-report handling. Apache maintainers and developers use it to delegate repetitive project work to coding agents while retaining human review. Its catalogue entries are the skills, instructions, plugin, and settings that implement these workflows.
Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/apache/magpienpx agentmods add skills/apache/magpie/security-issue-import-from-prWrote 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/apache/magpie/security-issue-import-from-pr)<a href="https://agentmods.dev/skills/apache/magpie/security-issue-import-from-pr"><img src="https://agentmods.dev/badge/skills/apache/magpie/security-issue-import-from-pr.svg" alt="Measured on agentmods" 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.00124 | $0.09510 |
| Opus 5 | $0.00062 | $0.04755 |
| Sonnet 5 | $0.00025 | $0.01902 |
| Haiku 4.5 | $0.00012 | $0.00951 |
Grade A, and why
magpie-security-issue-import-from-pr 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 3d 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 — 861 lines — stays where its author put it; the contents beside it link to each section on GitHub.
security-issue-import-from-pr
This skill is an alternative on-ramp of the security-issue handling
process for the case where the report never arrived on
<security-list>. A contributor opened a public fix
in <upstream>; somebody on the security team noticed it is
security-relevant; the team decided informally that the fix
warrants a CVE. This skill turns that public PR into an
<tracker> tracking issue so the rest of the workflow
(security-cve-allocate → security-issue-sync → security-issue-fix →
public advisory) can run.
It is the smaller sibling of security-issue-import:
security-issue-import |
security-issue-import-from-pr |
|
|---|---|---|
| Source | <security-list> Gmail / PonyMail thread |
<upstream> PR URL or number |
| Reporter present | Yes (external researcher) | No (PR author = remediation developer = de-facto finder) |
| Receipt-of-confirmation reply | Drafted on the inbound thread | Skipped — no reporter to reply to |
| Inbound confidentiality | Report content is private; never leaks to public | PR is already public; no new private info to protect |
| Validity discussion | Hosted on the tracker after import (Step 3 of README.md) |
Already done informally before invocation; tracker lands Assessed |
| Initial board column | Needs triage |
Assessed |
Golden rule — Assessed, not Needs triage. When the team
deliberately imports from a public PR, they have already concluded
that the report is a security issue. The tracker therefore skips
the Needs triage column and the validity discussion that
column implies; it lands in Assessed with the scope label
applied, ready for CVE allocation. Only invoke this skill once
that informal assessment has happened — if the report's security
relevance is genuinely unclear, route it through the normal
process (a brief discussion in security team chat, then either
import via security@ if a reporter is involved, or open a
Needs triage tracker manually).
Golden rule — never reveal the security framing in <upstream>.
The PR exists in public. The security team's interpretation of it
(severity, exploit path, CVE intent) does not until the
advisory ships. After this skill runs, do not characterise the
public PR as a security fix, do not comment on it with the CVE
plan, and do not paste tracker discussion content into it. The
tracker URL itself is a public-safe identifier per the
Confidentiality of <tracker>
rule and may appear in the public PR description as a
cross-reference, so long as the surrounding text does not frame
the change as a security fix. The
security-issue-fix public-PR
guardrails apply in full from the moment the tracker exists:
neutral bug-fix language, no CVE-, no "vulnerability" or
"security fix" phrasing.
Golden rule — every <tracker> / <upstream> reference is
clickable in the surface it lands on. Whenever this skill emits
a reference to a tracker issue, the source PR, or any sibling
PR / commit — the proposal shown before import, the created
tracker issue body (which records the source <upstream>#NNN,
the Remediation developer field, and the PR with the fix
field), the recap output — the reference must be one click away
in whatever surface it lands on:
- On markdown surfaces (the created tracker issue body, any
markdown-rendered observed-state dump): use the markdown link
form per
AGENTS.md§ Linking tracker issues and PRs:<upstream>PR:[<upstream>#NNN](https://github.com/<upstream>/pull/NNN)- Sibling
<tracker>issue:[<tracker>#NNN](https://github.com/<tracker>/issues/NNN) - Commit:
[<sha>](https://github.com/<upstream>/commit/<sha>)
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.
- 3d ago First seen · 861 lines · 124 tokens per session scan A 681b8feed044
magpie-security-issue-import-from-pr is a skill published in the GitHub repository apache/magpie (87 stars, last pushed 5d ago), licensed Apache-2.0. It adds 124 tokens to every session and 9,510 once invoked, about $0.0006 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-09-03.
Other skills, from other repositories
bridge
Use when the user wants hyperflow's behavioral rules to apply outside the terminal CLI — in Claude Code Desktop, claude.ai web, or IDE extensions that don't load CLI plugins. Writes a managed doctrine block into the project's CLAUDE.md so autonomy + intent-routing + commit cadence + role separation + file-first rules…
atmos-hooks
Atmos hooks: lifecycle events, hook kinds, command/store/git/security hooks, step/steps hooks, when: conditions, scoping and overrides, toolchain integration, --skip-hooks, and Atmos Pro/local output.
taiyi-integration
A project workflow skill for closing a TaiyiForge change and recording it in a CHANGELOG.md file. It checks review results, tests, and the state of the working tree before archiving the change.
qa
QA test your code changes by reading your git diff, choosing the right validation path for frontend/browser and backend changes, and reporting pass/fail with evidence.
no-mistakes
Validate committed feature-branch changes through the no-mistakes pipeline: intent, rebase, review, test, docs, lint, push, PR, and CI. Use when the user asks to run no-mistakes, ship safely, validate before pushing, or gate a change before it reaches upstream.
codex-autoresearch
Run autonomous, measurable experiments in a Git repository: change one hypothesis, verify a numeric metric, keep improvements, and revert failures. Use when the user wants Codex to keep iterating toward a numeric target in the foreground or as a detached background run. Do not use for ordinary one-shot coding…