personal-statement

Use when writing medical school personal statements, residency application essays, fellowship statements, or graduate school admissions essays. Crafts compelling narratives highlighting clinical experiences, research achievements, and career motivations for healthcare education applications.

3,891 stars

Best use case

personal-statement is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when writing medical school personal statements, residency application essays, fellowship statements, or graduate school admissions essays. Crafts compelling narratives highlighting clinical experiences, research achievements, and career motivations for healthcare education applications.

Teams using personal-statement should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/personal-statement/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/aipoch-ai/personal-statement/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/personal-statement/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How personal-statement Compares

Feature / Agentpersonal-statementStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when writing medical school personal statements, residency application essays, fellowship statements, or graduate school admissions essays. Crafts compelling narratives highlighting clinical experiences, research achievements, and career motivations for healthcare education applications.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Personal Statement Writer for Medical Education

Craft compelling personal statements for medical school, residency, fellowship, and graduate school applications in healthcare fields.

## When to Use

- Use this skill when the task needs Use when writing medical school personal statements, residency application essays, fellowship statements, or graduate school admissions essays. Crafts compelling narratives highlighting clinical experiences, research achievements, and career motivations for healthcare education applications.
- Use this skill for academic writing tasks that require explicit assumptions, bounded scope, and a reproducible output format.
- Use this skill when you need a documented fallback path for missing inputs, execution errors, or partial evidence.

## Key Features

- Scope-focused workflow aligned to: Use when writing medical school personal statements, residency application essays, fellowship statements, or graduate school admissions essays. Crafts compelling narratives highlighting clinical experiences, research achievements, and career motivations for healthcare education applications.
- Packaged executable path(s): `scripts/main.py`.
- Reference material available in `references/` for task-specific guidance.
- Structured execution path designed to keep outputs consistent and reviewable.

## Dependencies

- `Python`: `3.10+`. Repository baseline for current packaged skills.
- `Third-party packages`: `not explicitly version-pinned in this skill package`. Add pinned versions if this skill needs stricter environment control.

## Example Usage

```bash
cd "20260318/scientific-skills/Academic Writing/personal-statement"
python -m py_compile scripts/main.py
python scripts/main.py --help
```

Example run plan:
1. Confirm the user input, output path, and any required config values.
2. Edit the in-file `CONFIG` block or documented parameters if the script uses fixed settings.
3. Run `python scripts/main.py` with the validated inputs.
4. Review the generated output and return the final artifact with any assumptions called out.

## Implementation Details

See `## Workflow` above for related details.

- Execution model: validate the request, choose the packaged workflow, and produce a bounded deliverable.
- Input controls: confirm the source files, scope limits, output format, and acceptance criteria before running any script.
- Primary implementation surface: `scripts/main.py`.
- Reference guidance: `references/` contains supporting rules, prompts, or checklists.
- Parameters to clarify first: input path, output path, scope filters, thresholds, and any domain-specific constraints.
- Output discipline: keep results reproducible, identify assumptions explicitly, and avoid undocumented side effects.

## Quick Check

Use this command to verify that the packaged script entry point can be parsed before deeper execution.

```bash
python -m py_compile scripts/main.py
```

## Audit-Ready Commands

Use these concrete commands for validation. They are intentionally self-contained and avoid placeholder paths.

```bash
python -m py_compile scripts/main.py
python scripts/main.py
```

## Workflow

1. Confirm the user objective, required inputs, and non-negotiable constraints before doing detailed work.
2. Validate that the request matches the documented scope and stop early if the task would require unsupported assumptions.
3. Use the packaged script path or the documented reasoning path with only the inputs that are actually available.
4. Return a structured result that separates assumptions, deliverables, risks, and unresolved items.
5. If execution fails or inputs are incomplete, switch to the fallback path and state exactly what blocked full completion.

## Quick Start

```python
from scripts.personal_statement_writer import PersonalStatementWriter

writer = PersonalStatementWriter()

# Generate personal statement
statement = writer.write(
    program_type="medical_school",
    key_experiences=["Shadowing Dr. Smith", "Volunteer at free clinic", "Research on diabetes"],
    motivation="Helping underserved communities",
    character_limit=5300
)
```

## Core Capabilities

### 1. Structure Generation

```python
outline = writer.create_outline(
    program="residency_surgery",
    themes=["Leadership", "Technical skill", "Patient advocacy"]
)
```

**Standard Structure:**
1. **Opening Hook** (10-15%) - Captivating patient story or defining moment
2. **Clinical Experiences** (30-40%) - Specific patient encounters with reflection
3. **Research/Academic** (20-25%) - Scholarly contributions and intellectual curiosity
4. **Service/Leadership** (15-20%) - Community impact and teamwork
5. **Career Goals** (10-15%) - Clear vision for future practice

### 2. Experience Framing

```python
framed = writer.frame_experience(
    experience="Volunteered at homeless shelter",
    angle="patient_advocacy",
    program_type="family_medicine"
)
```

**STAR Method for Experiences:**
- **S**ituation: Brief context
- **T**ask: Your responsibility
- **A**ction: Specific steps you took
- **R**esult: Measurable outcome + personal reflection

### 3. Character Optimization

```python
optimized = writer.optimize_length(
    draft_statement,
    target_chars=5300,  # AMCAS limit
    min_chars=4500
)
```

**Character Limits by Program:**
| Program | Character Limit | Word Approx |
|---------|----------------|-------------|
| AMCAS (Medical School) | 5,300 | ~750 words |
| ERAS (Residency) | Varies by specialty | ~800 words |
| Fellowship | Usually 1-2 pages | ~1000 words |
| Graduate School | Varies | ~500-1000 words |

