# Context Templates

**Context Protocol Semantic Templates**

Templates are a fundamental part of the Context Protocol. They provide a structured framework for organizing and interpreting data stored in Context Documents.

**Functionality**

Templates serve as a framework to coordinate the structure of data within the Context Protocol. They define the structure and type of data that can be stored in a Context Document, providing a standardized way to organize and interpret data. These templates follow the JSON Schema spec.

**Public Goods**

Templates are considered public goods within the Context Protocol. This means they are freely available for anyone to use. They are not owned or controlled by any single entity, but rather, they are maintained by the community of users within the Context Protocol.

**Creation**

One of the key features of Templates in the Context Protocol is that anyone can create them. This allows for a diverse range of Templates to be created, catering to a wide variety of data types and structures. This feature promotes innovation and flexibility within the protocol.

**Bottom-Up Approach**

Templates are built using a bottom-up approach. This means they are created and defined by the users of the Context Protocol, rather than being imposed from the top down. This approach allows for a more organic and user-centric development of Templates, ensuring they meet the needs of the community.

**Context Documents**

Templates themselves are Context Documents. This means they have versioning and the same ownership principles as other Documents in the Context Protocol. Each time a Template is updated, a new version is created and stored. This allows users to track the evolution of a Template over time, enhancing traceability.

**Conclusion**

In summary, Templates in the Context Protocol are a structured framework for organizing and interpreting data. They are public goods that anyone can create, built using a bottom-up approach, and are themselves Context Documents with versioning and ownership principles. They are a key component of the Context Protocol, enabling users to effectively structure and interpret their data.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ctx.xyz/protocol-overview/what-is-context/context-templates.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
