Phish Triage Agent — Development skill for Claude Code
Agentic triage for user-reported phishing emails.
How to install Phish Triage Agent
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open H3llKa1ser/phish-triage-agent and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Phish Triage Agent does
Agentic triage for user-reported phishing emails. Drop in an .eml, and a pair of Claude agents investigate it, enrich its indicators, write an analyst summary with their own verdict, and hand the case to a human for the final call. Nothing is ever actioned automatically.
Alternatives in Development
- Investigate — Investigation Skill 1.9k ★
- Investigate Performance — Investigate a Nimbalyst performance problem (freeze, lag, idle CPU, slow op, memory growth) with measured evid 1.6k ★
- Pool Compare — Compare all Meteora DLMM pools for a token pair by APR, fee/TVL ratio, and volume 722 ★
README
phish-triage-agent
Agentic triage for user-reported phishing emails. Drop in an `.eml`, and a pair of Claude agents investigate it, enrich its indicators, write an analyst summary with their own verdict, and hand the case to a human for the final call. Nothing is ever actioned automatically.
flowchart LR
A[.eml] --> B[Parser
deterministic, no LLM]
B --> C[Investigator agent
Claude + read-only tools]
C -->|lookup_url / lookup_domain / lookup_file_hash| T[(VirusTotal, RDAP)]
C --> D[Coverage check
enrich anything skipped]
D --> E[Critic agent
independent second opinion]
E --> F[Policy guardrails
floors, hallucination check, priority]
F --> G[Report
defanged Markdown]
G --> H{{Human review queue
file or Jira}}
H -->|approve / override| I[(Decision log
agent vs human stats)]
Stages
| Stage | What it does | LLM? |
|---|---|---|
Parser (parser.py) |
Headers, SPF/DKIM/DMARC, Received IPs, URLs (text, HTML, and inside HTML/SVG attachments), attachment hashes, and 15+ heuristics: lookalike domains, link-text mismatch, reply-to mismatch, credential forms, risky extensions, zero-width chars, prompt-injection text. | No |
Investigator (agents.py) |
Tool-using agent. Decides which indicators to enrich, then submits a structured verdict (benign / spam / suspicious / malicious, confidence, summary, findings, MITRE, recommended actions) via a submit_verdict tool. |
Yes |
Coverage check (policy.py) |
Enriches every attachment hash and the sender domain if the agent skipped them. | No |
Critic (agents.py) |
A second agent checks every finding against the evidence and can disagree. It cannot change the verdict; disagreement flags the case. | Yes |
Policy (policy.py) |
Raises the verdict when hard evidence demands it (known-bad hash, bad URL reputation, 2+ high-severity findings, injection attempt). Flags low confidence, critic disagreement, and domain |
Related Skills
Find Bug
Investigate a reported symptom, form hypotheses, and locate the root cause.
Cmd Judge
Adversarial verifier for the PROVE phase: treats a finished-work report as untrusted claims, re-runs every ver
Find Contacts
Enrich contacts.xlsx: replace generic fallback emails (contact@, info@, hello@, team@, jobs@) with named decis
Google Maps Scraper Skill
A Claude Code, Codex, and OpenClaw skill for Google Maps lead generation. Find and scrape local businesses, en
Tilth
A local-first garden almanac & planner — but really an experiment in agent-first, no-hand-coding development:
Wealth Guide
A Claude Code skill that puts a team of six financial specialists on your case. You answer 10 questions about
Related Agents
Outreach Enricher
Intent Outreach Phase-2 worker. Enriches one lead + its contacts via the deterministic enrich_lead MCP tool an
Indicator Sweeper
Sweeps open indicators of an OSINT case against the live web and returns graded, sourced findings (or an expli
Pitch Summary
Render a pitch-ready summary markdown for one feature drop by synthesizing its workflow files, root plan, and