CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

osint-investigation

Follow the money via public records and sanctions data.

56

Quality

70%

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 ./optional-skills/research/osint-investigation/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

81%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 a strong, executable overview: a coherent five-step workflow with genuine error-feedback loops, realistic commands for all 11 sources, disciplined progressive disclosure into well-formed one-level-deep reference wikis, and an appropriate evidence/confidence contract. The only concrete defects are a missing templates/source-template.md file referenced in the 'Adding a new data source' section and a few trimmable prose passages.

Suggestions

Add the missing `templates/source-template.md` (or fix the reference), since the 'Adding a new data source' `cp` command currently fails against the bundle.

Trim the attribution paragraph and the donation/award-origin aside in step 4; the essential information (generic column flags, one-tailed p-value, `--seed N`) survives without the backstory.

DimensionReasoningScore

Conciseness

The body is dense and operational — command blocks with inline comments, a compact tier table, and specifics Claude could not guess (cache paths, env-var names, column flags, tier thresholds). A few passages could be trimmed: the attribution paragraph duplicates the frontmatter, and the aside about the timing script's donation/award origins plus the permutation-test statistics explanation restates context Claude already knows. Efficient overall with minor over-explanation, matching the level-4 anchor rather than 'every token earns its place'.

4 / 5

Actionability

Nearly all guidance is copy-paste ready with realistic values (`--cik 0000320193 --types 10-K,10-Q`, `--jurisdiction us_ny`, documented output columns and idempotency), and every referenced script exists. Two minor gaps hold it below fully executable: the 'Adding a new data source' section's `cp SKILL_DIR/templates/source-template.md` command targets a file that does not exist in the bundle, and `SKILL_DIR` is a placeholder the agent must substitute before any command runs.

4 / 5

Workflow Clarity

A clearly numbered 1-5 pipeline (identify sources → acquire → resolve entities → optional timing test → build findings) with explicit validation and feedback loops: fetchers "return 0 rows with a clear warning rather than silently writing an empty CSV", scripts "surface 429 responses immediately with the upstream's quota message", EDGAR flags individual-filer mismatches, and step 5 produces evidence where "[e]ach evidence item points back to a specific row in a source CSV". The 'Confidence and evidence discipline' section supplies the checklist. This matches the anchor with explicit validation steps, error-recovery feedback, and a checklist; operations are read-only so no destructive-operation cap applies.

5 / 5

Progressive Disclosure

Textbook structure: an explicit `ls`/`cat` listing signals the per-source reference files, all 11 exist and follow the claimed 9-section template, details are exactly one level deep, and per-source schema/coverage/legal content is correctly kept out of SKILL.md. One real defect found against the actual bundle: `SKILL_DIR/templates/source-template.md` is referenced in the body but no `templates/` directory exists, leaving one broken navigation path. That single gap places it just below the clear-overview anchor.

4 / 5

Total

17

/

20

Passed

Description

48%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 concise and distinct but drastically undersells a well-built skill: one idiomatic action and two domain keywords, with no 'Use when...' trigger guidance and no mention of entity resolution, timing correlation, or the evidence-chain output. Users asking for corporate due diligence, lobbying, court-records, or sanctions-screening work would not naturally say any phrase that triggers it.

Suggestions

Add an explicit 'Use when...' clause with concrete triggers, e.g. 'Use when the user asks for corporate due diligence, sanctions screening (OFAC SDN), lobbying/contract cross-referencing, property or court-record lookups, or "follow the money" investigations.'

Enumerate 2-3 concrete actions instead of the single idiom, e.g. "Screens entities against OFAC SDN and ICIJ offshore leaks, resolves corporate names across 130+ registries, and correlates lobbying filings with federal contract awards."

Include natural keyword variations users actually say — due diligence, sanctions screening, corporate filings, court records, offshore leaks, entity resolution — to improve both trigger quality and completeness.

DimensionReasoningScore

Specificity

The description names its domains ("public records and sanctions data") but its only action is the idiom "Follow the money", which is a slogan rather than a concrete action. It does not list 1-2 concrete operations (e.g., "screens entities against sanctions lists", "resolves corporate names across registries"), so it sits at the 'names the domain, generic action' anchor rather than the level above.

2 / 5

Completeness

Per the guideline, the missing 'Use when...' clause caps completeness at 3. A 'what' is present (following money flows via public records and sanctions data) but it is thin — one idiomatic action plus two domains — and 'when' is entirely absent, so it does not reach the both-present level.

3 / 5

Trigger Term Quality

It has some genuinely natural terms ("follow the money", "public records", "sanctions") but only three keyword phrases for a skill spanning 11 sources. Common variations a user would actually say — due diligence, lobbying, OFAC, corporate filings, court records, offshore leaks, entity resolution, OSINT — are all missing, matching the 'relevant keywords but missing common variations' anchor rather than good coverage.

3 / 5

Distinctiveness Conflict Risk

"Public records and sanctions data" plus "follow the money" carves a fairly distinct investigative niche unlikely to trigger for unrelated skills, with only minor overlap risk against general web-research or due-diligence requests. Not 5 because without fuller trigger phrasing, a generic 'research this company' ask could plausibly route here over a general research skill.

4 / 5

Total

12

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository

NousResearch/hermes-agent

Path

optional-skills/research/osint-investigation/SKILL.md

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.