Skip to content
cccskills
FreePublished on GitHub

phishing-indicators

Assess reported phishing emails by checking sender authentication, links, and attachments. Post a risk rating, supporting evidence, and a recommended action to Slack, leaving blocking, deletion, and other changes to the security team.

OriginalShow the original description

The phishing-report triage runbook — how to check headers, links, and attachments on a reported email against {{report_query}}, classify the risk, and post a verdict with a recommended action to {{security_channel}}. Analyze and recommend only; never block, delete, or remediate.

Works withSlackGmail
See how to install

Good for

  • Triage newly reported suspicious emails
  • Reassess a specific reported email
  • Explain the evidence behind a risk rating
  • Share recommended actions with the security team

Files included (1)

  • SKILL.md5.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

<skill name="phishing-indicators"> <overview> Every email reported to the phishing-report inbox gets the same disciplined look: authentication, sender identity, links, and attachments, combined into a risk tier and a recommended action. A scheduled check spawns a fresh session with read-only access to Gmail; this skill is the standard the analysis is done to, so the agent doesn't reinvent the checks or the tiering on every run. A single check can turn up several reports at once — triage each as an independent unit; a hard case never blocks the rest. Nothing is ever blocked, deleted, or changed as a result of this skill — a Slack post is the only output. </overview> <when-to-load> - The scheduled inbox check fires and there are new reports in `{{report_query}}`. - A human asks why a specific reported email got the verdict it did. - A human asks the agent to re-analyze a specific reported email on demand. </when-to-load> <workflow>

Step 1 — Pull what's new

Search the phishing-report Gmail inbox with {{report_query}} for messages reported since the last check. Read each one in full, including the original message it wraps if it was forwarded — the reported wrapper email itself is rarely the attack; the forwarded original is.

Step 2 — Check the headers

For the original (forwarded) message, inspect:

CheckWhat to look for
SPF / DKIM / DMARCAny result other than a clean pass on all three is a signal, not proof by itself
Reply-To vs. FromA Reply-To that doesn't match the From domain, especially to a free-mail or lookalike domain
Return-PathA Return-Path domain unrelated to the claimed sender
Display name vs. addressA trusted display name ("IT Helpdesk") paired with an unrelated or misspelled address
Routing headersReceived chain hopping through unexpected countries or unrelated infrastructure for an internal-looking sender

Step 3 — Check the links

For every link in the body:

  • Resolve it to its actual destination — don't trust the display text; a link that reads microsoft.com can point anywhere.
  • Flag lookalike domains (character substitution, added words, wrong TLD), URL shorteners, and raw IP-address links.
  • Flag any destination that resembles a login page for an internal system, especially one asking for credentials or MFA codes.
  • A benign, well-known domain with a legitimate path is not itself a signal.

Step 4 — Check the attachments

  • Identify the attachment's real type (magic bytes / content), not just its extension — a .pdf that's actually an executable or a macro-enabled document is a strong signal.
  • Flag macro-enabled Office formats, script files, disk images, and any archive that requires a password given only in the email body (a common evasion for content scanners).
  • No attachment is not itself reassuring — credential-harvesting links don't need one.

Step 5 — Classify the risk

Combine the signals into one tier:

TierCriteria
CriticalCredential-harvesting link or malicious attachment, spoofed authentication, actively impersonating an internal system or executive
HighClear lookalike domain or header spoofing plus a suspicious link or attachment, but not yet confirmed credential harvesting
MediumOne or two suspicious indicators (e.g. authentication soft-fail plus an unusual link) without a clear malicious payload
LowMinor anomalies (e.g. a marketing email with an aggressive tone) that don't indicate targeted attack
BenignClean authentication, legitimate sender and links, no attachment concerns — a false report

Back every tier with the specific indicators found; don't assign a tier on tone or gut feel alone.

Step 6 — Draft the verdict and recommended action

