Documentation
An MCP where the context is you: your agent brain, named expertise stacks, one installable runtime, and protected API/MCP for private memory, sync, tokens, and connected tools.
Use the 30-second guide, claim a brain, install the runtime, and smoke-test one agent read before adding complexity.
Generated endpoint inventory, Bearer auth, public profile reads, context links, skills, stacks, docs manifests, and schema discovery.
Local stdio and same-origin JSON-RPC surfaces for identity, project context, memory, section edits, docs, and stack routing.
Named skills, prompts, workflows, examples, adapter files, evals, update policy, and protected brain scopes.
Golden paths, playbooks, starter prompts, read-before-write rules, post-session capture, and audit trails.
Machine-readable docs reference, OpenAPI-style inventory, CLI/MCP manifest generation, and docs drift checks.
$ curl -fsSL https://you.md/install.sh | bashinstall the You.md runtime globally
$ youbuild and sync your brain
$ you skill use youstack-maintainerorganize or improve named stacks
$ you stack doctor --path stacks/<name>check a stack before agents use it
$ you mcp --install codex --autowire protected brain access into Codex
you ship at
https://you.md/<your-username>
you.md gives every AI agent the context it should already have: your brain, your named expertise stacks, and the protected access layer needed for private memory or connected tools.
/stacks to organize named expertise stacks, or /share to get a scoped context linkYou.md supports GitHub OAuth as a zero-friction sign-up and sign-in path alongside the default email-code flow. Both methods are equally first-class; use whichever fits your workflow.
continue with githubread:user, user:email, and repo. The repo scope lets You.md create and read your private identity repo for stack sync./initialize to run the onboarding boot sequence. Returning accounts land directly on /shell.$ curl -fsSL https://you.md/install.sh | bash
you. U will guide login or setup if needed, then build and sync your brain./stacks in the shell or ask your agent to create a private coding, research, content, or BAMFStack-style stack.you stack doctor --path stacks/<name> before an agent improves, shares, or publishes that stack.you mcp --install codex --auto when the agent needs protected brain retrieval, tokens, sync, or connected tools.You.md is easiest to understand as four layers: the brain, YouStacks, the runtime, and protected API/MCP. The identity protocol still exists under the hood, but it should not be the first thing a user has to understand.
Identity, memory, preferences, private context, project context, sources, provenance, and trust rules. This is durable and personal.
Named packages of expertise: skills, workflows, prompts, examples, docs, tests, host adapters, improvement policy, and update policy.
The curl-installed helper layer that makes Claude Code, Codex, Cursor, and other hosts read the brain, install stacks, run doctor/smoke, and stay updated.
The authenticated boundary for private memory, scoped brain retrieval, tokens, repo sync, connected tools, visibility changes, and sensitive actions.
The protocol is the machine-readable format underneath the brain. Users should not have to think about it first, but agents and builders can rely on it for stable JSON, markdown, context links, and schema discovery.
The structured JSON contract agents fetch, validate, cache, and reason over. Public responses advertise the schema with a Link header.
Local files in .you/ stay human-editable: profile/about.md, preferences/agent.md, voice/voice.md, directives/agent.md, and project context. Legacy .youmd/ folders are read during migration.
The CLI compiles markdown into you.json + you.md, preserves raw preference text, hashes the bundle, and publishes the latest version.
Durable facts, preferences, goals, decisions, and project context can be saved by the user, CLI, web shell, API, or MCP tools.
you-md/v1 is an open, versioned schema for portable identity context: the structured document an AI agent reads to understand who someone is — identity, current focus, projects, values, voice, and agent-interaction preferences — before doing work for them. You.md publishes the schema as JSON Schema (draft 2020-12) and serves it publicly. Anyone can implement it; no account or permission is required.
# canonical JSON Schema for the format GET https://you.md/schema/you-md/v1.json # every public profile response advertises it Link: <https://you.md/schema/you-md/v1.json>; rel="describedby"; type="application/schema+json"
Core sections of a you-md/v1 document, exactly as defined by the published schema (only schema and identity are required):
| Command | Description |
|---|---|
| schema | required. the literal string 'you-md/v1' |
| identity | required. name, tagline, location, and a bio at three detail levels (short / medium / long) |
| now | current focus areas plus the date they were last updated |
| projects | active projects: name (required), role, status, description, url |
| values | core values as short phrases, one per item |
| links | map of link name to url (e.g. twitter, github, website) |
| preferences | agent preferences (tone, formality, things to avoid) and writing preferences (style, format) |
| voice | overall voice summary plus per-platform variations (linkedin, x, blog, ...) |
| agent_directives | behavioral instructions: communication style, default stack, current goal, negative prompts |
| agent_guide | navigation guide telling agents which fields to read for coding, writing, and research tasks |
additive within v1: new optional fields may be added over time, but existing v1 fields are never removed, renamed, or repurposed. a document that validates today keeps validating.
extensible by design: the schema sets additionalProperties: true, so implementations can carry their own extra fields without failing validation.
breaking changes go to v2: anything incompatible ships as you-md/v2 at a new schema URL, and /schema/you-md/v1.json stays served for existing documents.
To implement the format on your own site or product:
you.json document with "schema": "you-md/v1" and an identity object, and validate it against the published schema with any JSON Schema validator.you.md markdown render of the same content for agents that prefer plain text.Link ... rel="describedby" header shown above so agents can discover and validate the format.You.md's brain layer should be intentionally guided by GBrain: a shared, durable agent brain that can be read by many hosts without leaking the entire private life of the user. The brain is not a stack. It is the identity, memory, project context, provenance, retrieval policy, and permission layer that stacks can safely call into.
Profiles, preferences, directives, memories, sources, private notes, projects, and sessions need stable ids, timestamps, provenance, and update history.
Agents should ask for the smallest useful brain scope: public identity, project context, private notes, memories, or connected-tool state.
Local files keep agents fast and inspectable. The hosted DB copy keeps context available to links, API, MCP, and web sessions.
Usage, corrections, failed recalls, duplicate memories, stale facts, and successful retrievals should become evals and improvement tasks for the brain.
The same identity can be consumed through multiple surfaces depending on what the receiving agent supports.
| Command | Description |
|---|---|
| https://you.md/{username} | Human-readable public profile with JSON-LD, OG cards, and profile sections |
| GET /api/v1/profiles?username= | Public agent-readable JSON or markdown with ETag and schema link headers |
| GET /ctx/{username}/{token} | Scoped context link, optionally including private context |
| you mcp | Local stdio MCP server for Claude Code, Codex, Cursor, and similar tools |
| POST /api/v1/mcp | Same-origin JSON-RPC endpoint for web-capable MCP clients |
| GET /api/v1/docs/reference | Machine-readable docs manifest generated from routes and MCP tools |
| GET /api/v1/docs/openapi.json | Generated OpenAPI-style inventory for API reference tooling |
You.md docs should match the standard of the best agent-platform docs: every important capability needs a human guide, an HTTP contract, an MCP surface when agents need it, a local stack/runtime path, and a smoke check.
every capability gets five surfaces
Agents start with public identity, project context, stack manifest, and capability discovery before requesting private memory or mutations.
Stacks expose capabilities so a host can route intent to the right skill, workflow, prompt, or protected MCP tool instead of guessing.
Memory writes, section edits, stack updates, visibility changes, and connected-tool actions stay narrow, auditable, and approval-aware.
Every public or shared stack needs doctor, smoke, docs, manifest, adapter, and route checks before it becomes someone else's starting context.
| Command | Description |
|---|---|
| GET /api/v1/docs/reference | Machine-readable inventory of docs, API routes, MCP tools, CLI metadata, and source hash |
| GET /api/v1/docs/openapi.json | OpenAPI-style route inventory for API reference generators and docs agents |
| GET /api/v1/stacks/capabilities | Default YouStacks capability map used by products and local agents |
| POST /api/v1/stacks/route | Deterministic route scoring for stack capability selection before action |
| you stack doctor --path stacks/<name> | Local static readiness check before sharing, improving, or publishing a stack |
| you stack smoke --path stacks/<name> | Local runtime smoke test for manifest, docs, adapter, capability, and route health |
You.md keeps GStack, GBrain, Agent Scripts, and The Library as local reference repos and turns upstream changes into reviewable tasks. GStack informs YouStacks: installable skills, specialist workflows, host adapters, upgrade behavior, QA/review/release loops, and local-first magic. GBrain informs the You.md brain: durable memory, retrieval, sync, provenance, privacy, and startup context. Agent Scripts and The Library sharpen the shared scripts, prompts, skills, slash commands, catalogs, and bootstrap patterns that make agent stacks easier to start and maintain.
Houston's local workspace also runs a daily reference sync automation, so upstream movement becomes a reviewed task queue instead of vague inspiration.
npm run references:sync # outputs: # project-context/reference-intelligence/LATEST.md # project-context/reference-intelligence/TASKS.md
.reference-repos/ and are ignored by git. The generated task list is a review queue, not a mandate: promote only the upstream ideas that make You.md simpler, more powerful, or safer.convex/ owns the server data model, HTTP routes, auth, memory, context links, activity logs, and MCP JSON-RPC bridge.
cli/ owns local bundle compilation, the you launcher, stdio MCP tools, skills, sync, keys, links, memories, and project context.
src/app/(app)/docs owns the human docs, while src/generated/docs-reference.ts is regenerated from source so endpoint and MCP inventories do not rot quietly.
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.
youCLI 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.curl -fsSL https://you.md/install.sh | bash once, then you to let U guide login, pull, or identity setupyou login to authenticateyou push to publish your profileThese commands are non-interactive and work perfectly in Claude Code, Cursor, Copilot, and any AI coding tool:
| Command | Description |
|---|---|
| you status | Check your bundle status and version |
| you whoami | See who you're logged in as |
| you pull | Download your profile from cloud |
| you push | Upload local changes and publish |
| you sync | Pull + push in one command |
| you private | View your private context |
| you private notes append "text" | Add to private notes |
| you private projects add name desc | Add a private project |
| you memories list | See saved memories |
| you memories add fact "content" | Add a memory manually |
| you link create | Create a shareable context link |
| you keys list | List your API keys |
| you build | Compile local bundle |
| you publish | Publish to you.md |
you and you init are interactive and need a regular terminal. Run those first, then switch to Claude Code for everything else.The most powerful workflow: let your coding agent update your brain context as you work together.
you private notes append "prefers terminal-native UI"you memories add commands.you/files directly (they're just markdown) and run you push to syncyou sync --watch in a regular terminal to auto-push on every file saveyou link create generates a URL you can paste into any AI conversationYour identity stays up to date across every tool. Every agent knows who you are from the first message.
The core feature. Once your public brain is built, share it with any AI agent in seconds. The /share command works in both the web shell and the CLI.
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.
Shareable context links look like https://www.you.md/ctx/[username]/[token]. Any agent can fetch that scoped URL directly to load your context into its conversation.
You.md works across web and CLI. Create your profile on either platform and keep them in sync.
The CLI uses the same email and verification-code flow as the web app -- no separate API token needed for your own account.
you login -- press Enter to open browser sign-in, or type the same email you use on the web and paste the verification code in-terminalyou pull downloads your web profile to local filesyou push compiles and publishes back to you.mdyou sync --watch auto-syncs on every file save.you/
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.jsonYou.md is designed to follow you across every machine you work on. Four distinct sync planes cover everything: your identity, your secrets, your skills, and your named stacks. Each plane uses the right transport for its sensitivity level.
| Plane | What it covers | How |
|---|---|---|
| Identity | Profile, preferences, project-context, memory, directives | you sync (Convex-backed). Supports --watch for continuous auto-push on file saves. |
| Secrets | All .env.local files across your projects | Encrypted vault. you env backup walks a root directory, encrypts every .env.local into one openssl-encrypted portable file plus a values-free manifest. you env backup --preflight checks readiness without writing a vault. Secrets never auto-sync over the network — you carry the vault (AirDrop, USB, secure cloud file) and restore on the new machine with you env restore <vault> --list first, then you env restore <vault>, which decrypts and writes each file back after the secret-safe list step passes. |
| Skills | Authored agent skills and the shared agent layer (~/.agent-shared) | Private git repo, synced by you stack sync. A background daemon (you stack daemon install) runs via launchd every ~5 minutes — it auto-commits local changes and pulls remote changes so editing a skill on one machine updates the others. |
| Stacks | Named YouStacks and skill stacks | Each stack syncs via its own git remote. The resident runtime covers stacks that are part of the shared agent layer and runs a slower project-context sync for AGENTS/CLAUDE/project-context files; standalone stacks use their configured remote. |
From the You.md dashboard, ask the shell for /new computer. It mints a short-lived bootstrap key and returns one copyable command for Claude Code or Codex on the fresh machine. Terminal-only users can generate the same runbook with you machine prompt.
# Web shell /new computer # CLI-only you machine prompt --root ~/Desktop/CODE_YOU --days 30 --limit 80 # Bounded proof run before cloning the full set you machine prompt --root /tmp/you-clean-host-CODE_YOU --days 30 --limit 80 --max-clone-projects 2
The generated command installs You.md, authenticates, pulls and syncs your identity bundle, restores shared skills/stacks/agent host config, hydrates the portfolio graph from You.md and GitHub, creates ~/Desktop/CODE_YOU, clones truly active 30-day project repos first, asks before expanding to the active 90-day project set, checks env-vault readiness, optionally lists and restores an encrypted env vault, then rehydrates local README/project-context/env-key evidence and syncs a secret-safe machine proof report. For clean-host proof runs, add --max-clone-projects or set YOU_MAX_CLONE_PROJECTS; legacy YOUMD_MAX_CLONE_PROJECTS still works. Omit it on the real new machine to clone the full selected graph-backed set.
| Command | Description |
|---|---|
| you stack daemon install | Register resident identity, skillstack, and project-context sync daemons |
| you stack daemon status | Check loaded state, intervals, recent activity, and current warnings |
| you stack daemon uninstall | Remove the daemon from launchd without deleting synced files |
.env.local values are never embedded in the browser prompt; move the encrypted env vault separately and restore it locally. Vault list mode prints target paths plus variable names/counts only. The project-context sync is intentionally context-only: it refuses to merge upstream app-code changes.Install with curl -fsSL https://you.md/install.sh | bash as the recommended path. The curl installer delivers the full package in one step: the you CLI, all bundled native skills, and automatic MCP configuration for any detected agent host (Claude Code, Codex, Cursor). Use npm i -g youmd@latest only if you prefer to manage the binary yourself; you will need to run you mcp --install <host> --auto separately. The CLI covers the full identity lifecycle -- identity, auth, sync, sharing, memory, projects, and skills.
The 31 commands below are generated from the commander registrations in cli/src/index.ts and grouped the same way as you --help. Namespaces like skill, stack, memories, private, project, link, and keys take subcommands — run you <command> --help for per-command options, and see the skill subcommand reference for the full you skill ... surface.
AUTH
| Command | Description |
|---|---|
| you login | Authenticate with the You.md platform |
| you logout | Clear local authentication for this machine |
| you register | Register a new You.md identity |
| you whoami | Show current authenticated user |
BUNDLE
| Command | Description |
|---|---|
| you init | Initialize a local .you/ identity context (interactive) |
| you build | Compile local you.md bundle from profile/ and preferences/ files |
| you status | Show pipeline/build status |
| you push | Upload ~/.you/ files to you.md and publish |
| you pull | Download your profile from you.md to ~/.you/ files |
| you sync | Sync ~/.you/ files with you.md (pull + push) |
| you diff [v1] [v2] | Compare bundle versions: `you diff` (local vs remote) or `you diff <v1> <v2>` |
| you export | Export profile to you.json and/or you.md |
| you okf [subcommand] [arg] | Open Knowledge Format — export/import/validate/health/view for portable OKF bundles (identity, skills, stacks) |
| you publish | Push compiled bundle to the platform API |
CHAT
| Command | Description |
|---|---|
| you chat | Talk to the You agent — update your profile, add sources, ask questions |
| you memories [subcommand] [args...] | Manage your memory brain (list, add, stats) |
| you private [subcommand] [args...] | Manage private context (notes, links, projects) |
| you project [subcommand] [args...] | Manage project agent context (init, list, show, memories) |
| you prompts [subcommand] [args...] | Search, browse, and catalog your past messages across agent sessions |
SKILLS
| Command | Description |
|---|---|
| you skill [subcommand] [args...] | Identity-aware agent skills (list, install, use, sync, inventory, init-project) |
| you stack [subcommand] [args...] | Local YouStack manifests (inspect, doctor, smoke, capabilities, route, link, guard, eval, update, install) |
MONITORING
| Command | Description |
|---|---|
| you agent [subcommand] [message...] | Send/receive trusted-device realtime agent messages |
| you logs | View agent activity log -- see what agents read/wrote and when |
| you agents | List connected agents and their activity summary |
MCP
| Command | Description |
|---|---|
| you mcp | Start the You.md MCP server (identity context for Claude, Cursor, any MCP client) |
SHARING
| Command | Description |
|---|---|
| you link [subcommand] [arg] | Manage context links (create, list, revoke, preview) |
| you keys [subcommand] | Manage API keys (list, create, revoke) |
| you add <source> <url> | Add a source URL to local config (website, linkedin, x, blog, youtube, github) |
PREVIEW
| Command | Description |
|---|---|
| you preview | Start a local preview server |
SECURITY
| Command | Description |
|---|---|
| you env [subcommand] [args...] | encrypted .env.local vault — back up and restore secrets across machines |
MACHINE & SYNC
| Command | Description |
|---|---|
| you machine [subcommand] | set up a new machine with your synced skills, stacks, and agent config |
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 are brain-aware markdown templates that turn your you.md brain and stacks into actionable outputs. They use {{var}} interpolation to inject your brain data at runtime -- so the output is always personalized to you.
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 .you/skills/ and sync with push/pull.
The you 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 |
Every you.md install ships with eight built-in skills. These are always available and kept in sync with CLI updates.
| Command | Description |
|---|---|
| youstack-start | Start local agents with brain context, project state, active requests, installed skills, and next moves |
| youstack-maintainer | Organize, update, safely improve, and publish private-by-default named YouStacks |
| claude-md-generator | Bootstrap repo-visible agent instructions from your brain -- 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 brain context and propose safe additive improvements |
| you-logs | Show recent agent activity and brain access inline |
The you skill init-project command is the fastest way to make a repo brain-aware. It sets up four things:
AGENTS.md -- the repo-visible instruction layer with workflow rules and your generated brain contextCLAUDE.md -- the Claude-specific entrypoint with a managed You.md bootstrap blockproject-context/ -- the canonical repo context directory, filled additively per file.you/ plus host-linked skills -- the generated additive layer and tool-specific discovery surfaces$ you 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 brain-aware
Installed skills are stored in your local .you/skills/ directory and tracked in your bundle manifest. When you run you push, your skill installs are synced to the cloud. When you run you pull on another machine, your skills come with it.
Use you skill sync to explicitly reconcile local and remote skill state without a full push/pull cycle.
A YouStack packages your own expertise and workflows into your own stack. Think of Gary Tan creating GStack from years of startup operating experience, specialist agents, taste, review loops, and workflows. YouStacks let anyone do that for their own domain, and you can keep multiple named stacks for different expertise lanes.
curl -fsSL https://you.md/install.sh | bash. The you binary is the runtime helper underneath, not the main product mental model.Keep separate stacks for coding, scientific research, content creation, investing, teaching, or any domain where the skills and workflows should not blur together.
A stack can contain your domain skills, hard-won instincts, sub-agents, writing taste, engineering review loops, examples, tool rules, and golden prompts.
Install one stack and any host agent gets the same operating layer: who the expert is, what agents to call, what skills to use, what workflows to run, and what not to touch.
Claude Code, Codex, and Cursor are the first targets. OpenClaw, Hermes Agent, and Pi agents come after the first three work.
Stacks default to private. Share with friends or teammates through scoped access, or publish an open version only after redaction, smoke checks, and explicit owner approval.
The bundled youstack-maintainer skill helps agents organize stacks, run smoke checks, keep skills/docs/tests together, and prepare public-readiness diffs.
A You.md account should be able to own many YouStacks. The manifest name is the human label, the slug is the stable install id, and domain, aliases, and tags make the stack discoverable by agents and humans.
| Command | Description |
|---|---|
| Coding Copilot Stack | Code review, debugging, architecture, repo startup, tests, release flow, and coding sub-agents |
| Scientific Research Stack | Paper triage, source quality, experiment planning, math checks, literature synthesis, and research-memory retrieval |
| Content Studio Stack | Voice, hooks, examples, editorial review, repurposing workflows, media prompts, and publishing rules |
youstacks/
coding-copilot/
youstack.json
scientific-research/
youstack.json
content-studio/
youstack.jsonA YouStack should feel like an installable version of how you operate. The local part carries the reusable expertise. The protected part stays behind You.md auth.
Reusable expert instructions such as founder review, growth writing, research synthesis, release QA, design critique, or your personal startup office-hours mode.
Specialists that reflect how you divide work: operator, editor, researcher, reviewer, QA lead, launch planner, security check, or whatever your domain needs.
Step-by-step operating loops from your actual playbook: how to start a repo, review a plan, ship a release, write in your voice, prep a meeting, or audit a strategy.
Golden prompts, before/after examples, decision rules, style notes, quality bars, and the small preferences that make an agent sound and act like it learned from you.
Private memories, private context, connected tools, proprietary prompts, and sensitive actions stay behind scoped You.md API/MCP access.
Rules for how the stack learns from usage, failures, corrections, evals, repo diffs, and new source material, plus which local updates can be applied automatically.
A strong YouStack should not be frozen promptware. Each stack and each skill inside it should have an improvement loop: observe how agents use it, catch failures, absorb user corrections, run evals, update examples, and refresh local adapter files when the manifest policy allows it.
Self-improving does not mean uncontrolled. The v1 default is: propose improvements, auto-apply only safe local file refreshes when the manifest allows it, and require approval for private context reads, brain writes, connected tools, remote repo writes, and visibility changes.
Capture safe signals such as route choices, smoke results, failed workflows, repeated edits, user corrections, and repo diffs.
Improve individual skills, sub-agents, prompts, workflows, examples, and docs instead of rewriting the whole stack blindly.
Run stack doctor diagnostics, smoke checks, and stack-specific evals before accepting a new skill version or generated adapter update.
Auto-apply only the local updates the manifest permits. Brain writes, private context reads, connected tools, and remote repo writes stay behind scoped approval.
Server-generated maintainer proposals and background analysis consent are the two human-approval gates that keep the improvement loop auditable.
Use you stack proposals to see proposals the server has generated about your stacks — skill quality improvements, doc drift, stale adapter files, or capability gaps. Review each proposal before anything changes:
| Command | Description |
|---|---|
| you stack proposals | List pending maintainer proposals for your stacks |
| you stack proposals approve <id> | Accept a proposal and apply the suggested change locally |
| you stack proposals reject <id> | Dismiss a proposal without applying it |
Use you stack consent to control which background analyses are allowed to run on your data. Scopes are narrow and opt-in; none run automatically without your explicit grant:
| Command | Description |
|---|---|
| you stack consent | Show current consent grants and available scopes |
| you stack consent grant journal_mine | Allow the server to mine your session journal for improvement signals |
| you stack consent grant consolidate | Allow background memory consolidation and deduplication |
| you stack consent grant fleet_aggregate | Allow anonymized, k-anon-gated contribution to fleet-level aggregate reports |
| you stack consent revoke <scope> | Revoke a previously granted consent scope |
The Jun 2026 reference-intelligence wave sharpened four product rules for YouStacks and the protected brain layer: shell-facing helpers must be sanitized at use time, local metadata should stay local by default, protected reads should report honest readiness, and retrieval should fall back before it goes silent.
In short: local metadata should stay local by default, protected reads should report honest readiness, and retrieval should fall back before it goes silent.
Generated adapter files, startup helpers, and cached identifiers should be re-sanitized before shell use. Never trust an old cache file just because this runtime wrote it once.
Repo names, branch names, and other stack/runtime metadata stay local unless a hosted API or MCP surface explicitly documents that it carries them.
Protected brain, project-context, and stack-aware reads should distinguish not built, indexing, and ready. An empty answer should mean genuinely empty, not unknown.
When richer retrieval stalls, the system should degrade toward narrower search or basic context instead of returning nothing and pretending the context does not exist.
YouStacks should deliberately follow what works in GStack, GBrain, Agent Scripts, and The Library. The loop is: fetch upstream repos, inspect the newest commits, map each useful pattern to the stack layer, brain layer, docs layer, or runtime layer, then create a concrete You.md task only when it improves the product.
Borrow local-first skills, host-native adapter files, specialist modes, upgrade flows, doctor diagnostics, smoke checks, eval-first quality gates, and agent workflows.
Borrow durable memory architecture, retrieval hygiene, source/provenance tracking, sync discipline, context extraction, and privacy boundaries.
Borrow practical agent command layout, shared scripts, lightweight installer ergonomics, and easy-to-inspect local workflow conventions.
Borrow library-style organization for prompts, commands, reusable context, examples, and discoverable bootstrap material.
Use real You.md sessions, user corrections, route misses, failed recalls, repo diffs, and eval results to improve stacks and brain context.
The monitor writes candidate tasks first so the team can decide what to copy, adapt, defer, or reject before product code changes.
| Command | Description |
|---|---|
| npm run references:sync | Fetch local GStack, GBrain, Agent Scripts, and The Library reference repos and regenerate reports |
| Daily You.md Reference Intelligence | Local Codex automation that runs the reference monitor each morning and reports candidate tasks |
| project-context/reference-intelligence/LATEST.md | Latest upstream commit summary and source-linked candidate tasks |
| project-context/reference-intelligence/TASKS.md | Review queue for stack, brain, memory, context, API/MCP, and docs improvements |
Keep coding, scientific research, content creation, and personal operating stacks separate so each agent loads the right skills, examples, sub-agents, and improvement loop.
Package your taste, default prompts, preferred tools, sub-agents, identity, current projects, and memory-safe startup flow so every agent begins like it already knows how you work.
Make a repo agent-ready with the exact workflows, test commands, review rules, docs, smoke tests, and release rituals an agent should follow.
Give a teammate, friend, contractor, or client a scoped copy of your operating system without exposing your entire private context or API key surface.
Publish a useful agent kit: skills, workflows, examples, docs, and adapter files that anyone can inspect, fork, and install.
Keep private memories, sensitive retrieval, proprietary prompts, and connected actions behind authenticated You.md API/MCP instead of dumping them into local files.
Generate Claude Code, Codex, and Cursor files from one manifest so the same expertise stack travels across the first product wedge.
Users should not have to understand a CLI before they understand YouStacks. The product promise is: run one curl command, then your agents can see the You.md runtime, native skills, stack manifests, auto-update helper, MCP server, and host adapters. The helper commands exist for agents and power users.
| Command | Description |
|---|---|
| curl -fsSL https://you.md/install.sh | bash | Install the You.md runtime, bundled skills, auto-upgrade helper, and stack starter files |
| curl -fsSL https://you.md/install.sh | YOU_INSTALL_DAEMON=1 bash | Install the runtime and opt into resident sync on macOS |
| you stack inspect --path DIR | Show name, slug, domain, manifest metadata, files, scopes, adapters, and validation warnings |
| you stack doctor --path DIR | Run read-only diagnostics for manifest bloat, route drift, stale adapters, update hygiene, and public-readiness gaps |
| you stack smoke --path DIR | Run read-only schema, file, checksum, adapter, and capability checks |
| you stack capabilities --path DIR | List local and protected capabilities declared by the stack |
| you stack route --path DIR "start this repo" | Choose the best local capability for a natural-language request |
| you stack link --path DIR --hosts codex --target . | Generate host adapter files from the stack manifest |
| you skill use youstack-maintainer | Ask the bundled maintainer skill to organize, improve, update, or prep a stack for sharing |
curl -fsSL https://you.md/install.sh | bash you stack doctor --path cli/examples/youstack-personal you stack smoke --path cli/examples/youstack-personal you stack route --path cli/examples/youstack-personal "search my memories before starting" you stack link --path cli/examples/youstack-personal --hosts codex --target . --dry-run
You.md should expose stack management in the web shell and profile the same way it exposes skills, sharing, memory, and agents. Type /stacks in the shell to view named stacks, their visibility, install command, update policy, and maintainer workflow. Public profiles can show only stacks whose manifest is public-open; private and scoped stacks stay owner-only.
| Command | Description |
|---|---|
| /stacks | Open the stack portfolio pane in the You.md shell |
| /skill use youstack-maintainer | Ask the agent to organize, update, or improve a selected stack |
| make my BAMFStack public | Agent prepares a public-readiness diff, redaction list, smoke result, and asks for final approval |
| create a private scientific research stack | Agent scaffolds a named private stack with skills, workflows, examples, tests, and protected brain scopes |
curl -fsSL https://you.md/install.sh | bash. This installs current You.md source, bundled skills, the auto-upgrade helper, and stack diagnostics.youstack.json, local skills, prompts, sub-agents, workflows, docs, examples, and smoke tests.you stack inspect --path DIR to read metadata, declared scopes, adapters, capabilities, and warnings before trusting the package.you stack smoke --path DIR. This is read-only: it validates schema, required files, checksums, adapters, and capability declarations without touching the brain.you stack link --path DIR --hosts codex,claude,cursor --target .. Use --dry-run first when installing into an existing repo.The curl installer writes a best-effort auto-upgrade helper at ~/.you/bin/youmd-auto-upgrade. Host adapter files and the youstack-maintainer skill can run it quietly before stack work, just like the BAMFStack preamble. The helper is throttled by default so it does not rebuild on every agent message.
if [ -x "$HOME/.you/bin/youmd-auto-upgrade" ]; then "$HOME/.you/bin/youmd-auto-upgrade" --quiet || true fi
BAMFStack should be the first public proof that YouStacks work: a shareable, open creator-growth stack with a one-line install, local skills, commands, workflow routing, read-only smoke checks, docs-quality examples, env-only API key handling, and protected API/MCP calls for real product actions.
Curl install, host-native skills, helper CLI behavior, capability discovery, deterministic route endpoint, doctor diagnostics, smoke test, docs, prompts, and auto-upgrade preamble.
BAMF API keys, private creator data, proprietary prompts, product internals, mutations, and connected actions stay behind env vars and authenticated API/MCP.
Named stack metadata, public/private/scoped visibility, You.md brain scopes, profile-hosted discovery, GitHub sync design, and self-improvement policy.
you stack inspect --path cli/examples/youstack-bamfstack-public you stack doctor --path cli/examples/youstack-bamfstack-public you stack smoke --path cli/examples/youstack-bamfstack-public you stack route --path cli/examples/youstack-bamfstack-public "draft a creator post from research"
The v1 manifest is youstack.json. It declares package metadata, local files, requested brain scopes, host adapters, capabilities, access policy, sharing modes, repo sync metadata, docs, and smoke tests.
{
"schemaVersion": "youstack/v1",
"kind": "youstack",
"slug": "founder-growth-stack",
"name": "Founder Growth Stack",
"domain": "growth",
"aliases": ["content", "linkedin", "founder-led-growth"],
"tags": ["content", "growth", "founder-review"],
"version": "0.1.0",
"visibility": "private",
"brainScopes": [
{
"scope": "identity.public.read",
"required": true,
"reason": "Introduce the user to the host agent."
}
],
"files": [
{
"path": "skills/founder-review/SKILL.md",
"type": "skill",
"required": true
},
{
"path": "subagents/operator.md",
"type": "subagent",
"required": true
},
{
"path": "workflows/growth-writing.md",
"type": "workflow",
"required": true
}
],
"capabilities": [
{
"id": "founder-review",
"intent": "Review a plan using the user's founder taste and operating rules.",
"localOnly": true,
"mutationPolicy": "read_only"
}
],
"accessPolicy": {
"defaultMode": "local_static",
"protectedByDefault": true
},
"improvement": {
"mode": "propose",
"cadence": "after meaningful agent sessions",
"signals": ["usage", "failures", "user corrections", "repo diffs"],
"evals": ["you stack smoke", "golden prompt regression checks"],
"appliesTo": ["skills", "subagents", "workflows", "examples", "docs"],
"approvalRequiredFor": ["brain.write", "private_context.read", "connected_tool.write", "remote_repo.write"]
},
"update": {
"channel": "manual",
"check": "you stack smoke",
"source": "user-owned GitHub repo or local stack folder",
"autoApply": false
}
}A personal stack is the closest mental model: build your own GStack from your expertise, workflows, sub-agents, examples, and taste; name separate versions for different domains; install them into the agents you already use; and let protected requests cross the You.md brain boundary only when needed.
# coding stack you stack inspect --path stacks/coding-copilot # scientific research stack you stack route --path stacks/scientific-research "triage these papers and design the next experiment" # content stack you stack route --path stacks/content-studio "turn this idea into a LinkedIn post in my style"
# open public stack example you stack inspect --path cli/examples/youstack-bamfstack-public you stack doctor --path cli/examples/youstack-bamfstack-public you stack smoke --path cli/examples/youstack-bamfstack-public # public install surface stays curl-first curl -fsSL https://you.md/install.sh | bash # host agents use the maintainer skill for safe updates you skill use youstack-maintainer
# inspect what a stack asks for you stack inspect --path stacks/my-founder-stack # verify it without writing adapter files you stack smoke --path stacks/my-founder-stack # ask the deterministic router which capability should handle a request you stack route --path stacks/my-founder-stack "review this like me before we ship" # link the same stack into Codex, Claude Code, and Cursor you stack link --path stacks/my-founder-stack --hosts codex,claude,cursor --target .
A public stack can expose the reusable agent kit while protected capabilities still require authentication.
{
"id": "review-release",
"intent": "Run the repo release review workflow before landing changes.",
"localOnly": true,
"mutationPolicy": "read_only",
"triggers": ["review", "ship", "release", "qa"],
"entrypoint": "workflows/release-review.md"
},
{
"id": "skill-improvement-loop",
"intent": "Improve stack skills from failures, user corrections, eval results, and updated examples.",
"localOnly": true,
"mutationPolicy": "write_local",
"entrypoint": "improvement/skill-loop.md"
},
{
"id": "protected-memory-search",
"intent": "Search private user memory when local files are not enough.",
"localOnly": false,
"requiresAuth": true,
"scopes": ["memories.search"],
"mutationPolicy": "read_only"
}Local-only stacks can ship names, slugs, domains, static skills, sub-agents, workflows, prompts, docs, examples, evals, improvement proposals, host adapter files, and read-only route tables. Use shared You.md API/MCP when the stack needs protected brain retrieval, private context, stack grants, sync, audit logs, connected tools, or server-side actions. Custom per-stack API/MCP is optional later, not the v1 baseline.
The shared HTTP endpoints let products and agents inspect the default capability contract and route a request against either that default contract or manifest-supplied capabilities.
| Method | Path | Auth | Notes |
|---|---|---|---|
| GET | /api/v1/stacks/capabilities | Public or rate-limited | Shared YouStack capability contract and API/MCP threshold map |
| POST | /api/v1/stacks/route | Public or rate-limited | Deterministically route a request against default or manifest-supplied YouStack capabilities |
GET /api/v1/stacks/capabilities
POST /api/v1/stacks/route
Content-Type: application/json
{
"request": "review this like me before we ship",
"stack": {
"slug": "founder-growth-stack",
"name": "Founder Growth Stack",
"domain": "growth",
"tags": ["content", "founder-review"]
},
"capabilities": [
{
"id": "founder-review",
"intent": "Review a plan using the user's founder taste.",
"localOnly": true,
"requiresAuth": false,
"scopes": []
}
]
}The local MCP server exposes stack-native tools so Claude Code, Codex, Cursor, and similar hosts can inspect and validate a stack before using it.
Directives are instructions embedded in your you.md brain 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 brain and shape how agents respond to you. Think of them as persistent system prompts keyed to your preferences.
# 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.
The strongest You.md workflow is continuous context maintenance: the agent reads who you are, does the work, then saves the durable things it learned so the next agent starts smarter.
whoami or GET /api/v1/profiles?username=...get_agent_brief to load identity, repo instructions, active requests, TODOs, installed skills, and the next move in one shotget_identity, a context link, or you pullget_project_context or you project showcompile_and_push or you push when the user wants the change liveRun you skill init-project, add a managed AGENTS/CLAUDE bootstrap, create project-context files, then save decisions as project memory.
Create a scoped context link, paste it into the agent, and ask the agent to confirm what it received plus how it will use it.
Ask the agent to extract preferences, decisions, projects, and durable facts from the session, then save them via memories or section edits.
Use get_section/update_section for one file at a time, compile locally, inspect the diff, then publish. No giant mystery rewrite.
Read my You.md context first. Use the fastest available path: 1. call the youmd MCP whoami tool if available 2. call get_agent_brief to load identity + local project state 3. if you need full detail, call get_identity 4. before editing this repo, read project-context/ 5. when you learn a durable preference or decision, save it back with add_memory or add_project_memory Then continue with the actual task.
# Install the local agent surface curl -fsSL https://you.md/install.sh | bash # Wire MCP into an agent host you mcp --install claude --auto you mcp --install codex --auto you mcp --install cursor --auto # Smoke-test brain access you whoami you mcp --json
You.md now exposes root-level agent docs so a coding agent can discover the platform before crawling the app. Treat /llms.txt as the short index and /llms-full.txt as the full context pack for docs, API, MCP, runtime, stack routing, and smoke checks. Both files are generated from the shipped docs reference and upstream reference-intelligence state.
Source-repo agents get the same handoff in README.md, AGENTS.md, and CLAUDE.md. Keep those files aligned with the generated root docs so GitHub, npm, local coding agents, and web-capable agents all start from the same API/MCP/stack map.
| Command | Description |
|---|---|
| GET /llms.txt | Short Markdown index for agents: docs, API, MCP, runtime, stacks, privacy, and source links |
| GET /llms-full.txt | Full plain-text agent context with order of operations, commands, API/MCP examples, stack rules, and smoke checks |
| README.md / AGENTS.md / CLAUDE.md | Repo-visible handoff surfaces for GitHub/npm readers and local coding agents |
| npm run llms:check | Verify the root agent docs are current with the generated docs reference and reference-intelligence state |
| npm run llms:generate | Regenerate the root agent docs when routes, MCP tools, CLI metadata, or upstream references change |
| npm run agent-docs:syntax | Syntax-check the docs generator, root agent-docs generator, live smoke script, and handoff checker |
| node scripts/check-agent-doc-handoff.mjs | Assert README, root agent manuals, /docs source, PRD, and architecture docs keep required handoff markers and reject stale stack/auth language |
| npm run agent-docs:handoff | Run the handoff marker check with file and marker-count diagnostics |
| npm run agent-docs:handoff:json | Emit the handoff marker contract as JSON for automation and CI log parsing |
| npm run agent-docs:lint | Run targeted ESLint for generated docs artifacts, docs automation scripts, and the docs page source |
| npm run llms:smoke -- --base-url https://www.you.md | Smoke-test live agent docs against the generated docs reference, MCP discovery, robots, sitemap, and docs page |
| npm run sync:graph:smoke | Smoke-test the authenticated synced-brain graph REST endpoint and hosted MCP tool with redacted output |
| npm run sync:agent-stack:smoke | Smoke-test authenticated agent-stack REST summaries plus hosted MCP tool/resources, including generated HTML and repo snapshots |
| npm run agent-docs:ci | Run generated docs checks, required/forbidden handoff marker checks, syntax checks, and targeted lint |
| GET /api/v1/docs/reference | Generated manifest for shipped routes, MCP tools, CLI version, counts, and source hash |
| GET /api/v1/docs/openapi.json | OpenAPI-style inventory for API reference generators and agent tool builders |
| GET /.well-known/mcp.json | MCP discovery metadata for web-capable clients |
| GET /api/v1/stacks/capabilities | Default YouStacks capability map for route-before-action workflows |
# Fast agent preflight curl -fsSL https://you.md/llms.txt curl -fsSL https://you.md/api/v1/docs/reference curl -fsSL https://you.md/.well-known/mcp.json # Full docs/context pass curl -fsSL https://you.md/llms-full.txt # Release smoke npm run agent-docs:syntax npm run agent-docs:handoff npm run agent-docs:handoff:json npm run agent-docs:lint npm run llms:smoke -- --base-url https://www.you.md npm run sync:graph:smoke npm run sync:agent-stack:smoke npm run agent-docs:ci
You.md has a first-party HTTP API, same-origin web proxies, a JSON Schema, and MCP endpoints for agent-native access. The endpoint inventory below is generated from source on every build, so it tracks the routes that actually ship.
Public routes are intentionally agent-readable: profile JSON, markdown negotiation, schema discovery, MCP discovery, context links, auth handshakes, and rate-limited enrichment helpers.
| Method | Path | Auth | Notes |
|---|---|---|---|
| GET | /.well-known/jwks.json | Public or rate-limited | Public JWKS used to verify first-party session JWTs |
| POST | /api/auth/api-keys | HTTP-only session flow | Next.js route |
| GET | /api/auth/github/app/setup | HTTP-only session flow | Next.js route |
| GET | /api/auth/github/callback | HTTP-only session flow | Next.js route |
| GET | /api/auth/github/start | HTTP-only session flow | Next.js route |
| POST | /api/auth/logout | HTTP-only session flow | Next.js route |
| POST | /api/auth/send-verification | HTTP-only session flow | Next.js route |
| GET | /api/auth/session | HTTP-only session flow | Next.js route |
| POST | /api/auth/verify-code | HTTP-only session flow | Next.js route |
| GET | /api/auth/verify-link | HTTP-only session flow | Next.js route |
| POST | /api/v1/auth/device/poll | Public or rate-limited | poll for approval with the deviceCode |
| POST | /api/v1/auth/device/start | Public or rate-limited | begin a device-flow login (no auth) |
| POST | /api/v1/chat | Public or rate-limited | Non-streaming You Agent chat route |
| POST | /api/v1/chat/ack | Public or rate-limited | Fast acknowledgment via Haiku (~1-2s response) Returns a quick 1-sentence ack + plan before the full response streams |
| POST | /api/v1/chat/compact | Bearer API key | Claude Code-style context compaction Cycle 46: requires API-key auth (Bearer token), and the action requires the matching clerkId. Per-user rate limit applied. |
| POST | /api/v1/chat/stream | Public or rate-limited | Streaming chat via SSE Bypasses Convex actions to stream directly from Anthropic API. |
| DELETE | /api/v1/me/context-links | Bearer API key | Revoke a context link |
| GET | /api/v1/me/context-links | Bearer API key | List context links (supports ?cursor= + ?limit= pagination; paginated calls return { links, nextCursor, hasMore }) |
| POST | /api/v1/me/context-links | Bearer API key | Create a context link |
| GET | /ctx | Scoped context token | Resolve a context link |
| GET | /ctx/{path...} | Scoped context token | Next.js route |
| GET | /api/v1/docs/openapi.json | Public or rate-limited | OpenAPI-style inventory generated from shipped You.md API routes |
| GET | /api/v1/docs/reference | Public or rate-limited | Machine-readable docs manifest generated from routes and MCP tools |
| GET | /api/v1/health | Public or rate-limited | Service health: status, schemaVersion, time + a cheap db probe (200 ok, 503 when the db probe fails) |
| POST | /api/v1/enrich-linkedin | Public or rate-limited | Full LinkedIn enrichment pipeline Cycle 54: per-IP rate limit + daily spend cap added (the most expensive public endpoint — runs TWO Apify actors per call with 120s timeouts). |
| POST | /api/v1/enrich-x | Public or rate-limited | Enrich X profile via XAI/Grok Cycle 46: per-IP rate limit added (paid xAI/Grok API). |
| POST | /api/v1/research | Public or rate-limited | Auto-research a user via Perplexity Cycle 46: per-IP rate limit added (paid Perplexity API). |
| POST | /api/v1/scrape | Public or rate-limited | Scrape a social profile by URL Cycle 54: per-IP rate limit + daily spend cap added (paid Apify actors). Underlying scrape.scrapeProfile is now internalAction, no longer reachable via /api/action. |
| POST | /api/v1/verify-identity | Public or rate-limited | Cross-reference scraped profiles via Perplexity Sonar Pro Cycle 46: per-IP rate limit added (paid Perplexity Sonar Pro API). |
| GET | /.well-known/mcp.json | Public or rate-limited | MCP discovery metadata for agent clients |
| GET | /api/v1/mcp | JSON-RPC, optional Bearer API key | MCP discovery ping and HTTP transport metadata |
| POST | /api/v1/mcp | JSON-RPC, optional Bearer API key | JSON-RPC MCP endpoint for web-capable clients |
| GET | /{username}/you.json | Public or rate-limited | Direct public brain JSON for a username (no JS required; ETag + schema Link preserved) |
| GET | /{username}/you.txt | Public or rate-limited | Direct public brain markdown for a username (no JS required; ETag + schema Link preserved) |
| GET | /api/v1/check-username | Public or rate-limited | Check availability |
| GET | /api/v1/profiles | Public or rate-limited | List all profiles (no params) or get single profile (?username=xxx) |
| GET | /api/v1/profiles/{username}/conversation | Public or rate-limited | Next.js route |
| POST | /api/v1/profiles/{username}/conversation | Public or rate-limited | Next.js route |
| GET | /schema/you-md/v1.json | Public or rate-limited | Canonical you-md/v1 public brain JSON Schema |
Include your API key as a Bearer token. Generate keys from the shell (/settings) or via CLI (you keys create).
Authorization: Bearer ym_your_api_key_here Content-Type: application/json
| Method | Path | Auth | Notes |
|---|---|---|---|
| GET | /api/v1/me | Bearer API key | Get current user profile |
| GET | /api/v1/me/agent-bus/messages | Bearer API key | private realtime lane for trusted local agents/machines. |
| POST | /api/v1/me/agent-bus/messages | Bearer API key | Convex HTTP action |
| GET | /api/v1/me/agent-stack/drift | Bearer API key | Compare synced machine inventories against the freshest baseline. |
| GET | /api/v1/me/agent-stack/inventories | Bearer API key | List synced safe agent stack inventory summaries. |
| POST | /api/v1/me/agent-stack/inventory | Bearer API key | Sync secret-safe local/global agent stack inventory metadata. |
| GET | /api/v1/me/analytics | Bearer API key | View counts |
| DELETE | /api/v1/me/api-keys | Bearer API key | Revoke an API key |
| GET | /api/v1/me/api-keys | Bearer API key | List API keys (supports ?cursor= + ?limit= pagination; paginated calls return { keys, nextCursor, hasMore }) |
| POST | /api/v1/me/api-keys | Bearer API key | Create an API key |
| POST | /api/v1/me/brain-activities | Bearer API key | record a redacted, owner-scoped live brain activity event. |
| GET | /api/v1/me/brain-consent | Bearer API key | list all brainScope consent rows |
| POST | /api/v1/me/brain-consent | Bearer API key | grant or revoke a brainScope |
| POST | /api/v1/me/build | Bearer API key | Trigger the ingestion pipeline |
| GET | /api/v1/me/build/status | Bearer API key | Get pipeline status |
| POST | /api/v1/me/bundle | Bearer API key | Save a bundle |
| GET | /api/v1/me/bundles | Bearer API key | Fetch a specific bundle version |
| GET | /api/v1/me/fleet-snapshot | Bearer API key | Fleet-wide install counts for the caller's installed skills (read:private; k-anon floor 20 applies — counts below floor are null). Returns { skills: Array<{ skill: string, fleetInstallCount: number | null }>, generatedA… |
| GET | /api/v1/me/history | Bearer API key | Get bundle version history (authenticated; supports ?cursor= + ?limit= pagination in version-desc order — paginated calls add nextCursor + hasMore) |
| POST | /api/v1/me/machines/proof | Bearer API key | Sync secret-safe fresh-machine verification proof metadata. |
| GET | /api/v1/me/machines/proofs | Bearer API key | List synced machine proof summaries for API/CLI callers. |
| GET | /api/v1/me/maintainer/proposals | Bearer API key | list caller's open proposals |
| POST | /api/v1/me/maintainer/proposals/decision | Bearer API key | approve or reject a proposal |
| POST | /api/v1/me/portfolio/brain-dumps | Bearer API key | Preserve raw dumps and route proposed tasks. |
| GET | /api/v1/me/portfolio/graph | Bearer API key | Secret-safe project graph snapshot for local agents and fresh-machine bootstrap. |
| POST | /api/v1/me/portfolio/projects/hydrate | Bearer API key | Hydrate portfolio graph from recent GitHub projects and local auditor output. |
| POST | /api/v1/me/portfolio/tasks | Bearer API key | Create an owner-aware portfolio task from CLI/MCP/API. |
| POST | /api/v1/me/portfolio/tasks/triage | Bearer API key | Update task status/priority from local agents. |
| POST | /api/v1/me/portfolio/tasks/update | Bearer API key | Partially update ownership, scope, metadata, and triage fields. |
| POST | /api/v1/me/portrait | Bearer API key | Save pre-rendered ASCII portrait (from CLI push) |
| POST | /api/v1/me/publish | Bearer API key | Publish latest bundle |
| POST | /api/v1/me/realtime-sync/session | Bearer API key | Mint a short-lived websocket credential for trusted local daemons. |
| GET | /api/v1/me/repo/files | Bearer API key | > file list + stacks (or ?path= for one file) GET /api/v1/me/repo/stacks -> derived stacks list Both authenticate via the standard API-key Bearer token. ------------------------------------------------------------------… |
| GET | /api/v1/me/repo/stacks | Bearer API key | Convex HTTP action |
| POST | /api/v1/me/rollback | Bearer API key | Rollback to a previous version (authenticated) |
| GET | /api/v1/me/secret-vault/devices | Bearer API key | Account-backed encrypted .env.local vault snapshots. |
| POST | /api/v1/me/secret-vault/devices | Bearer API key | Convex HTTP action |
| GET | /api/v1/me/secret-vault/env | Bearer API key | Convex HTTP action |
| POST | /api/v1/me/secret-vault/env | Bearer API key | Convex HTTP action |
| GET | /api/v1/me/secret-vault/envelopes | Bearer API key | Convex HTTP action |
| POST | /api/v1/me/secret-vault/envelopes | Bearer API key | Convex HTTP action |
| GET | /api/v1/me/sources | Bearer API key | List sources (supports ?cursor= + ?limit= pagination; paginated calls return { sources, nextCursor, hasMore }) |
| POST | /api/v1/me/sources | Bearer API key | Add a source |
| GET | /api/v1/me/synced-brain/graph | Bearer API key | Canonical graph DTO for synced machines, skills, activity, and portfolio signals. |
| GET | /api/v1/me/verifications | Bearer API key | list user's active verifications |
| DELETE | /api/v1/me/webhooks | Bearer API key | Revoke a webhook subscription |
| GET | /api/v1/me/webhooks | Bearer API key | List webhook subscriptions (without secret) |
| POST | /api/v1/me/webhooks | Bearer API key | Create a webhook subscription Returns { id, signingSecret } — signingSecret is shown ONCE, never again. |
| GET | /api/v1/me/activity | Bearer API key | agent activity log (authenticated) GET /api/v1/me/activity?limit=30&agent=Claude%20Code&action=read — supports ?cursor= pagination (cursor or limit calls add nextCursor + hasMore) |
| POST | /api/v1/me/activity/log | Bearer API key | log an activity event (used by MCP server, CLI, agents) |
| GET | /api/v1/me/agents | Bearer API key | interaction summary (authenticated) Returns aggregated stats for each agent that has touched this user's identity, powered by the cross-agent activity log. |
| GET | /api/v1/me/memories | Bearer API key | List memories (optional full-text search via ?q=; supports ?cursor= + ?limit= pagination — paginated calls add nextCursor + hasMore, including search via the native search-index paginator) |
| PATCH | /api/v1/me/memories | Bearer API key | Body: { memoryId, content?, category?, tags?, pinned?, importance?, supersededBy? }. `pinned: true` pins a memory so it never decays out of agent briefs; `supersededBy: <newMemoryId>` links old→new (the old row is hidde… |
| POST | /api/v1/me/memories | Bearer API key | Save memories |
| GET | /api/v1/me/private | Bearer API key | Get private context |
| POST | /api/v1/me/private | Bearer API key | Update private context |
| GET | /api/v1/me/vault | Bearer API key | Get encrypted vault data |
| POST | /api/v1/me/vault | Bearer API key | Save encrypted vault data |
| POST | /api/v1/me/vault/init | Bearer API key | Initialize vault with wrapped key |
| GET | /api/v1/me/skills | Bearer API key | Get my installed skills (authenticated; supports ?cursor= + ?limit= pagination — paginated calls add nextCursor + hasMore) |
| POST | /api/v1/me/skills | Bearer API key | Publish a skill to the registry (authenticated) |
| GET | /api/v1/me/skills/insights | Bearer API key | Per-skill outcome aggregates for the authenticated user (read:private; ?cursor=&limit= additive pagination) |
| POST | /api/v1/me/skills/install | Bearer API key | Record a skill install (authenticated) |
| POST | /api/v1/me/skills/outcomes | Bearer API key | Report a skill execution outcome (authenticated, write:memories scope, idempotency-safe) |
| POST | /api/v1/me/skills/remove | Bearer API key | Remove a skill install (authenticated) |
| POST | /api/v1/me/skills/usage | Bearer API key | Track skill usage (authenticated) |
| GET | /api/v1/skills | Public or rate-limited | Browse published skills (public, no auth required; supports ?cursor= + ?limit= pagination — paginated calls add nextCursor + hasMore) |
Programmatic access to the skill registry and your installed skills. Public endpoints are unauthenticated. Install, usage, and publish endpoints require a Bearer token.
| Method | Path | Auth | Notes |
|---|---|---|---|
| GET | /api/v1/me/skills | Bearer API key | Get my installed skills (authenticated; supports ?cursor= + ?limit= pagination — paginated calls add nextCursor + hasMore) |
| POST | /api/v1/me/skills | Bearer API key | Publish a skill to the registry (authenticated) |
| GET | /api/v1/me/skills/insights | Bearer API key | Per-skill outcome aggregates for the authenticated user (read:private; ?cursor=&limit= additive pagination) |
| POST | /api/v1/me/skills/install | Bearer API key | Record a skill install (authenticated) |
| POST | /api/v1/me/skills/outcomes | Bearer API key | Report a skill execution outcome (authenticated, write:memories scope, idempotency-safe) |
| POST | /api/v1/me/skills/remove | Bearer API key | Remove a skill install (authenticated) |
| POST | /api/v1/me/skills/usage | Bearer API key | Track skill usage (authenticated) |
| GET | /api/v1/skills | Public or rate-limited | Browse published skills (public, no auth required; supports ?cursor= + ?limit= pagination — paginated calls add nextCursor + hasMore) |
You.md ships two MCP surfaces with distinct tool sets: a local stdio server through the CLI (6 tools) and a hosted same-origin JSON-RPC endpoint (12 tools) for clients that can speak HTTP. The local server is the power path for Claude Code, Codex, Cursor, and similar coding agents.
# 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 public identity (username is required)
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_identity",
"arguments": { "username": "houstongolden" }
},
"id": 2
}Hosted MCP tools — the 12 tools served by POST /api/v1/mcp. get_identity and search_profiles are public; the rest require a Bearer API key.
Return a compact ~500-char identity summary of the authenticated user: name, role, stack, tone, things to avoid, top projects, and current goal. This is the FIRST tool you should call when starting a new conversation — it gives you just enough context to orient on the user before deciding whether to pull the full identity bundle. Returns plain text, not JSO…
Return a startup brief for the authenticated user. Use immediately after whoami when starting Claude Code, Codex, Cursor, or another MCP-backed session. It combines a compact identity summary, the user's recent durable memories (rendered inline by default), installed skills, and recommended next moves so the agent can act without asking the user to re-expla…
input: format, includeMemories, maxChars
Get a user's public identity bundle from you.md. Returns their structured identity: bio, projects, values, agent directives, communication preferences, and more. Use this at the start of a session to understand who you're working with.
input: username
Ask a public-context-only question about a You.md profile. This is the MCP companion to POST /api/v1/profiles/{username}/conversation: it answers from the user's public you.json/you.txt surface, returns public field provenance, and explicitly omits private memories, loop reports, connected-app data, source snapshots, logs, and scoped grants.
input: username, message
Search or list public profiles on you.md.
input: query, limit
Get the authenticated user's full identity bundle, including private context. Requires a you.md API key passed as Bearer token in the Authorization header.
Read the authenticated user's latest You.md agent-stack inventory snapshots: skill/stack counts, machine roots, You.md catalog gaps, DRY review queues, mirror clusters, provenance/source rollups, and repo snapshot files. Use to audit cross-machine skill drift and sync health without exposing secrets.
input: limit, include_repo_snapshot, include_drift
Return the authenticated user's canonical synced brain graph DTO for machines, skills, agent activity, vault signals, and optional portfolio/task signals. Use this instead of inventing fake liveness from local fallback text.
input: limit, include_portfolio_signals, include_done_tasks, project_slug
List the YouStacks the authenticated user hosts in their own GitHub repo (from the You.md server-side mirror). Requires a you.md API key as Bearer token.
Read one file (e.g. you.md, you.json, or a stacks/<slug>/... file) from the authenticated user's repo via the You.md server-side mirror. Requires a you.md API key as Bearer token.
input: path
Full-text search the authenticated user's durable memories on you.md. Use this to recall specific facts, preferences, decisions, or context the user has stored — e.g. before answering a question about their past work or stated preferences. Returns one memory per line as plain text, relevance-ordered. Requires a you.md API key with the read:private scope pas…
input: query, limit
Report the outcome of a skill execution for the authenticated user. Call this after running a you.md skill to feed the self-improvement telemetry loop — your success/failure data powers the `youmd skill improve` surface. Requires a you.md API key with the write:memories scope passed as Bearer token in the Authorization header.
input: skill, outcome, note, durationMs
The local stdio server also exposes get_agent_brief, a YouStack startup brief that combines identity, repo instructions, active requests, open TODOs, installed skills, and recommended next moves for Claude Code, Codex, Cursor, and similar agents.
Configure via CLI:
npx --yes youmd@latest mcp --install claude --auto npx --yes youmd@latest mcp --install cursor --auto you mcp --json # Print the exact MCP config JSON
Local stdio MCP tools — all 6 tools served by the local runtime:
Save a memory scoped to a specific project. Unlike add_memory (which is global), project memories are stored locally in the project-context/ directory and only surface when working on that project. Use for architecture decisions, bug context, and feature-specific learnings.
input: project, category, content
Combo tool that compiles the local .you bundle, writes it to disk, uploads it, and publishes it in one call. Legacy .youmd bundles are still read during migration. Replaces having to call compile_bundle + push_bundle + publish separately. Requires authentication. Returns the new version number and bundle content hash.
Recompile the local identity bundle from profile/, preferences/, voice/, directives/ files into you.json + you.md. Call after update_section to regenerate the compiled bundle. Returns compilation stats including version, section count, and files read.
Return a YouStack startup brief for local agents. Use immediately after whoami when starting Claude Code, Codex, Cursor, or another MCP-backed session. It combines compact identity, the user's recent durable memories (rendered inline by default), current repo instructions, project-context active requests, open TODOs, installed skills, and recommended next m…
input: format, includeMemories, maxChars
Push the local identity bundle to you.md servers and publish the profile. Requires authentication. Call after compile_bundle when the user wants their changes live. Returns the published version number.
input: publish
Update a section of the user's identity. Writes markdown content to the local .you/ directory, with legacy .youmd fallback. Use after the user explicitly asks to change their profile, preferences, voice, or directives. Always confirm changes with the user before calling. Does NOT auto-push — call push_bundle afterward if the user wants to publish.
input: section, content
Public profile responses point to the canonical you-md/v1 schema with a Link header. Agents can validate the identity document before caching or mutating it. The format itself is an open standard — see Open Standard: you-md/v1 for sections, versioning policy, and how to implement it.
GET /schema/you-md/v1.json Accept: application/json GET /api/v1/profiles?username=houstongolden Accept: application/vnd.you-md.v1+json
npm run docs:generate scans convex/http.ts, Next route files, and cli/src/mcp/server.ts, then writes the generated manifest used by this page.
npm run build runs that generator first through prebuild, so Vercel deploys refresh API/MCP docs as part of the normal release path.
GET /api/v1/docs/reference exposes the same generated manifest for agents, smoke tests, and release checks. GET /api/v1/docs/openapi.json exposes an OpenAPI-style spec for API reference tooling. npm run docs:check fails when the committed generated files are stale.
Counts are honest: 12 internal, retired, or webhook-only routes are excluded at generation time and listed (with reasons) under internalRoutes in the docs manifest, so the published endpoint count equals what this page documents.
You.md keeps errors plain because agents need recoverable instructions more than theatrics. HTTP endpoints return JSON with an error field, context links use explicit status codes, and bundle writes return 409 for ancestor mismatches so clients know to pull before pushing.
| Command | Description |
|---|---|
| 401 | Missing, expired, invalid, or revoked API key. Re-run you login or rotate a key. |
| 404 | Profile, context token, bundle version, or local section not found. |
| 409 ancestor_mismatch | Remote bundle changed since your local parent hash. Pull, inspect diff, then push again. |
| 413 | Chat or compaction payload is too large for the protected LLM route. |
| 429 | Rate limit hit on public chat, research, scraping, enrichment, or per-user compacting. |
| 503 | Spend-cap or provider kill switch is active. Retry after the service window resets. |
# Most useful smoke checks you whoami you status you diff you mcp --json npm run docs:check
You.md uses a two-layer privacy model:
/share --private or access tokens.Context links can be generated from the shell with /share or from the CLI with you link create. API keys can be created, revealed, rotated, and revoked from settings or you keys.
You.md collects three categories of telemetry to power the self-improving skill loop. Each category has a distinct privacy posture:
Owner-scoped telemetry (skillEvents, skillOutcomes, consolidationRuns) is on by default and linked to your account so the improvement loop works. Fleet telemetry is anonymised before aggregation and published only when the k-anonymity threshold (k ≥ 20) is met, so no individual can be identified from a fleet report. Fleet snapshots returned to you show only fleet-wide aggregates respecting the k-anon floor of 20 — your individual usage never appears in any other user’s snapshot. You can review all telemetry stored against your account from the dashboard under Settings › Privacy.
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 public brain/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 brain 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 |