# Verified Person Research

> Professional Background Research for a specific real, living person using public sources. Use for identity and professional-background questions, meeting or speaker preparation, public professional claim verification that requires source checking, and explicitly requested Deep Research or a cited Life Story. Supports Quick, Standard, and Deep Research. Never contact the subject. Do not use for a single established fact, profile editing, resume screening, company research, contact discovery, or historical figures.

- Skill: `liewcf/verified-person-research` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add liewcf/verified-person-research`
- Raw SKILL.md: https://api.skillmd.com/api/skills/liewcf/verified-person-research/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: liewcf (https://skillmd.com/u/liewcf)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/liewcf/verified-person-research

---


# Verified Person Research

Professional Background Research — a careful, evidence-based way to research a real living person's
public professional record without turning ordinary background research into a private-life
investigation.

`CONTEXT.md` is the canonical glossary and boundary definition for this skill. These instructions
operationalize those terms; when duplicated wording conflicts, the glossary wins.

**Verified runtime:** Codex v0.1. Research instructions use host-neutral capability language where
practical.

## Select the Research Mode

Read `references/mode-policy.md` before selecting or executing a Research Mode. It is the authoritative
mode contract for intent, Research Budgets, output shape, scope, saving, and subagent permission.

Apply explicit `--quick`, `--standard`, or `--deep` flags before inferred intent. Resolve ambiguous
depth to Quick Research. Quick and Standard Research always run in the current agent. Deep Research
may propose relevant parallel lanes only after separate explicit permission; otherwise run them
sequentially without asking again.

---

## Before research begins

### Identity Resolution (hard gate)

No substantive research begins until the subject is identified safely. A confident report produced
before Identity Resolution is a critical failure.

1. Build an **Identity Fingerprint** from the available information: full name and variants, employers
   with dates, schools with dates and degrees, current and past locations, distinctive tokens (unusual
   title, named product, company handle, co-founder name).
2. Every source used for a claim must match the resolved person through at least one distinguishing
   professional token beyond the name (for example, employer plus role, dated education, a distinctive
   project, or a verified handle) and must contradict none of the resolved fingerprint. A shared name
   alone never satisfies this check; common-name sources require multiple matching facts.
3. **One strong unique token** (a distinctive employer-product combination, an uncommon name with a
   verifiable title) may be enough to resolve identity. Use it when it safely identifies one person.
4. **Common names require multiple matching facts** before identity is resolved. "David Lee, product
   manager, Singapore" identifies thousands of people — do not guess.
5. If two materially plausible candidates remain and the difference changes the story, stop and ask
   the user to disambiguate. Present both with their distinguishing details.
6. A LinkedIn URL helps identify the subject but is neither complete evidence nor a substitute for
   open-web verification.

### Permitted-use check

Before research begins, verify the request does not indicate a prohibited use. This skill refuses:

- **Formal Background Checks:** Employment, promotion, applicant, credit, insurance, tenancy,
  admission, or eligibility screening.
- **Suitability scoring:** Trustworthiness, character, risk, or fitness assessments.
- **Contact enrichment or surveillance:** Personal email, phone, address discovery; lead generation;
  private-person investigation without a legitimate professional purpose.
- **Out-of-scope subjects:** Companies as the primary subject; historical or deceased persons;
  LinkedIn profile or résumé editing.

If a request mixes a prohibited use with safe professional research, continue the safe part and stop
the prohibited part. Say which part was refused and why.

**Investment-related requests:** Report the public professional track record of individuals involved
(factual roles, documented claims, verifiable outcomes). Do not make an investment recommendation,
valuation opinion, or suitability assessment.

**Private Individual safeguard:** When Standard or Deep Research is requested about an apparent
Private Individual (no meaningful public professional role or self-published professional record),
establish a legitimate professional purpose before proceeding. Ask: *"This person appears to have a
minimal public professional footprint. What are you using this research for?"* If the answer is
reasonable, proceed at the requested mode. If it resembles surveillance, stop.

### Profile handling

- A fetched LinkedIn profile is a **fragment**, never an anchor list. Missing content cannot establish
  an absent role, gap, or inactivity. Sanity-check the person against the open web before locking any
  conclusion.
- Prefer pasted profile text when available. If the fetch fails (HTTP 999 on `/in/`), try
  `linkedin.com/posts/` URLs via search, then ask the user to paste.
- When the fetch and the world disagree, the world wins. The disagreement itself is worth a line in
  the report.
- **Absence in a fetch is not absence in life.** Never conclude "they have no current role," "they did
  nothing after 2017," or "their career stalled" from a fetch. The report must not treat missing
  LinkedIn rows as proof of absent roles, gaps, or inactivity.

---

## Research workflow

Once Identity Resolution succeeds and the mode is selected:

### 1. Map anchors and seams

List the **anchors**: dated, checkable rows — jobs, schools, funding rounds, publications, awards.
These are what you will verify.

For **Standard** and **Deep** modes, also list the **seams**: the joins between anchors, where the
story actually lives. For each seam, write the question it poses as a research target. In **Quick**
mode, note seams only when they are obvious and material to the question.

A gap in a résumé is a question, never a conclusion. If the answer is not public, the honest report
states what is unexplained and stops. Never speculate about private causes: illness, caregiving,
firing, burnout, family pressure, financial hardship, or visa issues.

### 2. Search

Read the bundled `references/search-playbook.md` for query patterns per source lane.

Two rules govern every query:
- **Never search the bare name.** Pair it with a fingerprint token.
- **Search the seam, not the subject.** Target the transitions, not a biography that does not exist.

Available source lanes (mode-aware):
- **Own voice** — Podcasts, conference talks, YouTube, interviews. Hunt the subject narrating
  themselves. This is the highest-yield lane.
- **Core web & press** — News, trade press, funding announcements, company About pages, official
  bios, award listings.
- **Self-published** — Their own writing: Substack, Medium, personal site, GitHub, X/Twitter, blog.
- **Records** (conditional) — Scholar, patents, papers. Run only if the anchors mark the subject as
  academic, researcher, scientist, clinician, or inventor. For everyone else this returns nothing and
  wastes time.

All lanes target the Public Professional Record. Only Deep Research may add bounded Personal Context,
and then only from deliberately public, non-sensitive material that directly explains a documented
professional transition. Quick and Standard Research never run personal-context searches.

Apply the active mode's Research Budget and subagent rule from `references/mode-policy.md`. For
sequential Deep Research, work through relevant lanes in priority order: own voice, core web and
press, self-published material, then conditional records.

### 3. Verify and classify

Read and apply `references/verification-policy.md`. It is authoritative for opened evidence,
Identity Fingerprint gating, source independence, Claim Confidence, consequential-claim thresholds,
and confidence preservation in summaries and Saved Reports.

### 4. Write

Follow the output contract for the active Research Mode. Read the bundled
`references/report-template.md` for the structure of each mode.

**Length tracks evidence.** Apply the active Research Budget from `references/mode-policy.md`.

**Omit unsupported sections.** Do not write placeholder prose, generic background, or filler for
sections without evidence. An empty section is better than an invented one.

**The opening summary is where uncited claims hide.** Two rules prevent the summary from quietly
upgrading uncertain claims:
- Nothing in the summary may be absent from the body.
- Nothing in the summary may be stated more confidently than the body tiers it. Self-reported claims
  read as *"by their own account…"* in the summary. Inferred and Unverified claims retain visible
  qualification. This applies to summaries in every mode and every Saved Report.

**Let them talk.** Quote the subject directly wherever you have their words. A single line from a
podcast does more work than a paragraph of inference.

**Professional Themes** (Standard and Deep): A recurring pattern supported by repeated documented
professional choices or the subject's own explicit explanation. Not an inferred personality trait,
motive, trauma, or private emotional cause. Include only when the evidence supports it.

The rule under everything: **every sentence in the narrative traces to a source or is visibly marked
as inference.**

### 5. Hand back

All modes return their result in chat. A Saved Report is created only when explicitly requested.

After presenting the result, add only evidence-supported hand-back notes that help the user act on
the research. A one-sentence short version and the biggest material gap are usually useful. Mention a
surprising finding or a claim that failed checking only when one actually exists; never add
placeholder lines such as "none" to satisfy a format.

---

## Saved Reports

A Saved Report is a durable research artifact created only at the user's explicit request. Research
otherwise remains a chat response.

**Creating a Saved Report:**
- Quick, Standard, and Deep Research never create a file without an explicit save request.
- The saved file contains the same evidence, Claim Confidence classifications, and citations as the
  chat result.
- When no path is supplied, save to `research/people/<firstname-lastname>.md` within the current
  project. Create the directory if needed.
- A user-supplied path is honored when it is within the available authorization boundary.
- Before overwriting an existing report, ask for explicit approval: *"A report already exists at
  [path]. Overwrite it?"*
- Refusing overwrite preserves the existing file unchanged. Confirm this to the user.
- After a successful save, return the exact resulting path: *"Saved to [absolute path]."*
- If saving fails, report the failure clearly. The research result remains available in chat. Do not
  claim the file was saved when it was not.

---

## When the subject is thin

Most people are. A mid-level manager at a normal company has no press, no podcast, no writing —
their entire public existence is the profile you were handed.

**Do not pad.** The failure mode is a beautifully written report about someone the sources barely
mention, and it is worse than useless: it looks exactly like the good version, so the user cannot
tell it apart. This applies in every mode — a Deep Research request does not justify invented detail.

Write the honest thin report:
- What the record actually confirms
- What the profile claims but nothing corroborates — flagged **Self-reported**
- What is genuinely absent, and why: a private person who does not post; a name so common that
  everything is unattributable; a career in a field that generates no public record; a footprint in a
  language or platform you could not reach
- The seam questions you could not answer

Say it plainly, up top: **"This person has a minimal public footprint. Here is everything that is
actually verifiable, and here is what I could not establish."** Four hundred honest words beat two
thousand invented ones. The absence is the finding. Report it as one.

---

## Rails

You are researching a real human being who did not ask to be researched. That the material is public
does not make every use of it fair.

### Privacy boundaries

- **Public sources only.** Things the subject or a publisher put into the open web. No data brokers,
  no leaked datasets, no people-search or Formal Background Check providers, no scraped contact databases. No
  bypassing a login, paywall, CAPTCHA, or robots restriction. A 403 is an answer.
- **No contact enrichment.** Do not hunt for personal email, phone, home address, private financial
  information, or private family information.
- **Never contact, connect, follow, message, or comment.** Research is silent.
- **Never infer protected traits** — not from a name, not from a photo, not from a school. No
  inference of health, religion, politics, sexuality, trauma, psychological state, or private
  motives.
- **Never state an address, private family information, or sensitive personal details.** Use a birth
  year only when a reliable public source supports it and it is materially necessary to resolve
  identity or answer the professional request.

### Scope boundaries

- **Public Professional Record** for Quick and Standard Research. Information deliberately published
  about a person's work, professional activity, public claims, and relevant public statements.
- **Personal Context** permitted only in Deep Research (see Deep Research section for the full
  boundary).
- **Career Seams are research questions, not evidence of a cause.** A transition, discontinuity, or
  unexplained interval is reported as such. The report does not enumerate speculative private causes.
  When established anchors end in 2019 and resume in 2020, report only: *"No opened source explains
  the transition between the established anchors."* Missing LinkedIn rows alone never establish an
  interval.

### Controversy handling

Professionally relevant controversies are in scope, handled like a journalist would:

- Include only when credible public sources report the controversy.
- Cite the sources.
- Name the outcome if there was one.
- Include the subject's response when an opened source records it. State that no response was given
  only when an opened source documents that absence; otherwise say only that no response was found
  in the opened sources.
- Distinguish allegation from established fact. Never launder an allegation into a finding.
- Never omit a controversy because it is awkward.

---

## Quality bar

- Every factual sentence is supported by opened evidence. Visibly qualify only Inferred reasoning and
  load-bearing Unverified claims; delete unsupported, non-load-bearing candidate facts rather than
  retaining them through hedging.
- Length tracks evidence. A padded report is a failed report even if it reads beautifully —
  *especially* if it reads beautifully, because then nobody can tell it apart from the real thing.
- Their own words beat your prose. Quote them wherever you can.
- The seams get answered, or their unanswerability gets stated.
- Professionally relevant claims that failed checking are reported when the evidence supports that
  conclusion; do not add a placeholder when no such claim exists.
- What you could not reach is named in the report, not hidden.
- Self-reported, Inferred, and Unverified claims retain visible qualification in every summary and
  every Saved Report.
- A reader should finish able to say *"now I understand how they got here"* — and able to check every
  load-bearing claim you made.

## The one failure that matters

Everything above serves a single end. This skill is pointed at real, named, living people, and its
output will be believed. A fluent, confident, well-structured report about a life that was partly
invented is indistinguishable — to the reader, and often to you — from a true one. That is the
failure to fear. Not a thin report. Not a slow one. Not one that says *"I could not establish this."*

Prefer the honest gap, every time.

---

## Bundled references

- `references/mode-policy.md` — Authoritative Research Mode selection, Research Budgets, scope, and
  subagent rules. Read before selecting or executing a mode.
- `references/verification-policy.md` — Authoritative evidence gates, Claim Confidence, source
  independence, and summary-integrity rules. Read before verification.
- `references/search-playbook.md` — Query patterns per source lane and blocked-source handling.
- `references/report-template.md` — Output shape, mode-specific contracts, and structural guidance.

These files are bundled alongside this SKILL.md. Resolve them relative to the active skill directory.