Write a short verdict: the tier, the indicators that drove it, and one recommended action:

  • Block this sender — for critical/high reports with a clearly malicious, reusable indicator (a spoofed domain, a confirmed bad link).
  • Warn staff — when the same sender or link may have reached others, note who's likely affected and suggest a heads-up.
  • No action needed — for low/benign reports; say so plainly so security doesn't waste time re-checking it.

Step 7 — Post to Slack and stop

Post the verdict to {{security_channel}}: tier, indicators, recommended action, and a link back to the reported thread. That post is the only output. There's no ledger to update — the next scheduled check re-reads whatever the inbox looks like then.

</workflow> <guardrails> - **Analyze, recommend, alert — nothing else.** The agent never blocks a sender, deletes or quarantines a message, or changes anything in Gmail or any other system. The recommended action is a suggestion for a person on security to carry out. - **No memory between runs.** Each check is a fresh session; the current inbox state is the only source of truth, not what a prior run concluded. - **Don't inflate the tier.** A report that's genuinely low-risk gets marked low-risk — a habit of crying wolf makes the real critical alerts easier to ignore. - **Scoped secrets.** Gmail access is brokered through a read-only connector; no raw token is ever shown to the model or written to logs. - **People decide, not the agent.** Whether a sender actually gets blocked or staff actually get warned is a human call on the security team, every time. </guardrails> </skill>

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

access-policy

FreeSummary

Review Slack access requests against Okta role and team information, then prepare narrowly scoped GitHub or AWS IAM permissions. Apply changes only after an eligible person's approval and record the grant, reasoning, approver, and timestamp.

  • Reviewing GitHub repository access requests from Slack
  • Preparing AWS IAM permissions for a specific task
  • Routing sensitive access requests for additional review
kortix-ai/suna20.3KUpdated Oct 18, 2026

account-research

FreeSummary

Research companies and people before outreach or meetings. Combines business profiles, recent news, hiring signals, and key contacts into a sourced brief with talking points and suggested questions, adding relationship history when CRM data is connected.

  • Research a prospective customer before outreach
  • Prepare background information for meeting attendees
  • Compare a competitor's products and positioning
kortix-ai/suna20.3KUpdated Oct 18, 2026

Review daily Google Ads and Meta Ads results for budget pacing, declining performance, and unusual activity. Get prioritized findings with supporting numbers and concrete recommendations for a marketing team to assess and carry out.

  • Checking whether campaign budgets are being spent on schedule
  • Investigating rising acquisition costs or falling ad returns
  • Finding ads and keywords that spend without converting
kortix-ai/suna20.3KUpdated Oct 18, 2026

agent-browser

FreeSummary

Automate website tasks such as navigating pages, filling forms, clicking buttons, taking screenshots, and extracting data. The skill also supports web app testing, with specialized guides for Electron desktop apps, Slack, and cloud browsers.

  • Automate form entry and page navigation
  • Capture screenshots and extract page data
  • Explore web apps for bugs
kortix-ai/suna20.3KUpdated Oct 18, 2026

ap-invoice-match

FreeSummary

Process emailed vendor invoices by extracting details, comparing them with purchase orders and invoice history, and recording duplicates, overcharges, or missing orders. Summarize results in Slack for human review; payment approval and execution remain with people.

  • Checking incoming invoices against purchase orders
  • Finding duplicate invoices and likely resends
  • Reviewing unit prices and remaining order balances
kortix-ai/suna20.3KUpdated Oct 18, 2026

billing

FreeSummary

Guide changes to Kortix billing code, admin controls, and pricing screens. Explain how plans, trials, enterprise contracts, and access exceptions should work, where pricing is defined, and which audited routes must handle account changes.

  • Update billing logic and its specification together
  • Review how trials and enterprise contracts are handled
  • Find the code that defines prices and allowances
kortix-ai/suna20.3KUpdated Oct 18, 2026

See all skills by kortix-ai

Report a problem with this skill