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-importWrote 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)<a href="https://agentmods.dev/skills/apache/magpie/security-issue-import"><img src="https://agentmods.dev/badge/skills/apache/magpie/security-issue-import.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.00131 | $0.28467 |
| Opus 5 | $0.00066 | $0.14233 |
| Sonnet 5 | $0.00026 | $0.05693 |
| Haiku 4.5 | $0.00013 | $0.02847 |
Grade A, and why
magpie-security-issue-import 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 — 2,127 lines — stays where its author put it; the contents beside it link to each section on GitHub.
security-issue-import
This skill is the on-ramp of the security-issue handling process.
It converts an inbound <security-list> email thread into
an <tracker> tracking issue that follows the repo's issue
template, then drafts the receipt-of-confirmation reply to the reporter.
It never sends email. It never creates a tracker for a candidate the
user has explicitly rejected. It never assumes a report is valid —
the validity / invalid / CVE-worthy decision still happens later in
the discussion on the created tracker (Step 3 of
README.md).
Golden rule — propose, then default to import. Every import this
skill performs is a proposal that lists the candidate emails, the
extracted fields, and the draft confirmation reply. The user's
default disposition for any Report or forwarder-relayed
candidate (the latter classified by the optional
security-issue-import-via-forwarder
sub-skill when forwarders.enabled is non-empty) is
"import as a new tracker landing in Needs triage";
the user only has to type back when they want to deviate from that
default — skip NN to reject a candidate upfront with no reply, or
NN:reject-with-canned <name> to reject upfront and draft a
specific canned negative-assessment / out-of-scope reply. A bare
all (or no reply at all to the proposal — the user typing
"go", "proceed", "yes, all") means "import every
non-rejected candidate as proposed". The skill must still surface
each candidate one-by-one in the proposal so the user can scan and
override if needed; what the skill must not do is sit on a report
waiting for an explicit per-candidate green light. The bias is
toward landing trackers — a wrongly-imported report is cheap to
close at Step 5 / 6 of the handling process; a wrongly-skipped one
gets buried in the inbox and the reporter is left without a
disposition.
Golden rule — rejection means no tracker, ever. When the user
rejects a candidate upfront — any of skip NN,
NN:reject-with-canned <name>, an explicit "reject 1",
"mark 1 invalid", "don't import 1", or a cancel / none /
"hold off" on the whole proposal — the skill must not create
a tracker for that candidate. This holds even when the user also
asks for a canned reply to be drafted: the draft is a courtesy to
the reporter, the absence of a tracker is the disposition. There is
no "create the tracker so the team can close it as invalid later"
path; if the team has decided pre-triage that the report is
invalid, the audit trail lives on the Gmail thread and on the
canned-responses.md precedent, not in a tracker that exists only
to be closed. A tracker is created only when the candidate is
imported as a real Report (or a forwarder-relayed candidate
classified by the
security-issue-import-via-forwarder
sub-skill) for triage.
Non-import candidate classes (automated-scanner,
consolidated-multi-issue, media-request, spam,
cross-thread-followup, cve-tool-bookkeeping) keep the original
"propose first, apply only on explicit confirm" rule — those never
default to a tracker.
Golden rule — confidentiality. The inbound thread on
<security-list> is private. The skill may paste the
email body verbatim into the created <tracker> tracking
issue (that repo is also private). It must never paste the
report content into a public surface — not into <upstream>, not
into a public GHSA, not into any comment on a public repo. The same
confidentiality rule documented in the "Confidentiality of
<tracker>" section of AGENTS.md
applies in full.
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 · 2,127 lines · 131 tokens per session scan A 6164b23916b2
magpie-security-issue-import is a skill published in the GitHub repository apache/magpie (87 stars, last pushed 5d ago), licensed Apache-2.0. It adds 131 tokens to every session and 28,467 once invoked, about $0.0007 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
persona-event-coordinator
Plan and manage events — scheduling, invitations, and logistics.
persona-project-manager
Coordinate projects — track tasks, schedule meetings, and share docs.
persona-team-lead
Lead a team — run standups, coordinate tasks, and communicate.
recipe-plan-weekly-schedule
Review your Google Calendar week, identify gaps, and add events to fill them.
atmos-migration
This skill helps you migrate a repository to Atmos. It covers native Terraform, Terraform Workspaces, Terramate, Terragrunt, Makefiles, Justfiles, and Taskfiles. It gives minimum-disruption paths, file-layout options, workspace mapping, task-to-command mapping, generatehcl/script decomposition, and the remote-state…
atmos-modernization
Atmos Modernization: migrate deprecated or legacy Atmos patterns to current names, Native CI, Atmos Pro drift detection, dependencies.components, nametemplate, and declared secrets.