agentleFS
EverMind-AIEverMind-AI/EverOS/.claude/skills/verify-everos/SKILL.md

verify-everos

Skill14k starsChanged 16 days agoApache-2.0View on GitHub

Verify an EverOS change on a real server - start your own instance, drive it over HTTP or through Claude Code with everos-mcp, read the outcome from the layer that owns it (markdown, SQLite, LanceDB, metrics), and tear it down. Use before saying a memory feature works end to end.

  • Reads credentials

1 other project uses a version of this.

Trending

More talk lately.about the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 0 mentionsMar 2026: 0 mentionsApr 2026: 1 mentionMay 2026: 6 mentionsJun 2026: 4 mentionsJul 2026: 9 mentionsAug 2026: 7 mentionsSep 2026: 12 mentionsOct 2026: 6 mentionsNov 2026: 3 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the EverMind-AI/EverOS repository that our weekly crawl found. There is no adoption data for this file yet.

Most recently taken up by

Who's talking about EverMind-AI/EverOS

The biggest 5 of 48 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 48

Talked about on GitHub, YouTube, Bluesky and the web (48 times).

On GitHub · 39

34 more on GitHub

On YouTube · 6

1 more on YouTube

On the web · 1

  • Other versions1 project uses a version of this.

    Word for word · 1

    1. EverMind-AI/EverMemOS★ 14k100% same

    Edited · 0

    None found.

    Wrote their own version · 0

    None found.

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository6 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Very specific:

    Never use ~/.everos or a server someone else started.

    line 14
  2. Very specific:

    Before reading the index, poll it once a second until it reads 0 on two consecutive samples (docs/api.md, and wait_converged in …

    line 38
  3. Very specific:

    Claude Code, the way users do it: run everos-mcp against your port and start Claude Code with only that server, in a tmux socket of your …

    line 51
  4. Distinctive:

    Stop the pid you started, after checking it is yours, then wait for the port:

    line 88
  5. Very specific:

    Never pkill by pattern: other sessions on the machine run their own servers.

    line 97

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/verify-everos - check a change on a real server

Unit and integration tests run the code with stand-ins; this is how to see the real everos server do it. Grown one task at a time: each task adds the features it actually walked (see the feature map at the end), nothing more.

1. Start your own instance

Never use ~/.everos or a server someone else started. Give every check its own root and port.

ROOT=$(mktemp -d)/root; PORT=18611
lsof -nP -iTCP:$PORT -sTCP:LISTEN          # must print nothing
uv run everos init --root "$ROOT"
EVEROS_LLM__API_KEY=$OPENROUTER_API_KEY \
EVEROS_EMBEDDING__API_KEY=$DEEPINFRA_API_KEY \
EVEROS_RERANK__API_KEY= \
  uv run everos server start --root "$ROOT" --port $PORT > "$ROOT.log" 2>&1 &
echo $! > "$ROOT.pid"

The shipped defaults point the LLM at OpenRouter and the embedding at DeepInfra, so those two keys are all it needs. Reflection is off by default (docs/reflection.md); to turn it on, replace the $ROOT/ome.toml that init scaffolds with [strategies.reflect_episodes]\nenabled = true before starting, as the acceptance tests do.

2. Is it ready?

curl -s http://127.0.0.1:$PORT/health answers 200 within a few seconds. Its cascade.pending is the number of markdown changes not yet in the index. Before reading the index, poll it once a second until it reads 0 on two consecutive samples (docs/api.md, and wait_converged in tests/acceptance/memory_delete/observe.py): a single 0 can come between a markdown write and its projection being queued. A server that exits instead: the last lines of $ROOT.log (usually a missing key).

3. Drive it

  • HTTP: POST /api/v2/memory/add, /flush, /delete (user_id / agent_id / session_id), /delete_by_ids ({"memory_type": "episode", "memory_ids": ["<owner>_<entry_id>"]}), /memory/search, /memory/get. Run Reflection now with POST /api/v2/ome/trigger {"name": "reflect_episodes", "force": true}.
  • Claude Code, the way users do it: run everos-mcp against your port and start Claude Code with only that server, in a tmux socket of your own (tmux -L <name>), sending keys and reading the pane:

    {"mcpServers": {"everos": {"command": "uv",
      "args": ["run", "--no-project", "--with", "everos-mcp==0.1.1",
               "python", "-m", "everos_mcp.server"],
      "env": {"EVEROS_BASE_URL": "http://127.0.0.1:18611",
              "EVEROS_USER_ID": "me", "EVEROS_SESSION_ID": "walk-1"}}}}

    claude --mcp-config <that file> --strict-mcp-config. A turn is finished when the pane shows its completion line (... for Ns · done), not when some for Ns appears (the thinking line has one too).

  • Racing a background task: make acceptance (needs the two keys; the Milvus cases need docker) starts servers behind a local proxy that can hold one model call (tests/acceptance/memory_delete/proxy.py), so a deletion can land while an extraction or a Reflection merge is in flight. Check that the held call is still the only one of its kind when the deletion answers: a model call that times out retries past the hold.

4. Read the outcome where it lives

FactRead it from
A memory existsthe markdown: $ROOT/<app>/<project>/users/<id>/episodes/episode-<day>.md, .atomic_facts/, .foresights/, user.md; agents under agents/<id>/ (tests/acceptance/memory_delete/observe.py md_entries parses them)
Session, cluster, queue state$ROOT/.index/sqlite/system.db (memcell, cluster, cluster_member, memorize_inbox, ...); OME runs in ome.db beside it
Index rowsLanceDB under $ROOT/.index/lancedb/ (observe.py lance_ids); on Milvus read with consistency_level="Strong", or you may see rows from before a deletion
Lock waits and holdsGET /metrics: everos_lock_wait_seconds, everos_lock_hold_seconds (label kind: session, owner, partition:<strategy>); compare before/after deltas
What the server complained about$ROOT.log; it is coloured, so strip ANSI codes before grepping (perl -pe 's/\e\[[0-9;]*m//g'), or [error matches nothing

A search that finds nothing is not proof of a deletion: read the markdown and the index directly.

5. Tear down

Stop the pid you started, after checking it is yours, then wait for the port:

ps -o args= -p $(cat "$ROOT.pid")             # must show `everos server start`
kill $(cat "$ROOT.pid")
for i in $(seq 1 50); do lsof -nP -iTCP:$PORT -sTCP:LISTEN >/dev/null || break; sleep 0.2; done
tmux -L <name> kill-server                     # if you drove Claude Code

Never pkill by pattern: other sessions on the machine run their own servers.

Feature map

One row per feature a task has walked on a real server.

FeatureReach itDrive itEnd state that proves it works
Forget a conversation from Claude Codeeveros-mcp forget_session (Section 3)ask the model to remember a sentence (add_memory, wait true), then "forget this conversation"no entry with that session_id in the markdown, no .md file contains the sentence, search_memory finds nothing
Delete a session (session_id only)POST /api/v2/memory/delete {"session_id": ...}while its episode extraction is held at the proxy200; the session's memcell rows gone; no entry of the session appears in the markdown after the hold is released
Delete a whole user / agentPOST /api/v2/memory/delete {"user_id": ...}after seeding several kinds200 with count; only today's empty day files remain (they keep the id counters), user.md gone, the owner's cluster rows and index rows gone; .. and a/../b answer 422
Delete episodes by id with Reflection onPOST /api/v2/memory/delete_by_idswhile the Reflection merge call is heldno merged episode (parent_type: cluster) appears; the deleted source and its atomic facts are gone, the other source stays
Deletion latencytests/acceptance/memory_delete/test_t18_1_tb11_1_perf.py, alone on the machinea year of day files per usereach deletion <= 1 s; owner-lock holds of all session deletions p99 <= 20 ms, none over 100 ms

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.