### 4. Tone Adjustment

```python
adjusted = writer.adjust_tone(
    statement,
    tone="confident_but_humble",
    avoid_cliches=True
)
```

## Common Patterns

See `references/personal-statement-examples.md` for:
- Medical School (MD/DO) Examples
- Residency Personal Statements by Specialty
- Fellowship Application Essays
- Re-applicant Strategies
- Career Changer Narratives

## Quality Checklist

**Before Writing:**
- [ ] List 3 defining patient experiences
- [ ] Identify unique aspects of your journey
- [ ] Research specific program values

**After Writing:**
- [ ] No clichés ("I want to help people", "Since I was young...")
- [ ] Specific examples throughout
- [ ] Personal reflection on every experience
- [ ] Clear connection to chosen specialty
- [ ] Within character limits
- [ ] Proofread for errors

## Common Pitfalls

❌ **Avoid**: "I have always wanted to be a doctor since childhood"
✅ **Instead**: "My decision to pursue medicine crystallized when..."

❌ **Avoid**: Listing achievements without reflection
✅ **Instead**: "This experience taught me..." + specific insight

---

**Skill ID**: 203 | **Version**: 1.0 | **License**: MIT

## Output Requirements

Every final response should make these items explicit when they are relevant:

- Objective or requested deliverable
- Inputs used and assumptions introduced
- Workflow or decision path
- Core result, recommendation, or artifact
- Constraints, risks, caveats, or validation needs
- Unresolved items and next-step checks

## Error Handling

- If required inputs are missing, state exactly which fields are missing and request only the minimum additional information.
- If the task goes outside the documented scope, stop instead of guessing or silently widening the assignment.
- If `scripts/main.py` fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.
- Do not fabricate files, citations, data, search results, or execution outcomes.

## Input Validation

This skill accepts requests that match the documented purpose of `personal-statement` and include enough context to complete the workflow safely.

Do not continue the workflow when the request is out of scope, missing a critical input, or would require unsupported assumptions. Instead respond:

> `personal-statement` only handles its documented workflow. Please provide the missing required inputs or switch to a more suitable skill.

## Response Template

Use the following fixed structure for non-trivial requests:

1. Objective
2. Inputs Received
3. Assumptions
4. Workflow
5. Deliverable
6. Risks and Limits
7. Next Checks

If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.

Related Skills

afrexai-personal-finance

3891
from openclaw/skills

Complete personal finance system — budgeting, debt payoff, investing, tax optimization, net worth tracking, and financial independence planning. Use when managing money, building wealth, paying off debt, planning retirement, or optimizing taxes. Zero dependencies.

Personal Finance

personality-analyzer

3891
from openclaw/skills

Analyze a person's personality traits based on their written text or chat messages. Use this skill whenever the user wants to understand someone's personality, character, communication style, or behavioral tendencies from text. Trigger when the user says things like "analyze this person's personality", "what kind of person wrote this", "tell me about this person based on their messages", "profile this person", "what does this text say about their character", or pastes messages/conversations and asks for a personality read. Also trigger when the user wants to understand communication patterns, emotional tendencies, or interpersonal styles inferred from written language.

Bank Statement Converter Skill

3891
from openclaw/skills

Convert PDF bank statements to CSV/JSON.

personal-growth-coach

3891
from openclaw/skills

Daily thinking practice skill. Generate open-ended exercises based on Pyramid Principle, Asking the Right Questions, and Underlying Logic to help users improve thinking, communication, and cognitive abilities. Triggers: daily practice, quiz me, thinking training, cognitive improvement, personal growth.

MBTI 16-Personality Stylized Persona Skill

3891
from openclaw/skills

Dynamic communication style and perspective configurator based on the 16 MBTI personality types. Loads specific character profiles to analyze tasks, recommend workflows, or contrast strategies using different cognitive paradigms (e.g., INTJ's strategic focus vs. ESFJ's team cohesion). THIS IS NOT A CLINICAL OR HIRING TOOL.

Konto — Personal Finance API

3891
from openclaw/skills

Query personal finance data from Konto (bank accounts, investments, assets, loans, transactions).

personal-crm

3891
from openclaw/skills

Personal relationship manager powered by Feishu/Lark Bitable. Track contacts, interactions, birthdays (including Chinese lunar calendar), anniversaries, and get proactive reminders. Never forget a birthday again.

personal-finance

3891
from openclaw/skills

Manage personal finances, track spending by category, set budgets, and receive reminders for EMIs and one-time annual expenses. Use for logging expenses, checking budget status, or setting up financial reminders.

dei-statement-drafter

3891
from openclaw/skills

Draft Diversity, Equity, and Inclusion statements for academic applications

personal-guardian

3891
from openclaw/skills

个体终端应急守护智能体(PTERA)。当用户激活"安全时刻"或设备自动检测到危险信号时,Agent 获得完全自主决策权,默认用户处于无法应答状态,以人身安全为最高优先级执行饱和式救援——录音、定位、联系人链式通知、120/110 自主呼叫、无人机急救网络联动。

personal-deadline-radar

3891
from openclaw/skills

扫描个人待办、会议和消息摘要,找即将到期事项与时间冲突。;use for deadlines, calendar, tasks workflows;do not use for 自动改日历, 伪造截止时间.

openhanako-personal-ai-agent

3823
from openclaw/skills

Build and configure personal AI agents with memory, personality, and autonomy using OpenHanako on Electron.