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-via-forwarderWrote 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-via-forwarder)<a href="https://agentmods.dev/skills/apache/magpie/security-issue-import-via-forwarder"><img src="https://agentmods.dev/badge/skills/apache/magpie/security-issue-import-via-forwarder.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
- medium Excessive Agency · line 555 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
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.00166 | $0.07398 |
| Opus 5 | $0.00083 | $0.03699 |
| Sonnet 5 | $0.00033 | $0.01480 |
| Haiku 4.5 | $0.00017 | $0.00740 |
Grade A, and why
magpie-security-issue-import-via-forwarder 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 — 630 lines — stays where its author put it; the contents beside it link to each section on GitHub.
security-issue-import-via-forwarder
This skill is the forwarder-aware extension of the security- issue import / invalidate / sync flow. It does not duplicate the parent skills' classification logic; it specialises the small slice of behaviour that differs when the inbound message is a relay — sent by a broker on behalf of the original reporter — rather than a direct report from the reporter themselves.
The contract this skill consumes is documented in
tools/forwarder-relay/README.md.
The adapters enabled for the current adopter are declared in
<project-config>/project.md → forwarders.enabled.
The skill body below is adapter-agnostic: every adapter-
specific value (sender pattern, preamble regex, credit-extraction
rule, contact handle, reporter-addressing-block wrapper shape) is
read from config and the matching adapter's reference doc, never
hard-coded here.
When invoked, the skill:
- Confirms at least one forwarder adapter is registered for the current adopter (the pre-flight check below).
- Dispatches the in-hand inbound message through each registered
adapter's
detect()operation, in the order declared underforwarders.enabled. - On the first non-null detect, applies the matched adapter's
credit extraction to the message body and renders the reporter-
addressing block per the adapter's
reporter_addressing_block()convention. - Hands the extracted credit + routing decision back to the parent skill, which folds the values into its proposal table and waits for explicit user confirmation before applying any state mutation.
Golden rule — propose, never apply. This skill is a
classification + routing helper. It never creates a tracker
issue, never sends a draft, never edits a body field on its own.
Every state-mutating proposal it produces is handed back to the
parent skill, which surfaces it to the user under the parent's
own confirmation contract (the "propose, then default to import"
golden rule in
security-issue-import, the
"close-as-invalid only on explicit confirmation" rule in
security-issue-invalidate,
and so on). A relay-routing decision applied without user
confirmation would bypass exactly the trust gate the framework's
load-bearing skills are built around.
Golden rule — adapter-agnostic body. The skill body must not
hard-code behaviour for any specific adapter. Adapters are
referenced only through forwarders.enabled (the default
asf-security, plus any further adapters an adopter registers).
Every reference to adapter behaviour goes
through the adapters registered under forwarders.enabled plus
the reference doc each adapter cites. This is why the ASF-default
adapter's reference doc lives at
tools/gmail/asf-relay.md
and is consulted by name through the adapter registration —
not by an if adapter == "asf-security": check in this skill.
Adding a second adapter (any further third-party forwarder) must
require zero edits to this skill body; only the new adapter's directory under
tools/forwarder-relay/<name>/ and a new entry in the adopter's
forwarders.enabled list.
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 · 630 lines · 166 tokens per session scan A 86097e839265
magpie-security-issue-import-via-forwarder is a skill published in the GitHub repository apache/magpie (87 stars, last pushed 5d ago), licensed Apache-2.0. It adds 166 tokens to every session and 7,398 once invoked, about $0.0008 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
dast-nuclei
Fast, template-based vulnerability scanning using ProjectDiscovery's Nuclei with extensive community templates covering CVEs, OWASP Top 10, misconfigurations, and security issues across web applications, APIs, and infrastructure. Use when: (1) Performing rapid vulnerability scanning with automated CVE detection, (2)…
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
detecting-privilege-escalation-in-kubernetes-pods
Detect and prevent privilege escalation in Kubernetes pods by monitoring security contexts, capabilities, and syscall patterns with Falco and OPA policies.
taiyi-ui-design
A design-planning guide for describing how an application's user interface should look and behave. It produces a UI-DESIGN.md document covering layouts, components, interactions, accessibility, and error states.
CSOC Operations & Playbook Automation
SOC alert triage, incident playbook automation, escalation workflows, shift reporting, and SOC KPI tracking.