Documentation
you.md
The identity context protocol for the agent internet. An MCP where the context is you -- giving every AI agent full context about who you are.
- 1
$ curl -fsSL https://you.md/install.sh | bashinstall the CLI globally
- 2
$ youmd loginauthenticate with browser or email code
- 3
$ youmd initcreate your identity
- 4
$ youmd pushpublish to you.md/<your-username>
- 5
$ youmd mcp --install claude --autowire into Claude Code
you ship at
https://you.md/<your-username>
Getting Started
you.md is an identity context protocol that any AI agent can read. Think of it as a .env file for your identity -- your bio, projects, values, communication style, and preferences, all in one place.
Web Quickstart
- 1Sign up at you.md/sign-up -- takes 30 seconds
- 2Pick a username and claim your profile
- 3The You Agent builds your identity through conversation
- 4Open the shell, type
/shareto get your shareable context link
CLI Quickstart
$ curl -fsSL https://you.md/install.sh | bash
- 1Install the global CLI with the curl bootstrapper. If you prefer npm directly, run
npm install -g youmd@latest. - 2Run
youmd loginto authenticate - 3Run
youmd init-- the agent builds your identity through conversation - 4Run
youmd pushto publish your profile - 5Run
youto meet U, then type/shareto get your context link
Claude Code Integration
Most you.md users work inside Claude Code, Cursor, or similar AI coding tools. Here's how to use you.md directly from your coding environment.
youmd CLI works in any terminal, including Claude Code's shell. Use you in a regular terminal for the live U conversation. Non-interactive commands work inside your coding agent.Setup
- 1Open a regular terminal (not inside Claude Code) and run
curl -fsSL https://you.md/install.sh | bashonce, thenyouto let U guide login, pull, or identity setup - 2Run
youmd loginto authenticate - 3Run
youmd pushto publish your profile - 4Now switch to Claude Code — all non-interactive commands work from here
Commands That Work Inside Claude Code
These commands are non-interactive and work perfectly in Claude Code, Cursor, Copilot, and any AI coding tool:
| Command | Description |
|---|---|
| youmd status | Check your bundle status and version |
| youmd whoami | See who you're logged in as |
| youmd pull | Download your profile from cloud |
| youmd push | Upload local changes and publish |
| youmd sync | Pull + push in one command |
| youmd private | View your private context |
| youmd private notes append "text" | Add to private notes |
| youmd private projects add name desc | Add a private project |
| youmd memories list | See saved memories |
| youmd memories add fact "content" | Add a memory manually |
| youmd link create | Create a shareable context link |
| youmd keys list | List your API keys |
| youmd build | Compile local bundle |
| youmd publish | Publish to you.md |
you and youmd init are interactive and need a regular terminal. Run those first, then switch to Claude Code for everything else.Recommended Workflow
The most powerful workflow: let your coding agent update your identity context as you work together.
- 1Tell Claude Code: "add my preference for terminal-native UI to my you.md private context" — it can run
youmd private notes append "prefers terminal-native UI" - 2After a coding session, tell your agent: "extract any preferences or facts about me from this conversation and save them to my you.md" — it can run
youmd memories addcommands - 3Edit your
.youmd/files directly (they're just markdown) and runyoumd pushto sync - 4Use
youmd sync --watchin a regular terminal to auto-push on every file save - 5Share your context with any new agent:
youmd link creategenerates a URL you can paste into any AI conversation
Your identity stays up to date across every tool. Every agent knows who you are from the first message.
Share Your Identity
The core feature. Once your identity is built, share it with any AI agent in seconds. The /share command works in both the web shell and the CLI.
/share Command
Type /share in either the web shell terminal or inside you on the CLI. Both generate the same copyable block:
> /share --- BEGIN YOU.MD CONTEXT --- name: Houston Golden role: Founder & builder projects: you.md, ... values: ship fast, build in public preferences: terminal-native, monochrome --- END YOU.MD CONTEXT --- [copied to clipboard]
Paste this into any AI conversation -- Claude, ChatGPT, Cursor, Copilot, or any agent. It instantly knows your bio, projects, values, and preferences.
Use /share --private to include your private layer (contact info, internal notes, sensitive preferences). Only share this with agents you trust.
Context Links
Shareable context links look like https://you.md/ctx/[username]/[token]. Any agent can fetch that scoped URL directly to load your context into its conversation.
Sync
You.md works across web and CLI. Create your profile on either platform and keep them in sync.
Connecting Web + CLI
The CLI uses the same email and verification-code flow as the web app -- no separate API token needed for your own account.
- 1Create your profile on either web or CLI
- 2
youmd login-- press Enter to open browser sign-in, or type the same email you use on the web and paste the verification code in-terminal - 3
youmd pulldownloads your web profile to local files - 4Edit files in any editor (Cursor, Obsidian, VS Code)
- 5
youmd pushcompiles and publishes back to you.md - 6
youmd sync --watchauto-syncs on every file save
Local File Structure
.youmd/
profile/
about.md
now.md
projects.md
values.md
links.md
preferences/
agent.md
writing.md
voice/
voice.md
voice.linkedin.md
you.json
you.md
manifest.jsonCLI Reference
Install with curl -fsSL https://you.md/install.sh | bash as the default path, or use npm i -g youmd@latest directly if you prefer. The CLI covers the full identity lifecycle -- identity, auth, sync, sharing, memory, projects, and skills.
Identity
| Command | Description |
|---|---|
| youmd init | Conversational AI onboarding -- builds your identity through dialogue |
| you | Open U, the proactive local agent that keeps shaping your identity |
| youmd chat | Explicit long-form chat command when you want the older path |
| youmd build | Compile local markdown files into you.json + you.md |
| youmd publish | Upload and publish compiled bundle to you.md |
| youmd status | Show bundle version, publish status, and auth state |
| youmd diff | Show changes between local files and published version |
| youmd export | Export you.json and/or you.md to disk (--json, --md, -o path) |
| youmd add TYPE URL | Add a source (website, linkedin, x, blog, github) |
Auth & Sync
| Command | Description |
|---|---|
| youmd login | Browser sign-in, email-code login, or --key KEY for direct auth |
| youmd logout | Clear local auth state on this machine |
| youmd register | Create a new account from the CLI |
| youmd whoami | Show current authenticated user |
| youmd pull | Download profile from web to local .youmd/ files |
| youmd push | Upload local files to web and publish |
| youmd sync | Pull + push in one command (--watch for auto-sync on save) |
Access & Sharing
| Command | Description |
|---|---|
| youmd link create | Generate shareable context link (--scope, --ttl, --max-uses) |
| youmd link list | List active context links |
| youmd link preview TOKEN | Preview what an agent sees for a link |
| youmd link revoke ID | Revoke a context link |
| youmd keys list | List API keys |
| youmd keys create | Create a new API key |
Memory & Context
| Command | Description |
|---|---|
| youmd memories list | List saved memories |
| youmd memories add CATEGORY "content" | Add a memory (fact, preference, goal, etc.) |
| youmd memories stats | Memory count by category |
| youmd private | View all private context |
| youmd private notes set | Set private notes (stdin or interactive) |
| youmd private notes append "text" | Append to private notes |
| youmd private projects add NAME | Add a private project |
Projects
| Command | Description |
|---|---|
| youmd project init NAME | Initialize project-specific You.md context and private project memory |
| youmd project list | List known projects |
| youmd project show NAME | Display project details and context paths |
| youmd project memories NAME | List memories for a specific project |
| youmd project remember NAME "content" | Save a memory scoped to a project |
| youmd project edit NAME | Open project context files for editing |
Skills
| Command | Description |
|---|---|
| youmd skill list | List installed skills |
| youmd skill install NAME | Install a skill from the registry |
| youmd skill remove NAME | Remove an installed skill |
| youmd skill use NAME | Run a skill with {{var}} interpolation |
| youmd skill sync | Sync skills with your published bundle |
| youmd skill create | Scaffold a new skill from a template |
| youmd skill publish | Publish a skill to the registry |
| youmd skill browse | Browse the public skill registry |
| youmd skill remote NAME | Fetch and preview a remote skill |
| youmd skill link NAME PATH | Symlink a local skill for development |
| youmd skill init-project | Bootstrap AGENTS/CLAUDE + project-context/ + .you/ + host links for current repo |
| youmd skill improve NAME | Use AI to improve a skill's template |
| youmd skill metrics NAME | View usage stats for a published skill |
| youmd skill search QUERY | Search the registry by keyword |
| youmd skill export NAME | Export a skill as a standalone markdown file |
| youmd skill info NAME | Show full metadata for an installed skill |
init and chat commands are interactive and use a conversational AI agent. They need a regular terminal (not inside Claude Code). All other commands are non-interactive.Skills
Skills are identity-aware markdown templates that turn your you.md profile into actionable outputs. They use {{var}} interpolation to inject your identity data at runtime -- so the output is always personalized to you.
Overview
A skill is a .md file with template variables. When you run a skill, the CLI resolves each {{var}} against your you.json bundle and renders the final output. Skills can generate CLAUDE.md files, project scaffolding, cover letters, outreach messages, or anything else that benefits from knowing who you are.
# {{name}}'s Project Context
## Who You Are
{{bio}}
## Your Stack
{{preferences.tools}}
## Communication Style
{{voice.style}}
## Current Focus
{{now}}Install skills from the public registry, create your own, or publish them for others. The skill system is fully local-first -- installed skills live in .youmd/skills/ and sync with push/pull.
CLI Commands
The youmd skill namespace has 18 core subcommands covering the full skill lifecycle:
| Command | Description |
|---|---|
| skill list | List all installed skills |
| skill install NAME | Install from the registry |
| skill remove NAME | Uninstall a skill |
| skill use NAME | Run a skill -- resolves {{vars}} and outputs the result |
| skill sync | Sync installed skills with your cloud bundle |
| skill create | Scaffold a new skill template |
| skill add NAME SOURCE | Register a new skill in your local catalog |
| skill push NAME | Push local skill changes back to their source |
| skill publish | Publish to the public registry |
| skill browse | Browse available skills in the registry |
| skill remote NAME | Preview a remote skill before installing |
| skill link NAME PATH | Symlink a local skill for dev iteration |
| skill init-project | Bootstrap AGENTS/CLAUDE + project-context/ + .you/ + host links |
| skill improve NAME | AI-powered template improvement |
| skill metrics NAME | View installs and usage stats |
| skill search QUERY | Search registry by keyword |
| skill export NAME | Export as standalone markdown |
| skill info NAME | Full metadata for an installed skill |
Bundled Skills
Every you.md install ships with six built-in skills. These are always available and kept in sync with CLI updates.
| Command | Description |
|---|---|
| claude-md-generator | Bootstrap repo-visible agent instructions from your identity -- persona, preferences, coding style, all baked in |
| project-context-init | Scaffold a project-context/ directory with TODO.md, FEATURES.md, ARCHITECTURE.md, and more |
| voice-sync | Export your voice profile as agent instructions for consistent tone across tools |
| meta-improve | Feed a skill back through the LLM to improve its template quality |
| proactive-context-fill | Detect thin identity context and propose safe additive improvements |
| you-logs | Show recent agent activity and identity access inline |
init-project
The youmd skill init-project command is the fastest way to make a repo identity-aware. It sets up four things:
- 1
AGENTS.md-- the repo-visible instruction layer with workflow rules and your generated identity context - 2
CLAUDE.md-- the Claude-specific entrypoint with a managed You.md bootstrap block - 3
project-context/-- the canonical repo context directory, filled additively per file - 4
.you/plus host-linked skills -- the generated additive layer and tool-specific discovery surfaces
$ youmd skill init-project install claude-md-generator ready install project-context-init ready .you/ created AGENT.md, STACK-MAP.md, project-context/README.md agent instruction files created AGENTS.md; created CLAUDE.md project-context/ created TODO.md, FEATURES.md, CHANGELOG.md, PROMPTS.md ... link .claude/skills/youmd/ /path/to/repo/.claude/skills/youmd done -- your repo is identity-aware
Skill Sync
Installed skills are stored in your local .youmd/skills/ directory and tracked in your bundle manifest. When you run youmd push, your skill installs are synced to the cloud. When you run youmd pull on another machine, your skills come with it.
Use youmd skill sync to explicitly reconcile local and remote skill state without a full push/pull cycle.
Agent Directives
Directives are instructions embedded in your you.md identity that tell AI agents how to behave when working with you. They live in your preferences layer and are included in every context share.
Unlike skills (which are templates you run), directives are passive -- they ride along with your identity and shape how agents respond to you. Think of them as persistent system prompts keyed to your identity.
# Agent Directives ## Tone Direct and concise. No filler. No corporate speak. ## Code Style Prefer functional patterns. Use TypeScript strict mode. Never add comments that restate the code. ## Workflow Act decisively -- don't ask permission for obvious next steps. Show progress, don't go silent. Address every part of multi-part messages.
When an agent reads your context (via /share, a context link, or the API), your directives are included automatically. Any agent that respects your you.md will follow them.
API
You.md has 30+ HTTP endpoints for programmatic access. All authenticated endpoints use Bearer token auth with ym_ prefixed API keys.
Public Endpoints
# Fetch a public profile (JSON)
GET /api/v1/profiles?username=houstongolden
# List all profiles
GET /api/v1/profiles
# Check username availability
GET /api/v1/check-username?username=newuser
# Resolve a context link (plain text for agents)
GET /ctx/{username}/{token}
# Start passwordless auth
POST /api/auth/send-verification
{ "email": "...", "type": "login" }
# Start passwordless signup
POST /api/auth/send-verification
{ "email": "...", "type": "signup", "username": "...", "displayName": "..." }
# Verify code and optionally issue an API key
POST /api/auth/verify-code
{ "email": "...", "code": "...", "issueApiKey": true }
# Read the current cookie-backed web session
GET /api/auth/sessionContext links at /ctx/username/token return identity context optimized for AI consumption. Use scope "full" to include private context.
Authenticated Endpoints
Include your API key as a Bearer token. Generate keys from the shell (/settings) or via CLI (youmd keys create).
Authorization: Bearer ym_your_api_key_here # Your profile GET /api/v1/me # Bundle management POST /api/v1/me/bundle # Save bundle POST /api/v1/me/publish # Publish latest # Sources GET /api/v1/me/sources # List connected sources POST /api/v1/me/sources # Add a source URL # Memories GET /api/v1/me/memories # List (optional: ?category=fact&limit=10) POST /api/v1/me/memories # Save from external agent # Context links POST /api/v1/me/context-links # Create GET /api/v1/me/context-links # List DELETE /api/v1/me/context-links # Revoke # Private context GET /api/v1/me/private # Read private data POST /api/v1/me/private # Update private data # LLM Chat POST /api/v1/chat # Non-streaming POST /api/v1/chat/stream # SSE streaming # Enrichment POST /api/v1/scrape # Scrape a URL POST /api/v1/research # Web research via Perplexity POST /api/v1/enrich-x # X/Twitter enrichment POST /api/v1/enrich-linkedin # LinkedIn enrichment
Skills API
Programmatic access to the skill registry and your installed skills. Public endpoints are unauthenticated. Install, usage, and publish endpoints require a Bearer token.
# Browse the public skill registry
GET /api/v1/skills
# Fetch a single skill by name (includes full template content)
GET /api/v1/skills?name=claude-md-generator
# List your installed skills (authenticated)
GET /api/v1/me/skills
# Publish a skill to the registry (authenticated)
POST /api/v1/me/skills
{ "name": "...", "description": "...", "content": "...", "version": "1.0.0", "scope": "shared" }
# Record a skill install (authenticated)
POST /api/v1/me/skills/install
{ "skillName": "..." }
# Track skill usage (authenticated)
POST /api/v1/me/skills/usage
{ "skillName": "...", "context": "cli" }
# Remove an installed skill (authenticated)
POST /api/v1/me/skills/remove
{ "skillName": "..." }MCP Server
You.md exposes a JSON-RPC 2.0 MCP endpoint so AI agents (Claude, Cursor, Windsurf) can natively query identity context. Discover the server via the /.well-known/mcp.json endpoint.
# MCP discovery — auto-configure any MCP-compatible client
GET /.well-known/mcp.json
# JSON-RPC 2.0 MCP endpoint
POST /api/v1/mcp
Content-Type: application/json
# Example: list available tools
{ "jsonrpc": "2.0", "method": "tools/list", "params": {}, "id": 1 }
# Example: get a user's identity
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_identity",
"arguments": { "username": "houstongolden", "format": "compact" }
},
"id": 2
}Available MCP tools: get_identity, search_profiles, get_my_identity (authenticated). Configure via CLI:
npx --yes youmd@latest mcp --install claude --auto npx --yes youmd@latest mcp --install cursor --auto youmd mcp --json # Print the exact MCP config JSON
Privacy
You.md uses a two-layer privacy model:
/share --private or access tokens.Access tokens can be generated from the shell via /tokens. Each token has configurable scope and can be revoked at any time.
Dashboard Commands
The web shell supports the following slash commands:
| Command | Description |
|---|---|
| /share | Create shareable context link (copied to clipboard) |
| /share --private | Include private context in the link |
| /share --project {name} | Share context scoped to a specific project |
| /profile | View your identity profile |
| /portrait | ASCII portrait editor + format picker |
| /portrait show | Render your portrait inline in chat |
| /portrait --regenerate | Re-scrape social profiles for a fresh portrait |
| /edit | Edit identity context (files, JSON, sources) |
| /sources | Manage connected sources (LinkedIn, GitHub, X) |
| /skills | Browse and manage installed skills |
| /skill use {name} | Activate a skill in this conversation |
| /publish | Publish latest changes to your public profile |
| /preview | Preview your public profile |
| /json | Export identity as raw JSON |
| /settings | Account settings, API keys, billing |
| /tokens | Manage API access tokens |
| /agents | View connected agents and activity |
| /memory | Memory summary and stats |
| /recall | List recent memories |
| /recall {query} | Full-text search across memories |
| /status | Bundle status and profile completeness |
| /help | Show all available commands |