Individual AI chat sessions use individualized context, which diverges and differs across team members. A marketing context system unlocks real agentic workflows and allows individual team members to use the same context in chat sessions.
I usually build a marketing context system that consists of three things:
- A nested set of Slack Canvases containing different types of context.
- A Claude skill that team members can use to access the context system.
- Claude Code Routines that suggest updates to Slack Canvases for human approval.
What a marketing context system is
A marketing context system is a single, structured source of everything a company's marketing agents need to know, kept current automatically.
It’s not a prompt library or a skill.
It's an indexed set of context that every chat session and every agent reads from, so the whole team grounds in the same facts.
Two things fall out of that:
- Chat sessions stop diverging. Everyone works from the same context, so the output is consistent.
- Real agentic workflows become possible, because an agent can pull the exact context its task needs and nothing it doesn't.
Writing the context once is the easy part. Keeping it current is the hard part, and it's where most of the work goes. I'll get to that.
The three artifacts I build
The job to be done is creating structured markdown that explains everything about a company its marketing agents need to know.
In a way production agents and individual AI chat sessions can use.
In a way that stays updated as the company and its industry evolve.
I accomplish this for clients by shipping three things.
A nested set of Slack Canvases
A team’s current set of tools dictates the surface where context files are published.
I’ve found myself defaulting to Slack Canvases because:
- Slack is usually the central hub of operations and connected to everything.
- Slack Canvas is markdown native.
- Reading, writing, and editing Canvas objects from Claude-harnessed agents works well.
Different marketing agents need different context. Having an agent performing one task read one huge Canvas containing everything needed by all agents is expensive and results in context rot.
The simple solution is to have one ‘index’ Canvas file that contains:
- Core information about the company, its products, and ICP.
- Links to other Slack Canvases with task-specific context like competitive landscapes, event calendars, how-to guides for puling data, and links to core internal docs.
All agents ground themselves uniformly with 1.
Agents pull the information relevant for their task using 2.
A Claude skill to access the context
Most teams I work with use Claude as their default AI chat surface.
An important step is getting the context system into the chat sessions individual team members use.
This makes the team produce consistent outputs more efficiently.
It helps the team transition to an ‘agentic way of working’.
The simple solution is often a Claude Skill I create that reads the indexed Slack Canvas at the start of every chat with instructions to pull in the context it thinks it needs for its task.
This same skill file could be used in other AI tools (ChatGPT, Notion etc). The default is usually Claude.
Routines that keep the context current
This is the important step most teams skip.
This is where I end up investing most of my time when building this system with clients.
Context for marketing agents needs to current or its not useful.
Partnerships, events, sales pipeline updates, site traffic trends all become stale fast.
I map each Slack Canvas to:
- Internal documents that should be read routinely to inform updates (like a team meeting doc)
- Internal datasources that should be analyzed regularly (like search traffic)
- External websearch tasks that should be done routinely to inform updates (like competitor press releases)
I create Claude Code Routines that execute 1, 2, and 3 every day or week depending on the context type.
These routines propose updates to Slack Canvases based on recent activity.
Approved updates get written to the appropriate Slack Canvas, which is then propagated through to the team and its agents using the Claude skill I already created. The Claude Skill itself does not need to be updated.
The next evolution would be a Slack Agent that escalates specific proposed context system updates to specific team members based on their roles. For example, an update about the competitive landscape for a specific product would go to that product’s PMM.
How to start
Work through these questions and then start building:
- Audit the team’s current use of tools - where does it make sense to publish the context and skill files?
- Audit the team’s GTM motions and current use of AI for marketing - what types of context are needed?
- Audit the team’s operating spine of documentation - what are the core docs that should be reviewed to update the system?