Practical Steps for Vibe Authoring with AI Positron
We initially started work on the AI Positron add-on for Oxygen XML Editor more than 2 years ago by creating useful AI actions to improve readability of content, correct grammar, translate, proofread, and so on. Gradually, we realized that even when invoking our carefully made prompts wrapped as such AI actions, you need flexibility to discuss with the AI further about results. So we added support to create custom AI actions specific to your needs. Such AI actions, based on prompts tuned by our or your experts, continue to be useful for precise use cases and for people who are just starting to use AI tools.
In time, we also started to explore and expand the capabilities of using chat to converse with the AI, attach all sorts of file types (PDF, Word, Markdown, images) to create documentation drafts, explore, and make changes in the current project.
The chat view in any AI Assistant application like AI Positron is the new console; you use it to direct the AI, affect changes, preview them, and refine until you have a working draft. You remain in control of a powerful and imperfect tool. As before, in the past, computers have moved writing and coding to a higher level of abstraction.
Vibe Authoring
- Define a project context prompt which gives the AI models general information about your project, important style guide, terminology, and structure rules.
- Chat with the AI to explore the current project's contents or to affect changes in the project. All changes made by the AI can be viewed and reverted if necessary.
- Connect Model Context Protocol servers to provide tools that integrate AI Positron with other data sources in your company (for example, ticketing system, issues list, etc.).
Novice to Expert
If one were to attempt to divide people into novices and experts, they would soon figure out that each of us is a novice in certain fields and an expert in others.
As novices, we use out-of-the-box tools and frameworks with a minimum of customization to obtain poor results. We cannot explain either when the tool does not work or when it does. When we do not obtain quality content as novices, we blame the tools.
In time, by reading, writing, and making mistakes, we evolve to understand the tools and frameworks we use. Taking some time to understand these tools and to customize them gives us better and more consistent results.
This article is an attempt to give you a better understanding of how the Oxygen XML Editor AI Positron add-on works and how it can be customized to maximize the quality of your vibe authoring interactions.
I am not of the opinion that we must consider using AI tools for all our daily work; our brains need the effort and work we put into writing in order to better understand the task at hand. There are still many activities that can be accomplished more quickly and with sufficient quality (generating drafts, improving content quality) by using AI tools in a controlled manner.
Use a Version Control System
You need to view and revert changes made by the AI, to keep a history of past changes in your project. You also need to collaboratively work with other people or with AI agents, create separate branches for working on features, keep your content secure, and eventually publish it.
So a version control system for your project, like Git or a commercial CCMS, is a must.
Oxygen XML Editor's free Git client add-on is a great tool which gives technical documentation writers just about every feature needed to work with Git projects: support to pull, make changes, preview them, push, a useful History side view, switch branches, and stash changes.

Set up Your Project Context Prompt
LLM Models have a limited context window and start out not knowing anything about the intricacies of your current documentation project. They can use tools to explore your project's structure, but it's more efficient to create a project context prompt which becomes part of each invoked AI action and chat conversation.
Customizing AI Positron for Your DITA XML Project.
The project context prompt contains an overview of your project's intention, structure, rules, and style guide. It must be kept as short and informative as possible. In the AI Positron Preferences page, one can specify the entire project context prompt either directly or referenced as a separate file which may reside in your project.

