Skip to content

ResearAI/MeOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MeOS logo MeOS

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

GitHub stars License MIT Format Agent Skill Scope local-first

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 overview

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.

✨ Why MeOS

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

🧩 What You Actually Get

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

βš™οΈ How MeOS Works

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.

πŸš€ Quick Start

Fastest path: install from npm

npm install -g @researai/meos
meos install --runtime codex
meos doctor

Then 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.

Repository path: clone and install locally

git clone https://github.com/ResearAI/MeOS.git
cd MeOS
bash install.sh --runtime codex
python3 installer.py doctor

πŸ“¦ Install And Use

Install from npm

This is the recommended path if you just want to use MeOS:

npm install -g @researai/meos

Core 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

Local graph preview

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 build

This writes:

  • SKILL/runtime/graph/owner-graph.json
  • SKILL/runtime/graph/alignment-packet.json
  • SKILL/runtime/graph/owner-graph.html
  • SKILL/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 serve

By 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 20998

Install from the repository

Use 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 inside node_modules
  • local repository installs default to copy for OpenClaw and symlink for 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 codex

For local development of this repository:

npm install -g .

Common install targets

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.

Use MeOS in a real task

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.

Runtime-specific usage examples

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.

πŸ–₯ Runtime Setup

Codex

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/meos

Codex can trigger MeOS explicitly by name or implicitly through the skill description.

Claude Code

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/meos

Typical use:

/meos
Apply MeOS for this task. Read only the minimum relevant assets and use them to shape reasoning, workflow, and output.

Claude Code + MiniMax

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

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/meos or ~/.openclaw/skills/meos.

Recommended manual install:

mkdir -p <workspace>/skills
cp -a /path/to/MeOS/SKILL <workspace>/skills/meos

Verify:

openclaw skills info meos
openclaw skills list | rg meos

OpenCode

OpenCode 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/meos

If 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.'

πŸ—‚ What The Agent Reads In apply Mode

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.

πŸ”’ Promotion And Privacy Rules

Promotion flow

  1. collect local material
  2. classify the source
  3. extract high-signal candidate facts
  4. keep uncertain items in evidence/
  5. 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

Maintenance lifecycle

MeOS should evolve through:

  • add
  • merge
  • downgrade
  • discard

The point is to keep assets clean and maintainable, not to accumulate prompt clutter.

Privacy boundary

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 privacy boundary

πŸ— Repository Layout

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/, and SKILL/runtime/

πŸ“Œ Key Skill References

The highest-value files inside SKILL/ are:

πŸ›€ Current Direction

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.

πŸ“š Citation

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}
}

About

Fork yourself as a Skill, so agents understand you better.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors