> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cognite.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Documentation ownership

> How Cognite distributes documentation ownership across the organization while keeping quality consistent and serving both humans and AI.

Documentation at Cognite is a shared responsibility: different teams own different product areas, but all content needs to meet the same quality bar and serve the same consumers — human readers on the website and AI systems via skills, MCP, and llms.txt. We use [data mesh principles](https://en.wikipedia.org/wiki/Data_mesh) as a conceptual frame for how we structure that ownership:

* A shared **content standard** (CogDocs), owned by the ContentOps team, defines how we structure and classify content.
* **Domain owners** (teams and technical writers working in the content repository) own the actual content, organized by product area and metadata.
* **Published artifacts** (the website and AI-facing content) serve humans and agents, and are owned by the ContentOps team.
* **Usage signals** (traffic, search, and MCP analytics) close the feedback loop from consumers back to the ContentOps team and the domain owners.

This approach lets us scale ownership across the organization, maintain a single content standard, serve both human readers and AI, and use consumption signals to continuously improve content.

```mermaid actions={false} theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#E4E6E8","primaryTextColor":"#191B1D","primaryBorderColor":"#5E666D","lineColor":"#5E666D","secondaryColor":"#DFE5FC","tertiaryColor":"#FFFFFF"}}}%%
flowchart LR
  subgraph model [Content standards]
    CogDocs[CogDocs]
  end
  subgraph domains [Content repository]
    Repo[Domain content]
  end
  subgraph products [Published content]
    Web[Website - HTML]
    AI[Skills, MCP, LLMs.txt]
  end
  subgraph observability [Usage signals]
    Signals[Traffic, search & MCP analytics]
  end
  CogDocs --> Repo
  Repo --> Web
  Repo --> AI
  Web --> Signals
  AI --> Signals
  Signals -.->|feedback| Repo
  Signals -.->|evolve| CogDocs
  style CogDocs fill:#2F55EA,stroke:#2F55EA,color:#fff
  style Repo fill:#14735E,stroke:#14735E,color:#fff
  style Web fill:#9940A6,stroke:#9940A6,color:#fff
  style AI fill:#9940A6,stroke:#9940A6,color:#fff
  style Signals fill:#5E666D,stroke:#5E666D,color:#fff
```

The **ContentOps team** governs the content standard and gatekeeps the **information architecture** and the **quality** of published artifacts. The team also manages a set of **[skills](https://agentskills.io/home)** to help domain owners create quality-compliant content.

## Content standards

CogDocs is our shared **content standard**. It defines content types, metadata, information architecture, style, and terminology — the single source of truth for *how* we structure and classify content. Domain owners and the publishing pipeline both follow this standard so that all content conforms to the same rules before it's published.

Without a shared standard, each team would develop its own structure, and consistency would break down at scale. CogDocs plays the same role here as a shared data model does in a data mesh: a common contract that all producers conform to, regardless of which domain they own.

For the full picture of hierarchy and content types, see [Understanding the information architecture](/cogdocs/concepts/cogdocs-information-architecture). For required and allowed metadata, see the [metadata reference](/cogdocs/reference/cogdocs-metadata).

## Content repository

The content repository is where content lives, organized by **product** or **area** (for example, CDF, Deployment, Industrial tools) and classified by **metadata** (such as audience, content type, and experience level). Metadata enables filtering, discovery, and consistent classification across areas. The ContentOps team owns the actual repository and is responsible for maintaining the content standard and the information architecture.

### Domain ownership

Different teams in the Product organization typically own the content for their **domain**, but ownership can extend beyond Product — for example, Value Delivery might own the **Deployment** area. Each team is responsible for keeping its content accurate, up to date, and compliant with the CogDocs standard. Technical writers embedded in the domain teams help write and maintain the content for their domain.

Distributed ownership is the core of the data mesh analogy: rather than routing all writing through a central team, we scale by giving each team the tools and standards they need to produce quality content independently. The ContentOps team provides the standard and the tooling; domain owners provide the knowledge and the writing.

## Published content

Content from the repository is published in two directions simultaneously.

For **human** readers, the website at **[docs.cognite.com](https://docs.cognite.com)** is the primary output: **HTML pages** accessible via **navigation**, an **AI assistant**, and **search**.

For **AI and agents**, we publish:

* **SKILL.md:** A skill that references our docs and guides AI behavior. Documentation is an input to agent capabilities.
* **MCP (Model Context Protocol):** Our MCP server is generated from the documentation and makes it consumable by other AI systems.
* **llms.txt**: Exposes our documentation to LLMs in JSON format in a structured way.

<Note>
  **Markdown vs HTML**: Both come from the same source. **Markdown** is the machine-friendly, agent-consumable form; **HTML** is the human-facing site.
</Note>

The data mesh parallel: one dataset, served through multiple interfaces for different consumers. Our content is the same — one source shaped into HTML, Markdown, and MCP endpoints depending on who is consuming it.

## Usage signals and feedback

Ownership without feedback is incomplete. We monitor how content is discovered, consumed, and where it falls short — and route that feedback to the responsible domain owners so they can act on it.

### Metrics: quantitative health

| Signal         | Human channel                       | AI channel                                                   |
| -------------- | ----------------------------------- | ------------------------------------------------------------ |
| **Volume**     | Page views, unique visitors         | MCP request volumes, llms.txt fetches                        |
| **Engagement** | Time on page, scroll depth          | AI assistant interaction rates, follow-up question frequency |
| **Discovery**  | Search queries, click-through rates | MCP endpoint hit distribution                                |
| **Drop-off**   | Bounce rates, exit pages            | Failed or low-confidence AI answers                          |

### Logs: specific failures

* **Search misses** — Queries that return no results or poor results reveal missing or poorly structured content.
* **MCP errors** — Failed lookups and error rates point to content the AI channel cannot serve.
* **Broken links and 404s** — Dead references in any channel signal stale content.
* **Navigation dead-ends** — Pages where users consistently leave the site indicate missing next steps or unclear paths.

### User journeys

* **Cross-area navigation** — How users move between product areas reveals implicit relationships between domains.
* **Drop-off patterns** — Where users abandon a procedure or tutorial indicates friction points.
* **Human-to-AI handoff** — When users switch from reading docs to asking the AI assistant, the handoff point highlights content that is hard to navigate or incomplete.

### The feedback loop

```mermaid actions={false} theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#E4E6E8","primaryTextColor":"#191B1D","primaryBorderColor":"#5E666D","lineColor":"#5E666D","secondaryColor":"#DFE5FC","tertiaryColor":"#FFFFFF"}}}%%
flowchart LR
  Observe["*Observe*<br/>Collect signals across channels"]
  Diagnose["*Diagnose*<br/>Identify gaps or structural issues"]
  Improve["*Improve*<br/>Domain owner updates content"]
  Validate["*Validate*<br/>Monitor if signals improve"]
  Observe --> Diagnose --> Improve --> Validate --> Observe
  style Observe fill:#5E666D,stroke:#5E666D,color:#fff
  style Diagnose fill:#2F55EA,stroke:#2F55EA,color:#fff
  style Improve fill:#14735E,stroke:#14735E,color:#fff
  style Validate fill:#9940A6,stroke:#9940A6,color:#fff
```

**Example:** The MCP server repeatedly fails on a topic. Diagnosis reveals the content exists but uses inconsistent terminology so the AI cannot match queries to answers. The domain owner updates the article. MCP success rates for that topic improve in the following week.

The **content team** monitors signals **across all domains** and routes feedback to the responsible domain owners. Persistent patterns — such as search misses spanning multiple areas — inform updates to the content standard itself.

## Further reading

* [Documentation platform overview](/cogdocs/concepts/platform-overview) - How Mintlify, CogDocs, and AI assistants work together.
* [Understanding the information architecture](/cogdocs/concepts/cogdocs-information-architecture) - Content model, hierarchy, and content types.
