Persistent context for AI coding assistants. Install it, run it, your agent remembers you.
Project description
Skopus
Persistent context for AI coding assistants. Install it, run it, your agent remembers you.
σκοπός (skopos) — Greek for watcher, purpose. A system that gives agents durable scope across sessions.
The problem
Every AI coding assistant forgets you at the end of every session. You teach it your preferences, it forgets. You correct it, it repeats the mistake next week.
The fix
pip install skopus # or: pipx install skopus
skopus init # answer 9 questions, everything set up
That's it. Next time you open your AI assistant, it already knows:
- How you work (your non-negotiables, communication style, anti-patterns to avoid)
- What you've corrected (mistakes it won't repeat)
- What you've decided (a knowledge base that grows over time)
- What your code looks like (automatic codebase map via graphify)
Works with Claude Code, Cursor, Codex, Aider, Gemini CLI, and Copilot CLI.
How it works
Skopus writes one file into your project (CLAUDE.md / AGENTS.md / .cursor/rules/) that teaches the AI assistant who you are. The assistant reads it automatically at session start. No re-teaching.
Everything lives in one directory: ~/.skopus/
~/.skopus/
├── charter/ Your rules, non-negotiables, working style
├── memory/ Corrections and wins that compound over time
└── vault/ Your knowledge base (decisions, learnings, sources)
Commands
Setup (run once):
skopus init # wizard + scaffold + wire current project
skopus link # wire a different project (if not done during init)
Daily use (inside your AI assistant):
| Command | What it does |
|---|---|
/charter-evolve |
End of session: captures corrections and wins automatically |
/compile |
Captures knowledge from the session into your vault |
/graphify . |
Builds a map of your codebase (first time only) |
/query <question> |
Asks your knowledge base a question |
/ingest <url> |
Saves an article/doc into your knowledge base |
Maintenance:
skopus update # upgrade + re-install everything
skopus doctor # health check
Benchmarks
Skopus ships with a benchmark suite that measures whether it actually works. The novel Correction-Persistence benchmark tests: does the agent apply yesterday's corrections to today's tasks?
skopus bench run cp --ablation # run across 5 lens configurations
skopus bench list # see all available benchmarks
Contributing
- New platform adapters: one Python file implementing a 5-method ABC. See
skopus/adapters/claude_code.py. - Benchmark scenarios: real corrections from real sessions. Run
/bench-contributeinside Claude Code to generate anonymized scenarios from your feedback. - Bug reports: github.com/cvalentinhorizontes/skopus/issues
License
MIT — see LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file skopus-0.3.0.tar.gz.
File metadata
- Download URL: skopus-0.3.0.tar.gz
- Upload date:
- Size: 73.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2840ec0d7579352ebaa9a0a6999c928c78287ff91e2f252f27951a910008cc95
|
|
| MD5 |
74b8a51417da4eeaaa19a4b3de27e144
|
|
| BLAKE2b-256 |
ec95ae1052dfc392dcd865a046b3eed072cea1344518605c6d68f2439948de03
|
File details
Details for the file skopus-0.3.0-py3-none-any.whl.
File metadata
- Download URL: skopus-0.3.0-py3-none-any.whl
- Upload date:
- Size: 76.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd0bb3a190dfb5bfcb963465094605c241b8c183175e3a7d2e95cab1f3e36a31
|
|
| MD5 |
a89bc365d10bf0e02aa70694a8637704
|
|
| BLAKE2b-256 |
321269329272ee665561b0a7e31e955c0f6087355a7835836ab447bb280b610f
|