Using Promptless to write the Helm docs


Promptless is an AI agent that monitors your code base (plus other sources) and automatically drafts documentation updates.

For the Helm docs, we use a version of Promptless designed for non-commercial open source projects that opens PRs in the helm-www repo from a fork. The team at Promptless graciously built this open source version of their agent to accommodate our requirement for only installing read-only apps in the repo.

How Helm uses Promptless today

So far, we’ve primarily used Promptless to keep up with docs updates for new features and improvements in the Helm 4 documentation, and to fill gaps in the translated documentation for a variety of locales. We also have a lengthy backlog of docs PRs from Promptless triggered by PRs opened in the core Helm repo. These are mostly on hold until those PRs are eventually approved and merged. (More work to be done to implement processes for working through this backlog).

In this way, we’ve mainly been using Promptless to keep our heads above water, making sure docs aren’t forgotten as the core Helm team merges and releases new features, improvements, and bug fixes.

However, Promptless also has a lot of value for improving existing documentation. You can request more strategic improvements that are not necessarily tied to an automated trigger (like improvements to conceptual info or how-to guides) by manually opening a new “task” from the dashboard.

CNCF Helm documentation analysis results + Promptless

To get the most out of both of these use cases, I’m kicking off a larger effort to use Promptless to help implement some more in-depth strategy and structure improvements to the Helm docs.

These improvements come from an analysis that I did of Helm docs late last year, using a template designed by the CNCF tech docs team.

As part of the analysis, you review and score the docs against a rubric covering these categories:

  • Information architecture
  • New user content
  • Content maintainability
  • Content creation processes
  • Inclusive language

The goal is to then define a list of improvements and an implementation plan to make sure the docs meet expectations across all these categories.

These are the main tasks that came out of the analysis for the Helm docs:

  • Reorganize the main docs sidebar (inconsistencies in how content is organized, plus some unintentional “catch-all” buckets make it hard to find the info you’re looking for)
  • Prune out-of-date content (lots of stale and otherwise inaccurate info)
  • Finish the Helm v4 docs (not all new Helm 4 features are documented yet since its initial release in November 2025)
  • Add a technical/conceptual overview of Helm (the docs lack a single, cohesive overview where users can understand key details about the project, its use cases, and the primary user profiles)
  • Rewrite tasks as step-by-step procedures (the Helm docs have lots of tutorials or guides formatted as prose; clear step-by-step procedures would make the content easier to follow)
  • Improve docs contribution processes (in need of better process for maintaining localized docs and reviewing PRs/issues)

A member of the Helm community opened a PR to add a process for tracking drift in localized documentation, but everything else is still a to-do.

Enter: Promptless.

Adding an “Introduction to Helm” with Promptless

I decided to start addressing these issues by first adding a new introduction to Helm page: it’s more or less self-contained, addresses a meaningful gap, and requires minimal shuffling or redirecting. It also seemed like a good test for Promptless since it’s challenging enough where it would be helpful to have Promptless create the first draft, but not so large where the task request would have to become overly bloated with context.

Task definition

Here’s the task I added in the Promptless dashboard:

Add an introduction to Helm. This is a conceptual overview with the goal of covering both the what and the why of Helm. In addition to the usual requirements for docs patches (like following the style guide), these are the requirements for this new Helm overview:

  • Needs to be a new page in the Introduction section of the sidebar (/intro directory)
  • Name it “Introduction to Helm”
  • Use the existing content from “User Profiles” (https://helm.sh/community/user-profiles/), “Helm Architecture” (https://helm.sh/docs/topics/architecture), and “Three Big Concepts” (https://helm.sh/docs/intro/using_helm#three-big-concepts). Note that this content still needs to be reviewed for clarity, completeness, and style before being incorporated into the new Introduction to Helm, but it’s a good reference/starting place
  • Include sections about common use cases for Helm, who Helm is for (from https://helm.sh/community/user-profiles/ but don’t include the Helm developer profile), an overview of Helm’s architecture (from https://helm.sh/docs/topics/architecture), and the key components (Chart, Repository, Release)
  • Include relevant internal cross-references and links to third party docs (like the Kubernetes docs) as needed. No need to overdo it, but users should understand where they can go for more info about the concepts they learn about in this intro page
  • After writing the new overview, remove any redundant information that you pulled from the “Helm Architecture” or “Using Helm”. Note that the Helm Architecture page will probably need to be deleted and a redirect added for it
  • Make all these updates for both the Helm v3 and Helm v4 docs
  • Don’t update other locales as part of this patch

Your PR will close https://github.com/helm/helm-www/issues/1863

Most of these requirements were already identified as part of the documentation analysis. For example, I already knew where the page should go, and I knew what existing content I wanted to be condensed into this new introduction.

I also added explicit items for:

  • Adding relevant cross-references
  • Removing the redundant info from other existing pages
  • Deleting the Architecture page since all it’s content is moved to the new intro
  • Backporting the changes to v3

In the case of cross-references, I noticed that the existing content I asked Promptless to pull from lacked good internal cross-references, so it seemed worth asking explicitly for those to be added.

I included the other items because they were not strictly related to added a new intro page. They’re all follow-up items that require some level of judgement. For example, it’s possible that I wouldn’t have wanted to delete the Architecture page or backport to v3, at least as part of this PR.

Notably, there are almost no items in the task that tell Promptless what not to do. I didn’t need to tell Promptless not to add some arbitrary “best practices” section or a table comparing the different version of Helm. This is a relief for anyone that’s used to wearing out their Delete key when reviewing docs written with generative AI.

The only “don’t” I added was translating the changes across all locales, which is something that I prefer to do a separate follow-up PRs. To be fair, I suspect Promptless would have only updated the primary English locale anyway, so I likely could have left that out as well.

PR review

Promptless generated the PR after several minutes: https://github.com/helm/helm-www/pull/2171.

files changed View a larger version of this image

Overall, the first pass was great. It included the content I requested without adding fluff, cross-references were mostly relevant, and the structure (page title, position, front matter) was accurate.

First round of edits

With Promptless, we use @promptless-for-oss directly in comments on the PR to have Promptless address the feedback.

My first round of edits included:

  • Refactoring and condensing some redundant information comment about redundant info View a larger version of this image

  • Addressing contradictory information that was introduced as a result of bringing existing content together from disparate sources comment about contradictory info View a larger version of this image

  • Minor changes to headings on the page like shuffling their order and changing section names

  • Deleting an unhelpful cross-reference

Second round of edits

For the second round of edits, I used the suggested changes feature in GtiHub because there were a few more specific items that I wanted to reword for clarity, and it was easier to just type them out exactly:

suggested changes View a larger version of this image

There was also one sentence that, while not technically inaccurate, was misleading (you’d need to specify a different release name as well): Supplying different values to the same chart produces different releases. Since it was a little too in-the-weeds anyway for a conceptual overview, it was best to just delete it.

suggested change View a larger version of this image

Good things Promptless did that I didn’t ask for

Promptless also made a few choices that I didn’t explicitly request in the task definition, but agreed with.

First, it added this cross-reference back to the introduction from the Using Helm page:

This guide assumes you are familiar with charts, repositories, and releases.
For an introduction to these components, see
[Introduction to Helm](/intro/introduction.md).

I’d requested that it delete the redundant info from Using Helm after relocated it to the new intro topic, but the cross-reference was helpful for sending users to the intro for conceptual info about the project.

Also, it added in some external links to third-party docs for related technologies like Kubernetes, Go, and YAML that were missing previously. Adding external links is a judgemental call, as in some cases, a technology or concept is ubiquitous enough that linking to external docs is unnecessary. In this case, since this page was intended to be a first introduction to Helm, I liked the external links.

Next steps

Next, I’ll continue to work my way through the remaining items from the Helm docs analysis with Promptless.

This will run the gamut from sweeping information architecture changes, to filling gaps in the Helm 4 feature documentation, to reformatting existing prose into numbered procedures. Stay tuned!