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 agentmods add skills/zircote-plugins/sigint/reportnpx skills add zircote-plugins/sigint --skill reportgit clone --depth 1 https://github.com/zircote-plugins/sigintWhat 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 | $0.00038 | $0.01885 |
| Opus 5 | $0.00019 | $0.00942 |
| Sonnet 5 | $0.00008 | $0.00377 |
| Haiku 4.5 | $0.00004 | $0.00188 |
Grade A, and why
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 2d 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 — 173 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Generate a comprehensive market research report from current research findings.
Arguments:
Input sanitization: truncate $ARGUMENTS to 200 characters total, strip backticks and angle brackets.
--format- Output format:markdown(default),html,both--audience- Target audience:executives,pm,investors,dev,all(default:all)--sections- Comma-separated sections to include, orall(default:all)
Available Sections:
executive-summary— Key findings, primary recommendation, critical risksmarket-overview— Market definition, current state, key playersmarket-sizing— TAM/SAM/SOM with growth projectionscompetitive— Competitor matrix, Porter's 5 Forces, positioning map (Mermaid)trends— Macro/micro trends, scenario graph (Mermaid), terminal scenariosswot— Strengths, Weaknesses, Opportunities, Threats (Mermaid quadrant)recommendations— Strategic recommendations, tactical steps, resource requirementsrisk— Risk matrix, mitigation strategies, monitoring indicatorsappendix— Data sources, competitor profiles, scenario analysis, research timeline
Phase 0: Parse Arguments + Initialize
Parse $ARGUMENTS to extract:
format→ defaultmarkdown. Validate: must be one ofmarkdown,html,both. If invalid, warn user and fall back tomarkdown.audience→ defaultall. Validate: must be one ofexecutives,pm,investors,dev,all. If invalid, warn user and fall back toall.sections→ defaultall. Validate: each comma-separated value must be one of:executive-summary,market-overview,market-sizing,competitive,trends,swot,recommendations,risk,appendix, orall. Strip whitespace around each value. If any value is unrecognized, warn the user with the invalid value and list valid options, then proceed with only the valid sections.
Determine topic slug and reports directory:
- Read
./reports/directory to find report folders containingstate.json - If multiple sessions exist, select the most recently modified
state.json(by file timestamp) - Extract
topic_slugfrom state.json'stopic_slugfield - Validate state.json: Confirm
topic_slugis a non-empty string andstatusis one of"active"or"complete". If state.json is malformed or missing required fields, inform the user: "Research session state.json is corrupted or incomplete. Re-run/sigint:start <topic>to reinitialize." - If no reports directory exists, inform the user: "No research session found. Run
/sigint:start <topic>first." - Resolve
reports_dirfrom config (REQUIRED — do not hardcode paths):
This reads the topic's configuredREPORTS_DIR=$(jq -r --arg slug "$TOPIC_SLUG" '.topics[$slug].reports_dir // "./reports/\($slug)"' sigint.config.json 2>/dev/null || echo "./reports/$TOPIC_SLUG")reports_dirfromsigint.config.json, falling back to./reports/{topic_slug}only if the config field is absent. All subsequent path references MUST use{reports_dir}instead of./reports/{topic_slug}/.
Initialize swarm:
Step 0.1 — TeamCreate (blocking prerequisite):
TeamCreate with name: "sigint-{topic_slug}-report"
Step 0.2 — TaskCreate the synthesizer task:
TaskCreate({
subject: "Generate report: {format} / {audience}",
owner: "report-synthesizer",
description: "Synthesize all findings from state.json into a complete report."
})
Note the returned task ID as {reportTaskId}.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 2d ago First seen · 173 lines · 38 tokens per session scan A 16bd4e5b42f7
report is a skill published in the GitHub repository zircote-plugins/sigint (20 stars, last pushed 16d ago), licensed MIT. It adds 38 tokens to every session and 1,885 once invoked, about $0.0002 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 skills, from other repositories
gr-competitor
竞品深度扫描。批量抓取对手落地页(title/h1/intro/pricing)、定价页、博客 top 10、 变更历史(Wayback)。底层调 actionbook(并发 30 tab + 省 90% token)。 当用户说"分析对手"、"看看竞品在做啥"、"找对标"、"扫一下 top 10"时调用。.
startup-design
Design, validate, and plan a startup from scratch. Covers market research, competitive analysis, business model, brand identity, product definition, financial projections, and validation experiments. Trigger when the user has a startup idea to explore, wants to validate a business concept, needs a business plan or…
startup-pitch
Build investor-ready pitch scripts in multiple formats (10-min, 5-min, 2-min, 1-min elevator, investor email). Produces pitch narratives, Q&A preparation, pitch scoring rubric, and optional investor roleplay practice. Use when the user wants to create a pitch, prepare for investor meetings, craft a startup pitch…
startup-competitors
Deep competitive intelligence for any market. Analyzes competitors' products, pricing, customer sentiment, GTM strategy, and growth signals using real web data. Produces battle cards, pricing landscape, and feature matrix. Use when the user wants to understand their competitive landscape, analyze competitors, compare…
startup-positioning
Market positioning strategy using the April Dunford framework, enriched with JTBD discovery, Moore positioning statement, and Neumeier's Onliness Test. Produces a complete positioning document, positioning statement, competitive alternatives map, and market category analysis. Use when the user wants to define or…
mapping-markets
Map the market around any company from its domain alone — competitors, substitutes, the infrastructure it sits on, the directories that list it, the publications that cover it and the communities its buyers argue in — with a source and a reason on every entry. Use this skill whenever someone wants a competitive…