The most recent AI Positron release added a new AI action named Generate agent instructions which can help you create the initial project context prompt content.
Choose your LLM Model
You need a quality LLM model to make quality changes. An LLM model which is both efficient, cost-effective, and has a high context window. From our extensive testing and experience, we generally recommend OpenAI GPT 4.1, Claude Sonet 4, Haiku 4.5, or Gemini 2.5 Flash.
Context is the key here. The LLM receives a project context prompt, but it also needs to explore the project, read content, and make changes. So your LLM implementation and the platform through which you access it also need to allow tool calling. Most quality LLM models like the ones above also have vision support to read images and create, for example, documentation drafts based on screenshots or to generate alternate text for screenshots in the user's guide.
Choose the Chat Mode
- DITA Agent - Agentic mode which makes changes in a
DITA XML project, comes with a predefined system prompt which instructs the
LLM about the base requirements of working in a DITA XML project and a
minimal style guide of rules. It has access to general tools to explore the
project and make changes, but also to DITA XML specific tools to obtain the
structure of the DITA Map opened in the DITA Maps Manager view,
resolve a content reference to the referenced content, or to find key
definitions which match a specific product name. For example, you can run
prompts like this in the chat view:
or:Replace in the current file all product names with defined key referencesUse the attached documents to create a DITA XML topic, add related links in the topic to similar ones, find a good place and insert it in the DITA Mapor:Figure 1. Example: Create a new DITA XML topic from a PDF document
Add related links in the current topic to similar topics from the projectFigure 2. Example: Add related links to topic
- Agent - Generic agent useful for exploring and making changes to a variety of projects.
- Ask - Read-only agent useful to explore and make plans without making actual changes until you switch to one of the other agents.
Each defined agent has a system prompt and references a set of tools which can be used by the LLM. You can define your own agents and have them appear in the Chat view. A general overview of the tools available to these agentic chat modes is available below.
General Overview of Available Tools
- Tools to explore the overall project. The chat modes have access to:
- Tool which can perform keyword search in the project. For example,
you can ask
it:
Find topics about Git Push in the project and give me an overview of the most suitable ones.Note:This tool relies on the indexing capabilities of Oxygen XML Editor. If you are working with DITA Maps opened from remote storage systems like CMSs, in the Preferences->Open/Find Resource page you should check the Enable indexing for remote resources checkbox. - Grep and perform exact string matches in the project, even by
matching inside specific XML elements. For
example:
Find places where the Save action is mentioned in DITA <uicontrol> elements.Note:This tool is available only when working with local disk resources. In such a case, you should create a project in the Oxygen XML Editor Project view for your specific project folders. - Explore the project folder structure. For
example:
Where should I save DITA maps in this project?Note:This tool is available only when working with local disk resources.
- Tool which can perform keyword search in the project. For example,
you can ask
it:
- Tools to read content from the current or a different file.
Example:
Give me suggestions about how to shorten the current document contents. - Tools to make large or small changes to the current or to other documents.
Examples:
or:Shorten the title of the current documentFind and fix logical inconsistencies in the current document - Tools to provide validation and terminology problems reported for certain
documents. If you have many style guide rules, it is advisable to implement
them as Schematron rules or rules for
the Oxygen XML Editor
Terminology Checker add-on. Once
you implement the checks, you can simply ask the
AI:
Fix validation and terminology problems in the generated content before saving it to disk. - Tools to make XML-aware changes in documents:
- Apply existing XML refactoring operations on documents.
Example:
Invoke XML refactor operation to add unique IDs on all pargraphs - Apply XML refactoring using XSLT scripts created by the AI. Example:
Invoke XML refactor with custom XSLT to replace all <b> elements with <uicontrol>Figure 3. Example: Use Custom XSLT to Refactor
- Apply existing XML refactoring operations on documents.
Example:
- Tools to call existing AI actions on documents.
Example:
or:Invoke the Proofread AI action on the current document content, then save the proposed changes to the documentInvoke the improve readability AI action on the current document content, then save the proposed changes to the document
Add Extra Tools with Model Context Protocol
The Model Context Protocol Preferences page in AI Positron allows you to connect to various MCP servers and allow the LLM to call tools implemented on remote or local servers.
Sample configurations can be found in the Oxygen XML Editor user's manual.
Obtain description and comments from the DITA OT GitHub issue number 2021 and create a draft documentation
topic using them
Conclusion
Obtaining quality output and advice from the LLM, making accurate changes using it, is all about the application giving the LLM enough context and allowing it to find extra context if the need arises.
Starting with the use of quality LLMs, combined with a well-created and distilled project context prompt, then continuing with tools that give the LLM access to explore the project and make consistent changes, your short prompts and commands end up being properly interpreted and acted upon.
