AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Research Person

skill-carlkibler-agent-skills-research-person · by carlkibler

Research a person from public sources into a confidence-marked Obsidian People dossier.

— No reviews yet
0 installs
4 views
0.0% view→install

Install

$ agentstack add skill-carlkibler-agent-skills-research-person

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ✓ Network access No
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-carlkibler-agent-skills-research-person)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● 1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Research Person? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Research Person

Turn a name into a useful, honest People dossier in the vault — the kind of note that makes the next conversation, intro, or working relationship go better. Built for Carl's relationship KB: real friends and colleagues, researched from public sources only, for his own private notes.

This is the generalized version of a clean OSINT pass: resolve identity → gather public footprint → mark confidence → write it where it belongs without trampling what's already there.

When to use

  • "Research and fill out their People note"
  • "Build a dossier on these folks: "
  • Refreshing a stale People note before a meeting, intro, or 1:1
  • A new colleague/friend you want context on before working together

When NOT to use

  • A public figure for a general report → use deep-research instead (this skill writes to the People KB)
  • Building a profile of Carl himself → use profile-me
  • You only need one fact (current employer) → just search; don't spin up the whole dossier

Ethics & guardrails (read once, apply always)

  • Public sources only. Things the person has published or that are openly indexed. No paywalled

background-check services, no scraping behind logins you'd need to deceive to pass, no pretexting.

  • For Carl's private KB, to support real relationships — not surveillance of strangers. If the named

person isn't someone Carl plausibly knows or works with, pause and confirm before researching.

  • Contain sensitive material. Home address, family members, health, finances, religion, politics,

legal history — even when public — go in a clearly-fenced ## Sensitive block, each line marked ⚠️, never in the orientation blurb or frontmatter. If it isn't relationship-relevant, omit it.

  • Identity confidence is a first-class output. A confidently-written note about the wrong person is

the main failure mode. Always state how sure you are it's the right individual.


Phase 0 — Disambiguate before researching

  1. Take the name plus any disambiguators Carl gives: employer, city, role, email, a LinkedIn/GitHub/site

URL, "the one who…", mutual company.

  1. Check the vault first. If a note already exists, that note IS the source of truth for who this is —

read it, reuse its identity, and update in place (Phase 4 routing).

  • Work: ~/cloud/gdrive/obsidian-vault-carlkibler/halo/People/.md
  • Personal: ~/cloud/gdrive/obsidian-vault-carlkibler/People/.md
  1. If the name is common (e.g. "Mike Smith") and there are no disambiguators and no existing note,

ask Carl for one or two before burning a research pass. Guessing wrong is worse than asking.

  1. For a batch, run people in parallel (one research effort each) but keep their notes separate.

Phase 1 — Gather the public footprint

Cast wide, then verify. Aim to answer: who they are, what they do, where they've been, what they've made, how Carl knows them, and what's useful for the relationship.

