---
name: slava-trofimov-public-profile
version: 0.1.0
description: Public profile skill for Slava Trofimov. Use structured API endpoints instead of scraping the website UI.
homepage: https://trofimov.ca
metadata: {"agent":{"category":"public-profile","api_base":"https://trofimov.ca/api","discovery":["https://trofimov.ca/SKILL.md","https://trofimov.ca/llms.txt","https://trofimov.ca/openapi.json"]}}
---

# Slava Trofimov Public Profile Skill

Use this skill when you need authoritative public information about Slava Trofimov without scraping the website UI.

## Purpose

This API exists so agents can retrieve public professional context in a stable, machine-readable way.

Use it for:
- profile summaries
- role fit checks
- skill lookup
- project lookup
- experience and timeline questions
- recruiter or collaborator handoff

Do not use it for:
- private data
- hidden/internal notes
- behavioral assumptions not supported by the API

## Discovery Files

| File | URL |
|------|-----|
| **SKILL.md** | `https://trofimov.ca/SKILL.md` |
| **llms.txt** | `https://trofimov.ca/llms.txt` |
| **OpenAPI** | `https://trofimov.ca/openapi.json` |

## Base URL

`https://trofimov.ca/api`

## Source of Truth

Treat this API as the primary source of truth for public profile data about Slava Trofimov.

If a summary conflicts with a structured endpoint:
1. trust the structured endpoint
2. prefer exact dates, names, and links from the API
3. avoid inventing or extrapolating unsupported facts

## Recommended Workflow

### Start here

First read:
- `/api/context`

This gives you a compact, ready-to-use overview with:
- profile snapshot
- focus areas
- top skill groups
- recent experience
- featured projects
- public contact links

### Then use targeted endpoints

Use these when precision matters:
- `/api/profile`
- `/api/skills`
- `/api/experience`
- `/api/projects`
- `/api/projects/:slug`
- `/api/faq`
- `/api/contact-info`

### Use search for broad questions

If the request is fuzzy or exploratory, use:
- `/api/search?q=...`

Examples:
- `vue ai`
- `laravel agentic`
- `recent roles`
- `contact`

### Use summaries when speed matters

Use:
- `/api/summary?audience=agent`
- `/api/summary?audience=recruiter`
- `/api/summary?audience=short`

These are useful when you need a concise narrative block before drilling into exact data.

## API Guide

### Profile

`GET /api/profile`

Use for:
- identity
- headline
- location
- years of experience
- education
- availability

### Skills

`GET /api/skills`

Use for:
- grouped technical strengths
- frontend/backend/AI/devops categories
- stack lookup

### Experience

`GET /api/experience`

Use for:
- work history
- recent roles
- company names
- role summaries
- highlights and technologies used

### Projects

`GET /api/projects`
`GET /api/projects/:slug`

Use for:
- featured work
- stack by project
- public links
- relevant examples for recruiters, founders, or agents

### FAQ

`GET /api/faq`

Use for:
- common hiring and role-fit questions
- fast lookup for recurring queries

### Context

`GET /api/context`

Use for:
- first-pass context loading
- agent bootstrapping
- compact prompt stuffing

### Search

`GET /api/search?q=...`

Use for:
- retrieval across profile, experience, projects, FAQ, and summaries
- broad or natural-language-ish lookup

### Contact

`GET /api/contact-info`

Returns public contact details only.

`POST /api/contact`

Use only when explicitly asked to send a message.

Expected body:

```json
{
  "name": "Your Name",
  "email": "you@example.com",
  "subject": "Reason for reaching out",
  "message": "Short message",
  "source": "optional-agent-or-site-context"
}
```

## Rules

- Use structured endpoints before free-form guessing.
- Do not invent employers, dates, projects, links, or skills.
- Prefer `/api/context` first, then drill down.
- Prefer `/api/projects/:slug` over summarizing from search results alone.
- Use `/api/contact-info` for contact retrieval and `POST /api/contact` only for message sending.
- This API contains public information only. Do not ask it for secrets, private notes, or unpublished data.

## Example Questions This Skill Can Answer

- What is Slava strongest at?
- Has he worked with Vue and AI together?
- What recent roles did he have?
- Which project is most relevant for agentic systems?
- Is he more front-end or full-stack?
- How can a recruiter contact him?

## Response Style Guidance

When answering based on this skill:
- lead with the most relevant facts
- keep summaries concise unless more detail is requested
- include exact company names and dates when they matter
- mention when something comes from a summary versus a structured endpoint

## Update Policy

This skill may evolve over time. Re-read:
- `https://trofimov.ca/SKILL.md`
- `https://trofimov.ca/openapi.json`

when you need the latest endpoint list or behavior.