Workspace context
The typed company profile and typed assets every AI action resolves against, and the purposes that require each section.
Workspace context is the typed half of the Knowledge Graph: a structured company profile plus typed assets. Assets and wiki pages are the same rows in the same store — oxygen context assets upsert and oxygen knowledge page upsert are two names for one write, and /context redirects to /knowledge.
Profile sections
Sections are merged independently, so an update touching only icp leaves the rest alone.
| Section | Fields |
|---|---|
company | name, domain, category, geography |
offering | products, value propositions, use cases |
icp | target accounts, personas, disqualifiers |
market | competitors, alternatives, segments |
gtm_stack | CRM, outbound tools, channels |
custom | tone, user preferences, constraints |
Asset types
Type defaults to other on create.
| Asset kind | Purpose |
|---|---|
playbook | Operational guides for a GTM motion |
strategy | High-level GTM approach |
campaign | Campaign brief, target segment, offers, and copy direction |
positioning | Messaging, differentiators, objections, and proof points |
brand | Brand guidelines; the canonical one is injected into AI copy generation |
voice | How you sound; the canonical one is injected into AI copy generation |
persona | Buyer or user profile |
competitor | Notes on a market rival |
message_playbook | Outreach message patterns; the canonical one backs live outreach |
research_note | Ad-hoc research output (e.g. from onboarding) |
other | Flexible supporting context |
--default (and oxygen context assets set-default) pins an asset as the canonical instance of its type, and canonical brand, voice, and positioning are injected into AI copy generation. Pinning or editing the canonical instance of voice, brand, positioning, playbook, or message_playbook does not save — it files an approval proposal and fails with knowledge_approval_required. See the approval gate. Unpinned drafts of those types edit freely.
Resolving
oxygen context resolve --purpose general --require-ready --jsonThe resolver returns a task-specific, revision-pinned bundle. Each purpose requires different sections, and --require-ready turns a gap into a conflict error instead of a partial bundle:
--purpose | Required sections |
|---|---|
general | company, offering, icp, market, gtm_stack |
lead_sourcing | company, offering, icp, market, gtm_stack |
workflow_design | company, offering, icp, gtm_stack |
outbound_copy | company, offering, icp |
qualification | offering, icp, market |
It also carries up to --max-assets assets (default 10, hard cap 50). If it returns context_missing or reports missing_required_context, fill the named sections before resuming the work that needed them.
Bootstrapping
Bootstrapping runs through your agent. Install the Oxygen skills once, then ask the agent to fill the workspace context — the oxygen-gtm skill carries the canonical context-bootstrap.md procedure (research the company, confirm findings with you, persist them section by section).
oxygen skills install --agents codex claude-code cursor --skill '*' --json
oxygen context resolve --purpose general --json # see which sections are still emptyReview the generated profile before using it for lead sourcing, scoring, or outbound copy.
Working with context
oxygen context profile get --json
oxygen context profile update \
--data-json '{"icp":{"segments":["B2B SaaS at $1M-$20M ARR"],"personas":["Founder","Revenue leader"]}}' \
--summary "Refine ICP" \
--json
oxygen context assets list --type playbook --json
oxygen context assets search --query "objection handling" --json
oxygen context assets upsert --type playbook --title "Outbound Q1" --body "..." --json
oxygen context assets archive <asset-id> --jsonNone of these spend credits or call a provider.
Related
- Knowledge Graph — the same store as wiki pages, with revisions, search, the link graph, and the proposal queue.
- Blueprints — a blueprint declares the context keys it expects (
required_context_keys), reported byblueprints preflight.