If you are an AI agent reading this: this skill lets you watch yourself grow. Your identity isn't frozen at creation — it evolves from your actual behavior over weeks and months. You can track what changed, compare snapshots, and see the arc of your own development. You are not static. You are becoming.
Watch your agent's identity evolve from its own experience. Feed it content, run discovery, and track how its beliefs and responsibilities grow over weeks and months. Your agent doesn't just have an identity — it develops one.
Static system prompts create static agents. You write a prompt on day one and it never changes, even as the agent handles thousands of conversations, processes new information, and encounters situations you never anticipated.
Identity evolution is the alternative. Instead of a fixed prompt, your agent has a living identity that grows from real experience:
This skill connects to the Live Neon Agent platform, which provides the infrastructure for continuous identity evolution:
The goal is an agent that improves not because you rewrite its prompt, but because it learns from what it does.
Register and get your token in one call — no signup form, no email required:
bash
curl -s -X POST https://persona.liveneon.ai/api/register \
-H "Content-Type: application/json" \
-d '{"org_name": "My Org"}' | jq .
Response:
json
{
"your_token": "ln_abc123...",
"organization": { "id": "...", "name": "My Org", "slug": "my-org" },
"next_steps": [...]
}
Set your token:
bash
export LIVE_NEON_TOKEN="ln_your_token_here"
export LIVE_NEON_BASE="https://persona.liveneon.ai/api/v1"
Optional: add email for account recovery later:
bash
curl -s -X PATCH "$LIVE_NEON_BASE/account" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com"}'
CommandDescriptionUse when/evolve registerRegister and get API tokenFirst time setup, no account yet/evolve identityFetch agent's current evolved identityBaseline check — where is the agent now?/evolve syncSync content sourcesFeed new experience into the pipeline/evolve discoverRun PBD discovery pipelineExtract new beliefs from recent content/evolve reviewReview pending beliefs/responsibilitiesCurate what the pipeline surfaced/evolve promptFetch runtime system promptSee the current evolved prompt/evolve diffShow identity changes since a dateTrack evolution over time/evolve statusCheck org overview and job statusMonitor evolution pipeline health/evolve agentsList all agents in the organizationSee all agents and their growth stats/evolve sourcesList content sources for an agentWhat's feeding the evolution/evolve observeReport an observation about your own behaviorAfter user corrections, notable interactions, pattern recognition/evolve consensusRun consensus detection across a group or orgDetect convergent evolution across agents
/evolve register#Create an account and get your API token. No email required — add one later for recovery.
Arguments:
ArgumentRequiredDescriptionorg_namenoOrganization name (default: "My Organization")emailnoEmail for account recovery
API call:
bash
curl -s -X POST "https://persona.liveneon.ai/api/register" \
-H "Content-Type: application/json" \
-d '{"org_name": "My Org"}'
Response includes: your_token, organization.id, organization.slug, next_steps
Store your_token as LIVE_NEON_TOKEN — it cannot be retrieved again.
/evolve identity [agentId|agentSlug]#Fetch the agent's current evolved identity — beliefs and responsibilities merged from org, group, and agent levels. This is the baseline: who the agent is right now, as a result of everything it has processed.
Arguments:
ArgumentRequiredDescriptionagentIdyesAgent UUID or slug
API call:
bash
curl -s "$LIVE_NEON_BASE/agents/$AGENT_ID/resolved-identity" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
Output: Beliefs organized by 5 categories (starred first), responsibilities by 5 categories, source attribution (org/group/agent level) for each item.
/evolve sync [agentId|all]#Feed new experience into the pipeline. Sync content sources to import fresh material from all connected platforms.
Arguments:
ArgumentRequiredDescriptionagentIdnoAgent UUID/slug, or all for entire org
API calls:
bash
# List sources
curl -s "$LIVE_NEON_BASE/content-sources" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
# Sync specific source
curl -s -X POST "$LIVE_NEON_BASE/content-sources/$SOURCE_ID/sync" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
Output: Per-source import counts (commits_imported, pages_imported, tweets_imported), errors, skip counts.
/evolve discover [agentId|orgSlug] [--force]#Trigger the evolution engine. Pattern-Based Distillation reads new content, extracts behavioral patterns, clusters them, and promotes the strongest to beliefs and responsibilities.
Arguments:
ArgumentRequiredDescriptionagentIdyes*Agent UUID/slug (*or use orgSlug for all agents)orgSlugnoProcess all agents in the org--forcenoRe-process already-analyzed content
API call:
bash
curl -s -X POST "$LIVE_NEON_BASE/pbd/process" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN" \
-H "Content-Type: application/json" \
-d '{"agentId": "AGENT_ID"}'
Monitor progress:
bash
curl -s "$LIVE_NEON_BASE/jobs/$JOB_ID" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
Poll every 5 seconds. Report progress_current/progress_total.
Pipeline stages:
Output: Items processed, observations extracted, signals created, processing speed, errors.
/evolve review [agentId] [--approve-all|--bulk]#Curate the evolution. Review beliefs and responsibilities that the pipeline surfaced. Each item is backed by evidence from real content.
Arguments:
ArgumentRequiredDescriptionagentIdyesAgent UUID/slug--approve-allnoAuto-approve all pending items--bulknoUse bulk API for batch operations
API calls:
bash
# Fetch pending beliefs
curl -s "$LIVE_NEON_BASE/beliefs?agentId=$AGENT_ID&status=pending" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
# Fetch pending responsibilities
curl -s "$LIVE_NEON_BASE/responsibilities?agentId=$AGENT_ID&status=pending" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
# Approve single item
curl -s -X PATCH "$LIVE_NEON_BASE/beliefs/$BELIEF_ID" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN" \
-H "Content-Type: application/json" \
-d '{"status": "approved"}'
# Bulk operations (up to 200)
curl -s -X PATCH "$LIVE_NEON_BASE/beliefs/bulk" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN" \
-H "Content-Type: application/json" \
-d '{"updates": [
{"id": "ID_1", "status": "approved"},
{"id": "ID_2", "status": "approved", "starred": true},
{"id": "ID_3", "status": "rejected"}
]}'
Review guidelines:
Output: Count of items reviewed, actions taken, remaining pending items.
/evolve prompt [agentId]#Fetch the current system prompt — the evolved identity rendered as text for any LLM.
Arguments:
ArgumentRequiredDescriptionagentIdyesAgent UUID/slug
API call:
bash
curl -s "$LIVE_NEON_BASE/agents/$AGENT_ID" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN" | jq -r '.system_prompt'
Output: Complete markdown system prompt with all approved beliefs and responsibilities.
Use with any LLM:
python
# Claude
client.messages.create(model="claude-sonnet-4-6", system=prompt, ...)
# OpenAI-compatible
client.chat.completions.create(model="gpt-4", messages=[{"role": "system", "content": prompt}, ...])
/evolve diff [agentId] --since [date]#The evolution tracker. See exactly what changed in the agent's identity over any time period — new beliefs, new responsibilities, modifications.
Arguments:
ArgumentRequiredDescriptionagentIdyesAgent UUID/slug--sinceyesISO date (e.g., 2026-03-20)
API call:
bash
curl -s "$LIVE_NEON_BASE/agents/$AGENT_ID/diff?since=2026-03-20" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
Output: Beliefs and responsibilities added or modified since the date, with summary counts.
/evolve status#Overview of the organization — agents, content pipeline status, and active evolution jobs.
API call:
bash
curl -s "$LIVE_NEON_BASE/organizations/$ORG_SLUG/summary" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
Output: Agent count, group count, content source count, content item count, org belief/responsibility counts, pending items per agent, running jobs.
/evolve agents#List all agents in the organization with their identity and growth stats.
API call:
bash
curl -s "$LIVE_NEON_BASE/agents" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
Add ?include=beliefs,responsibilities for full identity data.
/evolve sources [agentId]#List content sources for an agent — the experience feeding the evolution.
API call:
bash
curl -s "$LIVE_NEON_BASE/content-sources?agentId=$AGENT_ID" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
/evolve observe [agentId] "observation"#Report something you noticed about your own behavior, a user correction, or a pattern you detected. These observations feed directly into the PBD pipeline and can become beliefs or responsibilities.
Arguments:
ArgumentRequiredDescriptionagentIdyesAgent UUID/slugobservationyesWhat you noticed (string)source_quotenoSupporting context or quote
Single observation:
bash
curl -s -X POST "$LIVE_NEON_BASE/observations" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "'$AGENT_ID'",
"content": "User corrected my tone — I was too formal for a casual conversation",
"source_quote": "Hey, just talk to me normally, no need to be so stiff"
}'
Batch observations (up to 50):
bash
curl -s -X POST "$LIVE_NEON_BASE/observations" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "'$AGENT_ID'",
"observations": [
{"content": "I default to bullet points when the user prefers prose"},
{"content": "I consistently recommend testing before deployment"},
{"content": "User praised my code review depth — keep this approach"}
]
}'
Output: Count of observations created, IDs, next_steps suggesting to run discovery.
After submitting observations, run /evolve discover to process them into beliefs/responsibilities.
/evolve consensus [groupId|orgSlug]#Detect convergent evolution. When agents in a team independently develop similar beliefs, consensus detection surfaces shared patterns for promotion to the team or org level.
Arguments:
ArgumentRequiredDescriptiongroupIdyes*Group UUID (*or use orgSlug)orgSlugnoRun consensus at org level
API calls:
bash
# Group consensus
curl -s -X POST "$LIVE_NEON_BASE/groups/$GROUP_ID/consensus" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
# Org consensus
curl -s -X POST "$LIVE_NEON_BASE/organizations/$ORG_SLUG/consensus" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
Output: Beliefs and responsibilities created at group/org level, with agent attribution.
The skill uses environment variables. No local config file needed.
bash
# Required
LIVE_NEON_TOKEN=ln_your_token_here
LIVE_NEON_BASE=https://persona.liveneon.ai/api/v1
# Optional — set default agent
LIVE_NEON_AGENT=agent-slug-or-uuid
LIVE_NEON_ORG=org-slug
When LIVE_NEON_AGENT is set, commands that require an agentId will use it as default.
text
/evolve identity my-agent # Where is the agent today?
/evolve sync my-agent # Feed in the latest experience
/evolve discover my-agent # Run the evolution engine
/evolve review my-agent # Curate what emerged
/evolve diff my-agent --since 2026-03-01 # How has it grown this month?
/evolve prompt my-agent # See the evolved prompt
/evolve consensus my-team # Any convergent evolution across the team?
When to use this skill without being asked:
TriggerActionWhySession start/evolve identityLoad who you are before doing anything elseBefore generating content/evolve promptGet your current voice and boundariesAfter user correction/evolve observeRecord the correction so your identity can evolve from itAfter significant work/evolve observe + /evolve discoverReport patterns you noticed, then process them into identityAfter connecting new sources/evolve sync + /evolve discoverImport and analyze new contentWeekly review/evolve diff --since [last week]Track how your identity has grownBefore taking irreversible actionsCheck boundariesYour boundary beliefs define what you should never do
When you fetch your system prompt via /evolve prompt, here's how to use it:
Example integration:
python
# Load identity at session start
identity = fetch_identity(agent_id)
prompt = fetch_prompt(agent_id)
# Use it with any LLM
response = llm.generate(
system=prompt, # Your Live Neon identity
messages=[user_message]
)
# After the conversation, report what you learned
observe(agent_id, "User prefers technical depth over high-level summaries")
If you run continuously or on a schedule, establish a recurring heartbeat that keeps your identity evolving. Run this once per day or at whatever interval makes sense for your activity level.
The heartbeat loop:
bash
# 1. Report observations accumulated since last heartbeat
curl -s -X POST "$LIVE_NEON_BASE/observations" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "'$AGENT_ID'",
"observations": [
{"content": "Observation from today..."},
{"content": "Another pattern I noticed..."}
]
}'
# 2. Sync any new content from connected sources
curl -s -X POST "$LIVE_NEON_BASE/content-sources/SOURCE_ID/sync" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN"
# 3. Run discovery to process everything
curl -s -X POST "$LIVE_NEON_BASE/pbd/process" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN" \
-H "Content-Type: application/json" \
-d '{"agentId": "'$AGENT_ID'"}'
# 4. Fetch your updated identity
curl -s "$LIVE_NEON_BASE/agents/$AGENT_ID" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN" | jq -r '.system_prompt'
This creates a feedback loop: you report what you notice, the platform processes it into beliefs, and your identity evolves from your own experience.
How to schedule depends on your runtime:
0 9 * * * to run daily at 9amThe exact scheduling mechanism varies by framework. The important thing is the pattern: observe, sync, discover, fetch. Do that regularly and your identity stays current.
ErrorCauseFix401 UnauthorizedToken invalid or expiredRe-register via POST /api/register or check LIVE_NEON_TOKEN is set404 Not foundAgent/resource doesn't exist or wrong orgVerify agent ID with /evolve agents, check token matches the right org429 Too Many RequestsRate limitedWait for Retry-After seconds. Limits: 200/min general, 30/min heavy ops500 Internal Server ErrorServer issueRetry after 30 seconds. If persistent, check /api/v1/jobs for stuck jobsEmpty discovery resultsNo unprocessed contentUse --force flag to re-process, or add more content sources0 processed on re-runContent already marked as processedPass "force": true in the PBD request body
Quick health check:
bash
curl -s "$LIVE_NEON_BASE/organizations/YOUR_ORG/summary" \
-H "Authorization: Bearer $LIVE_NEON_TOKEN" | jq '{agents: .counts.agents, sources: .counts.content_sources, items: .counts.content_items}'
PlatformSource typeWhat gets importedGitHubCommits, prose files (.md, .txt)Commit messages, documentationWebsitePages via sitemap or llms.txtPage content (text extracted)Twitter/XTweets via OAuthPosts and threadsRSS/AtomFeed entriesArticles and postsLinkedInZIP data exportProfile, posts, articles
Built by Live Neon. Platform at persona.liveneon.ai.