Fork yourself as a Skill, so agents understand your personality, preferences, and way of working.
Core goal: help agents understand who you are, what you prefer, and how you like to work.
https://github.com/ResearAI/MeOS
GitHub | δΈζ README | Quick Start | Install & Use | Runtime Setup | Repository Layout
Apply, not just store Β· Public repository, private local layer Β· Editable assets, not black-box memory Β· One installer for multiple runtimes
What You Get β’ How It Works β’ Promotion & Privacy β’ Key Skill References
MeOS is not a memory dump.
It is not a roleplay profile pack.
It is not just a pile of prompts.
It is a file-first system for making your personality, preferences, and stable operating style legible and reusable to future agents.
Supports Codex, Claude Code, OpenCode, and OpenClaw.
If you are tired of repeating the same standards, the same preferences, the same taste, and the same corrections in every new agent session, MeOS is the layer that turns that repetition into reusable local assets.
Most systems in this space do one part well:
- distill a person into a prompt
- extract reusable skills from interaction logs
- keep reusable instructions around
MeOS focuses on the layer in between: the long-lived operating layer.
| Typical approach | What it usually misses | What MeOS does instead |
|---|---|---|
| Memory dump | Too much noise, weak reuse | Promotes only stable patterns into assets |
| Persona prompt | Sounds similar, works shallowly | Stores workflows, standards, principles, and corrections |
| One-shot profile summary | Becomes stale quickly | Supports init, refresh, and apply as an ongoing lifecycle |
| Private local notebook | Hard to reuse across tools | Uses a shared SKILL.md shape that multiple runtimes can load |
The core idea is simple:
do not merely remember the owner, make the owner reusable
| Asset type | Examples | What it improves |
|---|---|---|
π Work standards |
coding rules, review bar, acceptance lines | technical quality and consistency |
π§ Workflow assets |
debug order, architecture review sequence, delivery checklist | how the agent approaches the task |
π§ Thought style |
reasoning patterns, trade-off habits, decision style | planning and judgment quality |
π¨ Taste and preferences |
output structure, UI taste, response style | how results look and read |
βοΈ Corrections |
explicit overrides, things the owner rejected before | prevents repeated misalignment |
π Knowledge assets |
stable facts, domain understanding, reusable experience | task context that survives beyond one chat |
| Mode | Purpose | Reads first | Writes back |
|---|---|---|---|
π§± init |
Build the first asset set from approved local material | source policy, extraction SOP, promotion policy, privacy policy | initial assets plus evidence |
π refresh |
Update existing assets with new material | extraction SOP, promotion policy, correction policy | merged updates, conflicts, corrections |
π― apply |
Use existing assets during a live task | only the minimum relevant assets | only stable new information |
apply is the most important mode.
That is where MeOS stops being an archive and starts becoming useful.
npm install -g @researai/meos
meos install --runtime codex
meos doctorThen use it immediately:
Use meos in apply mode for this task. Read only the minimum relevant assets and use them to shape reasoning, workflow, and output.
git clone https://github.com/ResearAI/MeOS.git
cd MeOS
bash install.sh --runtime codex
python3 installer.py doctorThis is the recommended path if you just want to use MeOS:
npm install -g @researai/meosCore commands:
| Command | What it does |
|---|---|
meos install --runtime codex |
install MeOS into Codex |
meos install --runtime claude |
install MeOS into Claude Code |
meos install --runtime openclaw --force |
install MeOS into OpenClaw |
meos install --runtime opencode |
install MeOS into OpenCode |
meos doctor |
check repository and target install paths |
meos print-prompts --lang en |
print suggested init / refresh / apply prompts |
meos print-prompts --lang zh |
print the same prompts in Chinese |
meos graph build |
compile claims.jsonl into graph JSON, alignment packet, and a self-contained HTML preview |
meos graph serve |
rebuild the preview and serve it locally at http://127.0.0.1:20998/ by default |
Use this when you want to turn local person-graph claims into a visible page.
Step 1. Prepare a local claim ledger.
If you are working in this repository, put the file at:
./SKILL/evidence/claims.jsonl
Each line must be one JSON object. A minimal example:
{"id":"claim_001","subject":"owner","dimension":"preference","predicate":"prefers","object":"concise_actionable_output","scope":"task_family:coding","explicitness":"explicit","stability":"stable","confidence":0.96,"evidence_ids":["ev_01"],"first_seen":"2026-04-09","last_seen":"2026-04-09"}
{"id":"claim_002","subject":"owner","dimension":"workflow","predicate":"uses_workflow","object":"inspect_then_patch_then_verify","scope":"task_family:coding","explicitness":"inferred","stability":"stable","confidence":0.84,"evidence_ids":["ev_02"],"first_seen":"2026-04-09","last_seen":"2026-04-09"}
{"id":"claim_003","subject":"owner","dimension":"constraint","predicate":"avoids","object":"long_prefatory_explanations","scope":"global","explicitness":"explicit","stability":"stable","confidence":0.99,"evidence_ids":["ev_03"],"first_seen":"2026-04-09","last_seen":"2026-04-09"}Step 2. Build the graph outputs.
meos graph buildThis writes:
SKILL/runtime/graph/owner-graph.jsonSKILL/runtime/graph/alignment-packet.jsonSKILL/runtime/graph/owner-graph.htmlSKILL/runtime/graph/index.html
It also prints:
- the detected skill root
- the claims source path
- the generated HTML file path
- the next preview command
- the local preview URL
Step 3. Start the local preview server.
meos graph serveBy default this serves:
http://127.0.0.1:20998/
Step 4. Open the page in a browser.
Open:
http://127.0.0.1:20998/
The page includes:
- the owner-centric graph view
- filters for dimension and stability
- search over claims and scopes
- a compiled alignment packet
- the raw claim list for inspection
Step 5. Stop the preview server.
Press Ctrl+C in the terminal where meos graph serve is running.
Step 6. Direct file-open fallback.
The generated HTML is self-contained, so this also works when you do not want a local server:
SKILL/runtime/graph/owner-graph.html
Step 7. Empty or missing claims behavior.
If SKILL/evidence/claims.jsonl does not exist yet, meos graph build still generates an empty preview shell and prints a note explaining that no claim ledger was found.
If you want a different host or port:
meos graph serve --host 127.0.0.1 --port 20998Use this if you want to work on MeOS itself:
The installer does not publish the whole repository.
It installs the contents of ./SKILL/ into the runtime skill directory meos/.
--mode auto is the default.
It uses a runtime-safe install strategy:
- packaged installs from npm default to
copy, so mutable local assets do not live insidenode_modules - local repository installs default to
copyfor OpenClaw andsymlinkfor the other runtimes
| Runtime | Recommended command | Note |
|---|---|---|
| Codex | bash install.sh --runtime codex |
simplest path for local skill use |
| Claude Code | bash install.sh --runtime claude |
use lowercase meos skill dir |
| OpenClaw | bash install.sh --runtime openclaw --force |
prefers copied skill directories |
| OpenCode | bash install.sh --runtime opencode |
install into one compatible path only |
You can also use the npm wrapper:
npm install -g @researai/meos
meos install --runtime codexFor local development of this repository:
npm install -g .| Runtime | Recommended command | Note |
|---|---|---|
| Codex | meos install --runtime codex |
simplest path for local skill use |
| Claude Code | meos install --runtime claude |
use lowercase meos skill dir |
| OpenClaw | meos install --runtime openclaw --force |
prefers copied skill directories |
| OpenCode | meos install --runtime opencode |
install into one compatible path only |
If you are replacing an older install instead of doing a first install, add --force.
The three core usage modes are:
| Mode | When to use it | Prompt |
|---|---|---|
init |
build the first asset set | Use meos in init mode. Build the first sanitized operating-layer assets from the available local source material. |
refresh |
update existing assets | Use meos in refresh mode. Refresh the existing MeOS assets from new local material and only promote stable rules. |
apply |
use existing assets during work | Use meos in apply mode for this task. Read only the minimum relevant assets and write back only stable new information. |
Codex:
Use meos in apply mode for this task. Read only the minimum relevant assets and use them to shape reasoning, workflow, and output.
Claude Code:
/meos
Apply MeOS for this task. Read only the minimum relevant assets and use them to shape reasoning, workflow, and output.
Codex supports skill directories such as .agents/skills/ and ~/.agents/skills/.
Manual install:
mkdir -p ~/.agents/skills
ln -s /path/to/MeOS/SKILL ~/.agents/skills/meosCodex can trigger MeOS explicitly by name or implicitly through the skill description.
Claude Code supports ~/.claude/skills/<skill-name>/SKILL.md and .claude/skills/<skill-name>/SKILL.md.
Manual install:
mkdir -p ~/.claude/skills
ln -s /path/to/MeOS/SKILL ~/.claude/skills/meosTypical use:
/meos
Apply MeOS for this task. Read only the minimum relevant assets and use them to shape reasoning, workflow, and output.
If you want Claude Code to use the MiniMax Anthropic-compatible endpoint, keep a local ~/.claude/settings.json like this:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "${MINIMAX_API_KEY}",
"API_TIMEOUT_MS": "3000000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}Verify:
claude -p --model MiniMax-M2.7 'Respond with exactly CLAUDE_MINIMAX_OK.'OpenClaw supports ~/.openclaw/skills, ~/.agents/skills, <workspace>/.agents/skills, and <workspace>/skills.
Important behavior from manual testing:
- OpenClaw skips symlinked skill roots whose resolved realpath escapes the configured root.
- In practice, external symlink installs are unreliable.
- The safest install is a copied directory under
<workspace>/skills/meosor~/.openclaw/skills/meos.
Recommended manual install:
mkdir -p <workspace>/skills
cp -a /path/to/MeOS/SKILL <workspace>/skills/meosVerify:
openclaw skills info meos
openclaw skills list | rg meosOpenCode searches several compatible skill locations:
.opencode/skills/<name>/SKILL.md~/.config/opencode/skills/<name>/SKILL.md.claude/skills/<name>/SKILL.md~/.claude/skills/<name>/SKILL.md.agents/skills/<name>/SKILL.md~/.agents/skills/<name>/SKILL.md
Choose one install path only:
mkdir -p ~/.config/opencode/skills
ln -s /path/to/MeOS/SKILL ~/.config/opencode/skills/meosIf your provider or proxy does not support OpenCode's default secondary title model, set small_model explicitly:
{
"$schema": "https://opencode.ai/config.json",
"model": "openai/gpt-5.4",
"small_model": "openai/gpt-5.4"
}Verify:
opencode run --model openai/gpt-5.4 --format json \
'Use meos in apply mode for this task. Reply with exactly OPENCODE_SKILL_OK.'Paths below are relative to the installed skill root.
Inside this repository, they live under SKILL/.
| Task type | Read first | Outcome |
|---|---|---|
π Technical implementation |
assets/live/work/, assets/live/thought-style/, assets/live/workflow/, assets/live/principles/ |
follows your technical standards and execution order |
π¨ UI / product work |
assets/live/taste/, assets/live/work/, assets/live/workflow/, assets/live/corrections/ |
preserves your taste and presentation bar |
π¬ Research / writing |
assets/live/work/, assets/live/thought-style/, assets/live/principles/, assets/live/knowledge/, assets/live/workflow/ |
uses your structure, reasoning, and domain framing |
π¬ Style-sensitive replies |
assets/live/preferences/, assets/live/corrections/ |
matches preferred response shape and wording |
If assets/live/corrections/ conflicts with another layer, correction wins.
- collect local material
- classify the source
- extract high-signal candidate facts
- keep uncertain items in
evidence/ - promote only stable items into
assets/live/
Promote when one of these is true:
- explicit user statement
- repeated pattern across contexts
- explicit correction or reinforcement
Keep the item in evidence/ when it is:
- one-off
- noisy
- too context-specific
- too sensitive
MeOS should evolve through:
- add
- merge
- downgrade
- discard
The point is to keep assets clean and maintainable, not to accumulate prompt clutter.
| Safe to publish | Keep local by default |
|---|---|
README.md |
SKILL/private/ |
README_ZH.md |
SKILL/evidence/ |
assets/branding/ |
SKILL/runtime/ |
assets/readme/ |
SKILL/assets/live/ |
SKILL/references/ |
raw imported material |
SKILL/schemas/ |
secrets and tokens |
SKILL/assets/templates/ |
workstation-specific notes |
SKILL/assets/examples/ |
private raw transcripts |
Do not commit:
- tokens
- API keys
- personal identifiers
- raw connector ids
- unnecessary private paths
- raw private transcripts
MeOS/
βββ README.md
βββ README_ZH.md
βββ LICENSE
βββ assets/
β βββ branding/
β βββ readme/
βββ SKILL/
β βββ SKILL.md
β βββ references/
β βββ schemas/
β βββ assets/
β β βββ templates/
β β βββ examples/
β β βββ live/
β βββ evidence/
β βββ runtime/
β βββ private/
βββ install.sh
βββ installer.py
βββ package.json
βββ bin/
The important pattern is:
- public project materials stay at the repository root
- everything the runtime skill needs lives under
SKILL/ - the installer publishes
SKILL/into runtime skill directories - local-only owner calibration stays in
SKILL/assets/live/,SKILL/evidence/,SKILL/private/, andSKILL/runtime/
The highest-value files inside SKILL/ are:
- SKILL/SKILL.md
- SKILL/references/source-locations.md
- SKILL/references/extraction-sop.md
- SKILL/references/promotion-policy.md
- SKILL/references/privacy-policy.md
- SKILL/references/writeback-policy.md
- SKILL/references/apply-task-map.md
MeOS already has:
- a cross-tool
SKILL/package layout - extraction, promotion, privacy, and writeback references
- JSON schemas for durable entries
- example and template asset trees
- installer paths for Codex, Claude Code, OpenCode, and OpenClaw
The next step is not "add more prompt text". It is to keep improving the assets, examples, and public presentation without leaking private local history.
If MeOS is used in work related to personal alignment, style distillation, or operating-layer asset maintenance, you may also want to cite:
@inproceedings{
zhu2025personality,
title={Personality Alignment of Large Language Models},
author={Minjun Zhu and Yixuan Weng and Linyi Yang and Yue Zhang},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025},
url={https://openreview.net/forum?id=0DZEs8NpUH}
}