From research-app-toolkit
Searches for professors matching user research interests and CV profile, evaluates fit via homepages, publications, and recruiting status.
npx claudepluginhub xujingchen1996/research-app-toolkitThis skill uses the workspace's default tool permissions.
Read the file `${CLAUDE_PLUGIN_ROOT}/.local.md` at the start of this skill. If `cv_profile_analyzed` is not `true` or the `## CV Profile` section is empty, output:
Recommends universities, PhD, MRes programs matching user CV profile and preferences via web searches, personalization questions, requirement checks, and fit categorization into tiers.
Formats academic CVs for faculty, research, postdoc roles. Organizes sections including publications, grants, teaching experience, presentations, service.
Guides creation of academic career documents including research statements, teaching statements, diversity statements, CVs, and biosketches for faculty applications and promotions.
Share bugs, ideas, or general feedback.
Read the file ${CLAUDE_PLUGIN_ROOT}/.local.md at the start of this skill. If cv_profile_analyzed is not true or the ## CV Profile section is empty, output:
未检测到 CV 画像。 请先运行
/ra:cv-analyze分析你的 CV,其他功能依赖 CV 画像数据。
Output this message and stop immediately.
Before proceeding with analysis, ask the user:
是否需要个性化定制?会问你 4-5 个问题来生成更贴合你需求的结果。
If the user declines personalization, proceed with the standard flow using existing .local.md data.
If the user accepts personalization, ask the following 4-5 targeted questions (use AskUserQuestion for each):
.local.md research_interests if available, and let the user confirm or adjust)date first via Bash, then include current date in the question, e.g., "今天是 2026-04-06,你的申请截止日期是?")Read .local.md and extract:
research_interests -- primary and secondary research areastarget_regions or target_schools -- geographic or institutional preferencesIf the user provided command-line arguments (e.g., /ra:professor-match MIT NLP), parse them for target school and field, and use these as the primary search criteria.
Use WebSearch to find professors matching the user's criteria. Construct searches based on:
Run multiple searches to ensure broad coverage. For each promising result, note the professor's name, university, department, and homepage URL.
For each professor identified, gather detailed information:
Read the professor's homepage using the webReader tool on their faculty page. Extract:
Check recent publications using WebSearch for Google Scholar or DBLP profiles:
Cross-reference with user's CV profile:
For each professor, produce a structured entry:
### [Professor Name]
- **University**: [University Name]
- **Department**: [Department]
- **Position**: [e.g., Associate Professor]
- **Homepage**: [URL]
- **Research Direction**: [1-2 sentence summary]
- **Key Recent Publications**:
1. [Title] ([Venue], [Year])
2. [Title] ([Venue], [Year])
3. [Title] ([Venue], [Year])
- **Match Score**: High / Medium / Low
- **Match Reasoning**: [Which of the user's experiences, skills, or interests align with this professor's work]
- **Suggested Outreach Strategy**: [Specific advice on how to approach this professor, what to emphasize in initial contact]
After analyzing all identified professors, produce:
Summary Table: A comparison table with columns for Professor Name, University, Research Direction, Match Score, and a brief note on alignment.
Detailed Analysis: The full per-professor entries as described in Step 4.
Recommendations: A prioritized shortlist with reasoning, suggesting:
Next Steps: Suggested actions for the user: