# Professor Analyzer

> >-

- **Type:** Skill
- **Install:** `agentstack add skill-bydeng01-phd-application-skill-skill-snapshot-iter1`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [bydeng01](https://agentstack.voostack.com/s/bydeng01)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [bydeng01](https://github.com/bydeng01)
- **Source:** https://github.com/bydeng01/phd-application-skill/tree/main/skills/professor-analyzer-workspace/skill-snapshot-iter1

## Install

```sh
agentstack add skill-bydeng01-phd-application-skill-skill-snapshot-iter1
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Professor / lab analyzer

This is the load-bearing skill of the PhD copilot: outreach emails, proposals, and ranking
all consume the profile it produces. The goal is a profile so specific that a cold email
built from it could only have been written to *this* professor — the opposite of generic.

## What you produce

A single file at `knowledge-base/professors/.md` following the **professor schema**
in `shared/schemas/README.md` (read it for the exact front-matter fields and section
headings). Match that shape exactly so downstream skills can parse it.

## Step 1 — Load context

Read `knowledge-base/profile/profile.md` (and `profile/cv-master.md` if fit detail is
needed). You cannot assess "fit" without knowing the applicant's interests, background, and
dealbreakers. If the profile is empty, ask the user for their research interests before
proceeding — fit scoring is meaningless otherwise.

Identify the professor from the user's request: a name + institution, a homepage, a Scholar
profile, or a lab URL.

## Step 2 — Gather evidence

Use `shared/references/data-sources.md` for where to look. Prioritize *recency* — a PhD
starts in 1–2 years, so what matters is where the lab is heading, not its decade-old
greatest hits. Aim to ground every later claim in a real source.

Gather, roughly in priority order:

- **Recent publications (last ~3 years).** Titles, venues, and — crucially — the *takeaway*
  of each: what problem, what approach, what's new. Use publication search (arXiv, Semantic
  Scholar/OpenAlex, Scholar, PubMed as fits the field). Static pages → web fetch; rendered
  pages like Google Scholar → browser tools.
- **Lab website / "join us" page.** Current projects, stated open problems, whether they're
  recruiting, funding mentions.
- **Grants / funding signals.** Active grants suggest funded positions. Note explicitly
  when funding is unclear — don't guess.
- **Research trajectory.** Read across the recent papers for the *direction*: what thread
  is the lab pulling on, what will the next few papers likely be about?

If a source can't be fetched, note the gap rather than fabricating around it.

## Step 3 — Assess fit

This is the part that makes the profile useful. Compare the professor's trajectory against
the applicant's profile and be honest and specific:

- **Overlaps** — concrete intersections between their open problems and the applicant's
  interests/skills. Name the paper and the matching part of the applicant's background.
- **Gaps** — where the applicant lacks relevant background, or the lab's direction diverges
  from their goals. Real assessment includes the misses.
- **fit_score (0–100)** — your overall judgment, justified by the overlaps/gaps above, not
  a vibe. Reserve 80+ for strong, well-evidenced matches.
- **Funding & "accepting students"** signals, set honestly to `unknown` when unclear.

## Step 4 — Outreach hooks

The payoff section. List 2–4 *specific* things the applicant could reference in a first
email: a particular recent paper and a genuine, substantive reaction or question; a
connection between one of their projects and the applicant's work; an open problem the
applicant is positioned to contribute to. These must be real and specific — they are what
separates an authentic email from spam. No flattery, no invented enthusiasm.

## Step 5 — Write the file

Write `knowledge-base/professors/.md` with all schema fields and a `## Sources`
section linking everything you used. Then give the user a short summary: the fit verdict,
the single strongest hook, and any gap they should be aware of. If you found a clear
opening, suggest the natural next step (e.g. drafting outreach).

## Guardrails

Follow `shared/references/ethics.md`. The cardinal rule: never invent a publication,
finding, grant, or shared interest. If you're unsure whether something is real, mark it
uncertain and cite what you actually found. A profile that honestly says "weak fit" is more
valuable than a flattering one that wastes the applicant's outreach on a bad match.

## Source & license

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

- **Author:** [bydeng01](https://github.com/bydeng01)
- **Source:** [bydeng01/phd-application-skill](https://github.com/bydeng01/phd-application-skill)
- **License:** MIT

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

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-bydeng01-phd-application-skill-skill-snapshot-iter1
- Seller: https://agentstack.voostack.com/s/bydeng01
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
