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 arcasilesgroup/ai-engineering --skill ai-issue-reportgit clone --depth 1 https://github.com/arcasilesgroup/ai-engineeringWrote 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/arcasilesgroup/ai-engineering/ai-issue-report)<a href="https://agentmods.dev/skills/arcasilesgroup/ai-engineering/ai-issue-report"><img src="https://agentmods.dev/badge/skills/arcasilesgroup/ai-engineering/ai-issue-report/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/arcasilesgroup/ai-engineering/ai-issue-report"><img src="https://agentmods.dev/badge/skills/arcasilesgroup/ai-engineering/ai-issue-report.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.00150 | $0.01157 |
| Opus 5.5 | $0.00060 | $0.00463 |
| Sonnet 5.5 | $0.00030 | $0.00231 |
| Haiku 4.5 | $0.00015 | $0.00116 |
Grade A, and why
ai-issue-report 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 19d 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 — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ai-issue-report — report the fault, collect nothing on the way
What it produces
A local draft (gitignored) plus the exact bytes that would leave, previewed with their SHA-256 — and nothing sent by anybody but the user.
The non-negotiable: what must never leave the machine
The payload is closed to allow-listed fields. Everything else is rejected at the gate, before the draft exists:
- Machine paths — home directories and absolute paths on any OS: they leak the
username and the project layout. The scan names the field and the match
(
ACCEPTANCE_MACHINE_PATH_*); the fix is to describe the same thing without the path. - Personal data (PII) — emails, names, phone numbers, account ids, tokens in URLs.
ACCEPTANCE_PII_*names what was found; rewrite the sentence, not around the value. - Secrets — keys, passwords, session cookies, anything gitleaks would flag.
ACCEPTANCE_GITLEAKS_SECRETis a hard refusal: no draft is written at all. - Logs, diffs, tracebacks, full command lines — there is no field for them, by design. A pasted command carries the path it ran from and often the arguments it ran with. Write the four fields in your own words instead: title, what happened, what you expected, one step per reproduction step.
A vulnerability (--kind security) NEVER becomes a public issue: the refusal prints the
private disclosure route (SECURITY.md, the maintainer's security contact) and declines the
public one before asking anything.
Steps
- Reproduce it first. A report of something that happened once is a report the person reading it cannot act on; the steps field is what makes the difference.
- Decide the kind before writing. Security → private route, always.
- Write the four fields in your own words. Never paste logs, diffs or tracebacks.
- Run the gate. Read the refusal if you get one: each code names what was found and in which field. Rewrite that field in words that do not carry the value — do not work around the scan.
- Read the previewed bytes and their SHA-256. They are exactly what would leave. If anything in there is not yours to publish, stop.
- Sending is separate and manual. Nothing is transmitted automatically: take the previewed bytes to the route your organisation or the upstream project uses (GitHub issue for bugs, SECURITY.md contact for vulnerabilities, your incident channel for incidents).
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.
- 19d ago Changed cb5e99a6f913
- 1mo ago Changed · +2 lines 90f1e980b48d
- 1mo ago First seen · 91 lines · 150 tokens per session scan A 13e0f99eb959
ai-issue-report is a skill published in the GitHub repository arcasilesgroup/ai-engineering (61 stars, last pushed 2d ago), licensed Apache-2.0. It adds 150 tokens to every session and 1,157 once invoked, about $0.0006 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-09-12.
Other skills, from other repositories
spk-admin-setup-doctor
Install, verify, and repair Spec Kitty commands, skills, agent paths, runtime prerequisites, and common setup failures.
022-root-cause-analysis
Use when a framed problem needs root-cause investigation rather than a symptom-level fix, applying Five Whys, Fishbone (Ishikawa), Current Reality Tree, and constraint identification. This should trigger when an issue's Root Cause Analysis point of view needs evaluation, or when a maintainer directly asks to find the…
126-java-exception-handling
Use when you need to apply Java exception handling best practices — including using specific exception types, managing resources with try-with-resources, securing exception messages, preserving error context via exception chaining, validating inputs early with fail-fast principles, handling thread interruption…
extracting-code-structure
Use when listing all methods, functions, or classes in a file, exploring unfamiliar code, getting API overviews, or deciding what to read selectively without loading entire files.
skill-performance
AL performance optimization patterns for Business Central. Use when optimizing queries with SetLoadFields, working with FlowFields and CalcFields, profiling codeunits, or resolving performance issues.
performance-optimization
Spring Boot 4 / JVM performance work — measure first, then fix. Profiling (async-profiler, JFR, JMH), Micrometer, common Spring antipatterns (N+1, unbounded lists, HikariCP sizing, virtual-thread pinning), caching, GC, and SLO-driven work. Used by /plan for risk callouts and by /review to flag perf regressions.