Search/fetch angles (skip what doesn't apply):

  • Identity & current role — employer, title, location. Cross-check 2+ sources before stating as fact.
  • Professional history — past roles, companies, education. LinkedIn, company About pages, bios.
  • Builders' trail — GitHub/GitLab, personal site/blog, Stack Overflow, npm/PyPI, patents.
  • Writing & speaking — talks, papers (Scholar/academia.edu), podcasts, posts, interviews.
  • Public social presence — X/Twitter, Mastodon, LinkedIn, Instagram/YouTube if public and relevant.
  • News & affiliations — press mentions, boards, orgs, communities, open-source projects.
  • Shared context — mutual employers/companies already in the vault, mutual people, overlapping history.

Tooling notes:

  • Default to WebSearch + WebFetch. For JS-heavy or fetch-blocked sources (LinkedIn, academia.edu,

Bandcamp/Spotify, some company sites) drive a real browser (Playwright MCP) and pull innerText, `` tags, and JSON-LD — that's where the verifiable structured data lives.

  • When a thread looks deep or multi-source, you can delegate the heavy searching to the deep-research

workflow and curate its findings into the dossier. This skill owns identity-resolution, confidence, routing, and the write; deep-research is just a fan-out engine.

  • Delegation hygiene. When you fan out research to subagents, instruct each to return its findings

as its final message — never to write files. Only the main run writes (the raw dump and the vault note); a subagent that tries to write is sandbox-blocked and wastes a turn. Give each a crisp identity anchor and the exact structured output shape you want back.

  • Dump raw findings as you go to the research folder (Phase 4) — URLs, quotes, screenshots. The curated

note links back to it; never make Carl re-run the search to see your evidence.

Phase 2 — Mark confidence on every non-obvious claim

Per vault convention, tag facts inline:

  • VERIFIED — stated in a credible source you actually read (cite it).
  • INFERRED — reasoned from evidence, not stated outright.
  • UNKNOWN — an open question worth listing (these are valuable; they're the next research).

Plus an explicit identity confidence line near the top: Identity match: HIGH | MEDIUM | LOW with the basis (e.g. "matched via GitHub→personal site→employer; photo + city consistent"). If MEDIUM/LOW, say what would raise it.

Phase 3 — Compose the dossier

Match the existing People-note shape. Two flavors:

Work colleague (halo/People/) — frontmatter

---
aliases: [Full Name, nicknames, handle]
tags: [person, , confidential]
companies: [[Company A]], [[Company B]]
updated: YYYY-MM-DD
---

Personal friend (People/) — frontmatter (no confidential, no work tags)

---
aliases: [Full Name, nicknames]
tags: [person, friend]
updated: YYYY-MM-DD
---

Body (both flavors)

# Full Name

> One-paragraph orientation: who they are, how Carl knows them, the single most useful thing to know.

**Identity match:** HIGH — basis in one line.

## Identity & contact
- Role / employer / location — **VERIFIED** (source)
- Handles: GitHub `x` · site `url` · LinkedIn `url` · X `@x`
- Email / phone — only if Carl already has it or it's openly published

## Background
- Career history, education, notable work — confidence-marked, sourced.

## Public presence & work
- Projects, writing, talks, repos — with links.

## How Carl knows them / shared context
- Mutual companies [[Company]] · mutual people [[Person]] · overlapping history.

## Conversation hooks
- Genuine, specific things to connect on (interests, recent work, shared people). Not flattery.

## Sensitive (public but handle with care)   ← only if any exists
- ⚠️ item — why it's fenced.

## Open questions
- [ ] Unknown to resolve — **UNKNOWN**

## See also
[[Related person]] · [[Company]]

## Sources
Distilled from: `` (date). Key public sources: .

Keep it honest and skimmable: one idea per line, no padding, no LinkedIn-bio voice.

Phase 4 — Write it where it belongs (auto-write, but never clobber)

Routing:

  • Existing note anywhere in the vault → update that file in place.
  • Else, work/HaloHealth colleague → halo/People/.md; personal friend → People/.md.
  • LOW identity match → do NOT write a vault note. Keep the research + ruled-out namesakes in the

agent-notes dump only, and report back asking Carl for one disambiguator (city, employer, a profile URL, or "the one who…"). A confident note about the wrong person is the exact failure this skill exists to avoid. Promote it to a real People note once confidence reaches MEDIUM+ or Carl confirms the identity. (Exception: if a vault note already exists, leave it and just append the open question.)

  • Genuinely ambiguous and no signal → ask Carl which.

Raw research dump (always):

  • Work → ~/dev/agent-notes/work/people-research// (this symlinks under halo/ and syncs).
  • Personal → ~/dev/agent-notes/me/people-research//.
  • Save findings.md (URLs + quotes + confidence) and any screenshots/exports there.

Merge rule — preserve existing content:

  • Personal notes are often freeform logs / 1:1 notes. Do not overwrite them. Read the file, then

insert a ## Background (researched ) dossier section (and the other dossier sections) above or below the existing log, leaving every dated entry and human-written line intact.

  • For an existing structured note, enhance in place — update stale facts, add new findings, bump

updated:, append to Open questions. Never drop Carl's hand-written lines.

  • Always finish by updating updated: / adding a (researched YYYY-MM-DD) marker so refreshes are visible.

Cross-link both ways: link every Company and Person the note touches; redlink [[Like This]] for named-but-missing entities (marks a note worth creating). Weave into hubs like [[_People Directory]] when present.

Phase 5 — Report back

Tell Carl, per person: where the note landed (path), identity confidence, the 3–5 most useful new things found, anything fenced as sensitive, and the top open questions. For a batch, a one-line-per-person summary table.

The handoff version

If Carl wants to hand this to a friend, a colleague, or a different agent/tool that can't run this skill, give them the standalone copy-paste prompt in [references/handoff-prompt.md](references/handoff-prompt.md). It carries the same methodology and guardrails without the vault-write step.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.