Agent skill

Triage Suspicious Login

by dandye in dandye/ai-runbooks

Triage suspicious login alerts like impossible travel, untrusted location, or multiple failures.

Apache-2.0Auto-check passedSecurity

Install Triage Suspicious Login

skills CLI
$ npx skills add dandye/ai-runbooks --skill triage-suspicious-login -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dandye/ai-runbooks triage-suspicious-login --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dandye/ai-runbooks.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/triage-suspicious-login .claude/skills/triage-suspicious-login && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
triage-suspicious-login
GitHub stars
127
Token cost
~1k tokens
SKILL.md length
355 words
Files
1
Skills in repo
27
Repo updated
First seen
Licence
Apache-2.0

At a glance

Triage suspicious login alerts like impossible travel, untrusted location, or multiple failures.

  • Works in 9 steps: Get Case Context → Extract Key Entities → User Context (SIEM) → …
  • Investigating authentication anomalies
  • SKILL.md covers Inputs, Workflow, Required Outputs and Decision Matrix, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Triage Suspicious Login is an agent skill from dandye/ai-runbooks. Triage suspicious login alerts like impossible travel, untrusted location, or multiple failures. Use when investigating authentication anomalies. Analyzes user history, source IP reputation, login patterns, and determines if escalation is needed.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Security, covering Security operations. The licence is Apache-2.0.

When your agent uses it

  • Investigating authentication anomalies
  • Tasks that involve Security operations

Example prompts

  • “/triage-suspicious-login”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Get Case Context
  2. Extract Key Entities
  3. User Context (SIEM)
  4. Source IP Enrichment
  5. Hostname Context (if available)
  6. Recent Login Activity
  7. Check Related Cases
  8. (Optional) Identity Provider Check
  9. Synthesize & Document

What it can do on your machine

Read from SKILL.md and the folder at commit 72a6863. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Triage Suspicious Login loads about 1k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 355 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~68
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from dandye/ai-runbooks at commit 72a6863, republished under its Apache-2.0 licence (© dandye). 355 words, ~1,015 tokens.

