Stop re-explaining yourself: persistent project context
If you retype your stack, conventions, and preferences in every new chat, you are paying a tax. Save them once as a project context and Cognition auto-loads the right one by relevance, so the agent walks in already knowing how you work.
Every new chat with a fresh agent starts from zero. So you re-explain: this is the stack, here are the repo conventions, this is the output format I like, here is what the project is trying to do, here is the file you should always look at. Then the context window reshuffles, or you open a new session tomorrow, and you do it all again. That repetition is a tax, and project contexts are how you stop paying it.
What a project context actually is
A project context is a named, durable bundle of the things you would otherwise re-explain: preferences, goals, conventions, and one or two reference docs that should always be in scope. It persists across context reshuffles and brand-new chats, and it is scoped, so your "LinkedIn agent" context does not bleed into your "API refactor" context.
Crucially, you do not have to remember to attach it. cognition_assist auto-loads the best-matching context by relevance when you start work, so the agent shows up already oriented.
Create one in plain English
"remember my preferences for the LinkedIn agent project"
What is worth putting in, and what is not:
- Coding style and repo conventions you are tired of restating (naming, structure, the lint rules that matter).
- Output format and tone you prefer for this work (terse PRs, no emojis, commit message style).
- Project goals and hard constraints the agent should hold across sessions (the deadline, the thing you must not break, the platform you target).
- One or two reference docs to always include, the architecture note or the style guide, not your entire wiki.
A project context is a living README, not a junk drawer. The failure mode is dumping everything in "just in case," which buries the few things that matter under noise the agent has to wade through. A tight context the agent actually reads beats a sprawling one it skims.
How loading works
When you start a task, Cognition matches your intent and the files in play against your saved contexts and loads the most relevant one. You can hold several, one per project or workspace, and the right one comes up on its own. That relevance match is why naming and scoping the context well pays off: a clearly-scoped context matches cleanly, a catch-all context matches everything weakly.
The "why did my preferences reset?" question
This is the most common confusion, so it deserves a direct answer. If your preferences keep resetting after a context reshuffle or a new chat, it is almost always because they were never saved as a project context in the first place, they lived only in the conversation, which is ephemeral by design. Save them once with cognition_project and the reset stops, because the context is now durable storage the agent reloads, not chat history it forgets.
Saved contexts survive reshuffles precisely because they are not part of the conversation. That separation is the feature: the conversation can be summarized or rotated freely without losing how you work.
Keeping it sharp over time
Revisit the context when the project changes shape, not on a schedule. When you switch frameworks, change a convention, or hit a new hard constraint, update the context in the same breath. And prune: the doc you attached three months ago that nobody references anymore is now just tokens. Treat staleness here the way you would in code.
next steps
