Portable identity
Keep an agent's name, description, model, tools, skills, tags, and instructions in one file.
AgentProfile is a lightweight PROFILE.md format and Python parser for packaging an agent's identity, model, tools, skills, handoff behavior, output contract, and system prompt in one version-controlled file.
PROFILE.md Keep an agent's name, description, model, tools, skills, tags, and instructions in one file.
Use PROFILE.md plus optional provider.json and output-schema.json companion files.
Pydantic enforces a versioned schema, name pattern, and required frontmatter fields.
Load the same profile from CLIs, agent runtimes, test harnesses, and deployment tools.
Frontmatter holds structured metadata. The Markdown body becomes the system prompt unless a system prompt is explicitly set in frontmatter.
---
version: 1
name: researcher
description: Research agent
model: deepseek:deepseek-v4-pro
tools:
- web_search
skills:
- literature-review
tags:
- research
- citations
handoff_instructions: |
Hand off open questions to the writer agent
with a short evidence summary.
provider: provider.json
output_schema: output-schema.json
---
You are a careful research agent. Cite sources, separate facts from assumptions,
and hand off unresolved questions clearly. from agentprofile import load_profile, dumps_profile
profile = load_profile("./researcher/PROFILE.md")
print(profile.name)
print(profile.version)
print(profile.model)
print(profile.system_prompt)
print(profile.provider_options)
# Round-trip back to PROFILE.md
markdown = dumps_profile(profile) A runtime reads lightweight metadata such as name, description, and version.
Pydantic checks the version, name pattern, required fields, and frontmatter shape.
The full PROFILE.md body becomes the agent's system prompt unless overridden in frontmatter.
Provider options and output schemas are loaded from files next to the profile.
The runtime maps model, tools, skills, and schema into its own agent API.
AgentProfile is a 3-day-old prototype with a validated Pydantic schema and a PROFILE.md parser. It is not yet published on PyPI, has no CLI or MCP server, and the format is subject to change as we learn what fields matter for multi-agent team formation.
The current focus is validating the fields against real multi-agent workflows before committing to a stable format. Install from GitHub to experiment:
pip install "agentprofile @ git+https://github.com/open-assistants-lab/AgentProfile.git" PROFILE.md defines who the agent is.
Agent Skills define reusable capabilities and workflows.
ConnectKit connects user accounts and tools.
CoreMem retrieves what the agent remembers.
HybridDB stores local searchable data.