Skip to main content

Autonomous API Documentation Pipeline — Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.
Goal: Make the Rhombus API docs fully autonomous — Mintlify auto-generates all API endpoint pages from the OpenAPI spec, the nightly sync enriches and publishes new endpoints with zero manual intervention. Architecture: Replace 800+ manual endpoint entries in docs.json with Mintlify’s native openapi auto-generation on the API Reference tab. Simplify the GitHub Action pipeline to: fetch → detect changes → enrich spec → changelog → PR. Remove retired scripts and local AI files that Mintlify now auto-serves. Tech Stack: Mintlify, OpenAPI 3.0, GitHub Actions, Python 3.11+ Spec: docs/superpowers/specs/2026-04-09-autonomous-api-docs-design.md

Task 1: Simplify the API Reference tab in docs.json

Files:
  • Modify: docs.json (lines 169-1472 — the entire API Reference tab)
This is the core change. Replace 1300+ lines of manually listed endpoints with Mintlify’s auto-generation.
  • Step 1: Back up the current docs.json
  • Step 2: Replace the API Reference tab
In docs.json, find the API Reference tab starting at line 169:
Replace the entire API Reference tab object with:
The key change: "openapi": "api-reference/openapi.json" is now a top-level property on the tab (not nested inside groups). This tells Mintlify to auto-generate all endpoint pages and navigation from the spec. The Overview group with the hand-written api-reference/overview.mdx page is preserved.
  • Step 3: Validate the JSON is well-formed
Expected: Valid JSON
  • Step 4: Validate with Mintlify CLI
Expected: No errors. Warnings about unused pages are acceptable.
  • Step 5: Start dev server and verify
Open http://localhost:3000 in a browser. Verify:
  1. The API Reference tab loads
  2. Endpoint pages are auto-generated (click any endpoint)
  3. The Overview page still shows at the top
  4. Endpoints are grouped by OpenAPI tags in the sidebar
  5. The Guides and Integrations tabs are unchanged
  • Step 6: Remove the backup file
  • Step 7: Commit

Task 2: Update SEO configuration in docs.json

Files:
  • Modify: docs.json (the seo and metadata blocks near the end of the file)
The file already has "seo": { "indexing": "all" } (line 1487) and a metadata block (line 1490). We need to merge the SEO keywords into the seo block using the modern Mintlify seo.metatags format, and keep the existing metadata block since it may still be in use.
  • Step 1: Update the seo block
Find the current seo block at the end of docs.json:
Replace with:
Note: The existing metadata block (with og:site_name, og:type, og:image, twitter:card, twitter:site) is kept as-is — it already covers the social sharing tags.
  • Step 2: Validate JSON
Expected: Valid JSON
  • Step 3: Commit

Task 3: Update the GitHub Action pipeline

Files:
  • Modify: .github/workflows/sync-openapi.yml
Remove the build-api-navigation.py step (no longer needed) and add the enrichment steps.
  • Step 1: Replace the workflow file content
Replace the full contents of .github/workflows/sync-openapi.yml with:
Key changes from the original:
  • Removed the “Rebuild API navigation” step (build-api-navigation.py)
  • Added “Enrich OpenAPI spec” step running the 3 enrichment scripts in order
  • Updated PR body to reflect the new pipeline (no longer mentions docs.json nav rebuild)
  • Step 2: Commit

Task 4: Delete retired scripts

Files:
  • Delete: scripts/build-api-navigation.py
  • Delete: scripts/generate-endpoint-docs.py
  • Delete: scripts/update-docs-navigation.py
  • Delete: scripts/add-service-level-navigation.py
  • Delete: scripts/improve-endpoint-navigation.py
  • Delete: scripts/update-llms-files.py
  • Step 1: Verify each script is no longer referenced
Expected: No matches (or only matches in files we’re about to update like CLAUDE.md). If the GitHub Action still references build-api-navigation.py, Task 3 must be completed first.
  • Step 2: Delete the scripts
  • Step 3: Commit

Task 5: Remove local AI context files

Files:
  • Delete: llms.txt
  • Delete: llms-full.txt
Mintlify auto-serves these at https://api-docs.rhombus.community/llms.txt and /llms-full.txt. The local files override the auto-generated versions, which means they go stale. Removing them lets Mintlify keep them up to date automatically.
  • Step 1: Delete the files
  • Step 2: Commit

Task 6: Update CLAUDE.md

Files:
  • Modify: CLAUDE.md
Update to reflect the new architecture — simplified pipeline, retired scripts, Mintlify auto-generation.
  • Step 1: Update the Maintenance Scripts section
Find the current “Maintenance Scripts” section in CLAUDE.md and replace it with:
Content quality:
  • Step 3: Update the Architecture section
Find ### docs.json Structure and replace with:
Update ### Content Types to:
  • Step 4: Update the Key Files section
Replace the Key Files list with:
  • Step 5: Update the Critical Don’ts section
Replace with:
  • Step 6: Commit

Task 7: Update the openapi-sync skill

Files:
  • Modify: .claude/skills/openapi-sync/SKILL.md
  • Step 1: Replace the skill content
Replace the full contents of .claude/skills/openapi-sync/SKILL.md with:

2. Fetch the latest OpenAPI spec

Downloads from https://api2.rhombussystems.com/api/openapi/public.json, validates JSON, writes to api-reference/openapi.json.

3. Detect changes

4. Enrich the spec

5. Generate and insert changelog entry

6. Verify

Check that new endpoints appear in the API Reference tab sidebar, grouped by their OpenAPI tags. No manual docs.json edits needed — Mintlify auto-generates navigation.

Task 8: Update the PreToolUse hook

Files:
  • Modify: .claude/settings.json
The current hook blocks edits to docs.json that contain api-reference/openapi.json. This was designed to prevent manual editing of the API Reference navigation. Now that the navigation is a single openapi field, the hook should block any attempt to add manual endpoint entries (METHOD /api/) to docs.json.
  • Step 1: Update the PreToolUse hook
In .claude/settings.json, find the PreToolUse hook command and replace it with:
  • Step 2: Commit

Task 9: Smoke test the full setup

This is a manual verification task — no code changes.
  • Step 1: Start the dev server
  • Step 2: Verify API Reference tab
Open http://localhost:3000 and check:
  1. API Reference tab loads with auto-generated endpoint sidebar
  2. Click several endpoints — pages render with parameters, responses, and playground
  3. Overview page (api-reference/overview) is accessible
  4. Endpoints are grouped by OpenAPI tags
  • Step 3: Verify Guides tab is unchanged
Check that all pages under Guides still work:
  • Getting Started (index, resources, rate-limits, changelog)
  • Implementation Guides (streaming-video, video-player, etc.)
  • Real-time Events (webhooks, websocket pages)
  • Step 4: Verify Integrations tab is unchanged
Check Low Code / No Code and AI & LLMs pages still work.
  • Step 5: Validate links
Expected: No broken links (some warnings may be acceptable for external URLs).
  • Step 6: Verify docs.json size
Expected: ~200 lines or fewer (down from 1512).
  • Step 7: Verify retired scripts are gone
Expected: All No such file or directory.
  • Step 8: Verify llms files are gone
Expected: No such file or directory for both.
Last modified on April 9, 2026