CtrlK
BlogDocsLog inGet started
Tessl Logo

analyzing-office365-audit-logs-for-compromise

Parse Office 365 Unified Audit Logs via Microsoft Graph API to detect email forwarding rule creation, inbox delegation, suspicious OAuth app grants, and other indicators of account compromise.

52

Quality

58%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/analyzing-office365-audit-logs-for-compromise/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

50%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is well-structured and concise but stops at high-level procedure descriptions, providing no concrete code or invocation examples and failing to point to the provided reference and script bundles. Validation/verification steps for the batch mailbox operations are absent.

Suggestions

Add a concrete 'Run it' section with the agent.py CLI invocation (from references/api-reference.md) so the workflow is executable rather than descriptive.

Add explicit validation/retry checkpoints between steps (e.g., verify token acquisition succeeded, confirm pagination exhausted before reporting) to support the batch mailbox enumeration.

Link the bundle files in the body — e.g., 'See references/api-reference.md for full CLI and function reference' — so progressive disclosure is actually signaled.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence without explaining basic concepts; only minor tightening of the Overview prose would be needed to reach 5.

4 / 5

Actionability

Steps are high-level hints ('Authenticate to Microsoft Graph using MSAL client credentials flow', 'Query Unified Audit Log for suspicious operations') with no executable code or commands, even though a CLI tool (scripts/agent.py) and reference exist.

2 / 5

Workflow Clarity

Seven steps are sequenced, but there are no validation checkpoints or error-recovery feedback loops; because the skill enumerates across mailboxes (a batch operation), workflow clarity is capped at 3.

3 / 5

Progressive Disclosure

Section structure is reasonable, but the existing bundle files (references/api-reference.md, scripts/agent.py) are never referenced or linked from the body, so the detailed material is not clearly signaled for navigation.

3 / 5

Total

12

/

20

Passed

Description

66%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is specific and distinct, clearly communicating what the skill does across multiple compromise indicators. Its main weakness is the absence of any 'Use when...' trigger guidance, which limits completeness.

Suggestions

Append a 'Use when...' clause naming natural trigger phrases (e.g., 'Use when investigating Business Email Compromise, suspicious inbox/forwarding rules, mailbox delegation, or OAuth consent grants in Office 365').

Add common synonyms a user might say — 'BEC', 'phishing', 'inbox rules', 'mail forwarding' — to broaden trigger term coverage.

DimensionReasoningScore

Specificity

Lists several concrete actions — 'detect email forwarding rule creation, inbox delegation, suspicious OAuth app grants' — with only minor gaps from the vague 'other indicators of account compromise'.

4 / 5

Completeness

A clear 'what' is stated, but there is no 'Use when...' clause or equivalent explicit trigger guidance, so completeness is capped at 3 per the rubric guideline.

3 / 5

Trigger Term Quality

Natural terms like 'Office 365', 'audit logs', 'account compromise', and 'OAuth app grants' are present, though a few common synonyms (e.g. 'BEC', 'phishing') are not surfaced.

4 / 5

Distinctiveness Conflict Risk

The O365 Unified Audit Log / account-compromise niche is distinct with specific triggers, with only minor overlap risk against general Office 365 or Graph skills.

4 / 5

Total

15

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
mukul975/Anthropic-Cybersecurity-Skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.