Download SKILL.mdSave it as .claude/skills/triage-suspicious-login/SKILL.md (or your agent's skills folder).
name
triage-suspicious-login
description
Triage suspicious login alerts like impossible travel, untrusted location, or multiple failures. Use when investigating authentication anomalies. Analyzes user history, source IP reputation, login patterns, and determines if escalation is needed.
type
Skill
required_roles.chronicle
roles/chronicle.viewer
required_roles.soar
roles/chronicle.editor
required_roles.gti
GTI Standard
personas
tier1-analyst, tier2-analyst, tier3-analyst
generated.by
human:dandye
generated.at
2026-02-04T06:10:49-05:00

Suspicious Login Triage Skill

Guide initial triage of suspicious login alerts (impossible travel, untrusted location, multiple failed logins) for Tier 1 SOC Analysts.

Inputs

  • CASE_ID - SOAR case ID containing the alert(s)
  • ALERT_GROUP_IDENTIFIERS - Alert group identifiers from the case
  • (Optional) USER_ID - The user ID if known upfront
  • (Optional) SOURCE_IP - The source IP if known upfront

Workflow

Step 1: Get Case Context
secops-soar.get_case_full_details(case_id=CASE_ID)
Step 2: Extract Key Entities
secops-soar.list_events_by_alert(case_id=CASE_ID, alert_id=ALERT_ID)

Parse events to extract:

  • USER_ID - The user account
  • SOURCE_IP - The login source IP
  • HOSTNAME - The target/source hostname (if available)
Step 3: User Context (SIEM)
secops-mcp.lookup_entity(entity_value=USER_ID)

Record: Recent activity, first/last seen, related alerts.

Step 4: Source IP Enrichment

Use /enrich-ioc with IOC_TYPE="IP Address":

  • GTI reputation and geolocation
  • SIEM entity summary
  • IOC match status
Step 5: Hostname Context (if available)
secops-mcp.lookup_entity(entity_value=HOSTNAME)
Step 6: Recent Login Activity

Search for login patterns over the last 96 hours:

secops-mcp.search_security_events(
    text='metadata.event_type IN ("USER_LOGIN", "AUTH_ATTEMPT") AND principal.user.userid = "USER_ID"',
    hours_back=96
)

Analyze for:

  • Logins from unusual IPs
  • Successful logins after failures
  • Geographic anomalies (impossible travel)
  • Concurrent sessions from different locations

Use /find-relevant-case with search terms: [USER_ID, SOURCE_IP, HOSTNAME]

Step 8: (Optional) Identity Provider Check

If IDP tools available (e.g., Okta):

  • Account status
  • MFA enrollment
  • Recent legitimate logins
  • Password change history
Step 9: Synthesize & Document

Use /document-in-case with findings summary:

Suspicious Login Triage for USER_ID from SOURCE_IP:
- User SIEM Summary: [...]
- Source IP GTI: [reputation, geo]
- Login Pattern: [normal/anomalous]
- Related Cases: [...]
- Recommendation: [Close as FP | Escalate to Tier 2]
Show full SKILL.md (156 more words)Show less

Required Outputs

After completing this skill, you MUST report these outputs:

OutputDescription
LOGIN_VERDICTAssessment: legitimate, suspicious, or malicious
ANOMALY_INDICATORSWhat made the login suspicious (impossible travel, new device, etc.)
RELATED_ACTIVITYOther suspicious activity from user or source IP
RISK_SCORENumerical risk assessment (0-100) based on findings

Decision Matrix

FindingRecommendation
Known VPN/corporate IP + normal patternClose as FP
User confirmed travel + MFA usedClose as Benign TP
Malicious IP reputationEscalate
Impossible travel + no MFAEscalate urgently
Multiple failures then success from new IPEscalate
Pattern matches user's normal behaviorClose as FP

Key Patterns to Detect

Impossible Travel:

  • Login from NYC, then London 30 mins later
  • Check if VPN or cloud service could explain

Credential Stuffing:

  • Many failures across multiple accounts from same IP
  • Success after many failures

Account Takeover:

  • Login from new device/location
  • Followed by password change or MFA modification

Lateral Movement:

  • Same user logging into many systems rapidly
  • Unusual service account activity

© dandye, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/triage-suspicious-login of dandye/ai-runbooks.

Open the folder on GitHubat commit 72a6863

Compare with similar skills

Triage Suspicious Login next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Triage Suspicious Login compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Triage Suspicious Login this skilldandye/ai-runbooks127—~1kAutomated safety check: PassApache-2.0
Security Alert Triageelastic/agent-skills5921 repos~3.5kAutomated safety check: NotesApache-2.0
Kubernetes Network Security Auditkubeshark/kubeshark12k—~7.3kAutomated safety check: NotesApache-2.0
Security Detection Rule Managementelastic/agent-skills5921 repos~3.9kAutomated safety check: NotesApache-2.0
Chaitin CLIchaitin/chaitin-cli115—~15kAutomated safety check: NotesGPL-3.0
GatesNebulock-Inc/agentic-threat-hunting-framework388—~12kAutomated safety check: PassMIT

Similar skills

  • Security Alert Triage

    elastic/agent-skills

    Official

    Triage Elastic Security alerts — gather context, classify threats, create cases, and acknowledge.

    592 GitHub starsUsed in 1 repo~3.5k tokens
    SecurityAuto-check: notes
  • Hunts for compromised workloads and malicious traffic in a Kubernetes cluster by sweeping network data through Kubeshark MCP, mapped to MITRE ATT&CK.

    12k GitHub stars~7.3k tokensUpdated yesterday
    SecurityAuto-check: notes
  • Official

    Create, tune, and manage Elastic Security detection rules (SIEM and Endpoint).

    592 GitHub starsUsed in 1 repo~3.9k tokens
    SecurityAuto-check: notes
  • Chaitin CLI

    chaitin/chaitin-cli

    A skill your agent uses when running chaitin-cli commands to manage Chaitin security products: SafeLine WAF (site management, IP blocking, ACL, policy rules, attack logs), X-Ray vulnerability…

    115 GitHub stars~15k tokensUpdated 12 days ago
    SecurityAuto-check: notes
  • Gates

    Nebulock-Inc/agentic-threat-hunting-framework

    GATES method validation for hunt-derived detections. An agent skill from Nebulock-Inc/agentic-threat-hunting-framework.

    388 GitHub stars~12k tokensUpdated 2 days ago
    SecurityAuto-check passed
  • Elasticsearch Audit

    aspectrr/deer

    Enable, configure, and query Elasticsearch security audit logs.

    405 GitHub stars~1.7k tokensUpdated 5 mo ago
    SecurityAuto-check passed

More from dandye/ai-runbooks

All 27 skills in this repo
  • Close Case Artifact

    dandye/ai-runbooks

    Close a case or alert with proper reason and documentation. An agent skill from dandye/ai-runbooks.

    127 GitHub stars~615 tokensUpdated 1 mo ago
    Auto-check passed
  • Correlate Ioc

    dandye/ai-runbooks

    Check for existing SIEM alerts and case management entries related to IOCs.

    127 GitHub stars~624 tokensUpdated 1 mo ago
    Auto-check passed
  • Deep Dive Ioc

    dandye/ai-runbooks

    Perform exhaustive analysis of a critical IOC. An agent skill from dandye/ai-runbooks.

    127 GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Enrich Ioc

    dandye/ai-runbooks

    Enrich an IOC (IP, domain, hash, URL) with threat intelligence.

    127 GitHub stars~702 tokensUpdated 1 mo ago
    Auto-check passed
  • Find Relevant Case

    dandye/ai-runbooks

    Search for existing cases related to specific indicators or entities.

    127 GitHub stars~562 tokensUpdated 1 mo ago
    Auto-check passed
  • Full Alert Triage

    dandye/ai-runbooks

    Complete Tier 1 triage workflow. An agent skill from dandye/ai-runbooks.

    127 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Triage Suspicious Login

What does Triage Suspicious Login do?

Triage suspicious login alerts like impossible travel, untrusted location, or multiple failures. Triage Suspicious Login is an agent skill from dandye/ai-runbooks. Triage suspicious login alerts like impossible travel, untrusted location, or multiple failures.

When should I use Triage Suspicious Login?

Triage Suspicious Login fits situations like: investigating authentication anomalies; tasks that involve Security operations.

How do I install Triage Suspicious Login in Claude Code?

Run `npx skills add dandye/ai-runbooks --skill triage-suspicious-login -a claude-code`. Or copy the skill folder (skills/triage-suspicious-login in dandye/ai-runbooks) into .claude/skills/triage-suspicious-login in your project. Claude Code loads it when a task matches its description.

How do I install Triage Suspicious Login in Codex?

Run `npx skills add dandye/ai-runbooks --skill triage-suspicious-login -a codex`. Or copy the skill folder (skills/triage-suspicious-login in dandye/ai-runbooks) into .agents/skills/triage-suspicious-login in your project. Codex loads it when a task matches its description.

Can I use Triage Suspicious Login in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dandye/ai-runbooks --skill triage-suspicious-login -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/triage-suspicious-login, .gemini/skills/triage-suspicious-login, .github/skills/triage-suspicious-login and .opencode/skills/triage-suspicious-login in your project.

What does Triage Suspicious Login need to run?

SKILL.md names no scripts, command-line tools or credentials: Triage Suspicious Login is instructions for the agent only.

Does Triage Suspicious Login access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Triage Suspicious Login safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Triage Suspicious Login use?

Triage Suspicious Login is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Triage Suspicious Login use?

About 1k tokens (SKILL.md is roughly 4.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Triage Suspicious Login?

Skills that share tags, products or a category with Triage Suspicious Login: Security Alert Triage (elastic/agent-skills, 592 stars), Kubernetes Network Security Audit (kubeshark/kubeshark, 12k stars), Security Detection Rule Management (elastic/agent-skills, 592 stars) and Chaitin CLI (chaitin/chaitin-cli, 115 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Triage Suspicious Login?

dandye (a GitHub user) maintains it in dandye/ai-runbooks, which has 127 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on August 14, 2026.

Source: dandye/ai-runbooks on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.