# AI use cases for Oxynote (oxynote/oxynote)

Repo: [oxynote/oxynote](https://github.com/oxynote/oxynote) | Use cases: 4 | Page: https://dedupedai.com/use-cases/oxynote-oxynote/

Oxynote is a self-hosted open-source technical wiki that puts live metric charts, Stripe-style API docs and reviewable drafts next to the explanations for the systems they describe.

This file holds every use case of this repo. Each one starts with a "## " heading and ends with its URL.

- Put a live metric chart beside its explanation: https://dedupedai.com/use-cases/oxynote-oxynote/pair-metric-chart-with-explanation/
- Route runbook edits through a draft and approval: https://dedupedai.com/use-cases/oxynote-oxynote/review-page-changes-through-draft/
- Let Claude Code or Codex edit runbooks over MCP: https://dedupedai.com/use-cases/oxynote-oxynote/let-coding-agent-update-runbook/
- Get reminded when a runbook's source changes: https://dedupedai.com/use-cases/oxynote-oxynote/flag-stale-docs-with-freshness-hooks/

## How to put a live metric chart beside its explanation with Oxynote

Repo: [oxynote/oxynote](https://github.com/oxynote/oxynote) | Difficulty: Intermediate | Time: 45 minutes | Basis: From the README

Build one page where a Prometheus or SQL chart sits next to the text that explains it.

**Who it is for:** An on-call engineer or service owner who keeps explaining Grafana panels in a separate doc and wants chart and explanation to stay in sync.

**The problem:** Grafana descriptions are short tooltips, and a separate Notion doc drifts from the chart it describes.

**The outcome:** A page with a Live Metrics block that runs its own query and an explanation written under it, reviewable as one unit.

### Steps

1. Run `docker run -d --name oxynote -p 8080:8080 -v oxynote_data:/oxynote/data ghcr.io/oxynote/oxynote:latest` (join the lines into one command). (inferred, check the README)
2. Open http://localhost:8080 and log in with `admin@example.com` and `oxynote-admin-1234`, then change that password.
3. Create a new page and insert a Live Metrics block. (inferred, check the README)
4. Add a Prometheus or SQL query to the block and choose time series, bar chart or gauge. (inferred, check the README)
5. Type the explanation of what the chart shows and what to do when it crosses the threshold, directly under the block.

### Prompt to paste into your agent

```text
Using the oxynote/oxynote repo running at <oxynote-url>, create a page titled <page-title> with a Live Metrics block that runs <prometheus-or-sql-query> and an explanation paragraph under it. Expected output: the page URL and a list of the blocks on it. Verify that the chart renders with live data and that the explanation is on the same page.
```

### Caveat

The README does not describe the exact steps for adding a query in the UI, so check the current screens against the docs before relying on these steps.

Risk, credentials: SQL queries need a database connection, so use a read-only account and never paste production passwords into a shared page.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/oxynote-oxynote/pair-metric-chart-with-explanation/

## How to route runbook edits through a draft and approval with Oxynote

Repo: [oxynote/oxynote](https://github.com/oxynote/oxynote) | Difficulty: Intermediate | Time: 30 minutes | Basis: From the README

Make a page reviewable so every edit becomes a draft that a reviewer approves before it merges.

**Who it is for:** A team lead whose runbooks and admin commands get edited by many people and who wants changes checked like a pull request.

**The problem:** Wiki edits go live without review, so a wrong command or a stale endpoint can reach production docs unchecked.

**The outcome:** Each change to a reviewable page lands as a draft, shows as a block-aware diff, and merges into main only after approval.

### Steps

1. Run `docker run -d --name oxynote -p 8080:8080 -v oxynote_data:/oxynote/data ghcr.io/oxynote/oxynote:latest` (join the lines into one command). (inferred, check the README)
2. Open http://localhost:8080 and log in, then invite the reviewers to the workspace.
3. Open the page and turn on review so that edits go into a draft. (inferred, check the README)
4. Edit the page, then open the draft and read the diff, where renamed endpoints and reworded sentences show in place.
5. Approve the draft so it merges into main, and turn on protection for main if nobody should edit it directly.

### Prompt to paste into your agent

```text
Using the oxynote/oxynote repo at <oxynote-url>, change the page <page-title> so that a draft holds the edit to <change-description>. Expected output: the draft link and a summary of the block-level diff. Verify that main is unchanged until the draft is approved.
```

### Caveat

The README describes drafts and approvals but not how to assign reviewers or set branch protection, so confirm those menu paths in the running app.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/oxynote-oxynote/review-page-changes-through-draft/

## How to let Claude Code or Codex edit runbooks over MCP with Oxynote

Repo: [oxynote/oxynote](https://github.com/oxynote/oxynote) | Difficulty: Advanced | Time: 45 minutes | Basis: From the README

Connect a coding agent to Oxynote so it can read and update pages through the same tools.

**Who it is for:** A developer who wants an agent to refresh a runbook or API page after a deploy, without copy-pasting between tools.

**The problem:** Agents cannot see the charts and explanations a team keeps in a wiki, so their suggested changes go stale or are made by hand.

**The outcome:** The agent edits the page through Oxynote's tools, and the change waits in a draft for a human to review.

### Steps

1. Run `docker run -d --name oxynote -p 8080:8080 -v oxynote_data:/oxynote/data ghcr.io/oxynote/oxynote:latest` (join the lines into one command). (inferred, check the README)
2. Open http://localhost:8080, log in, and choose the model provider you want Rubber Duck to use.
3. Add Oxynote as an MCP server in Claude Code or Codex and complete the OAuth sign-in. (inferred, check the README)
4. Ask the agent to edit a named page, then open the resulting draft in Oxynote.
5. Approve the draft only after you have read the diff.

### Prompt to paste into your agent

```text
Using the oxynote/oxynote MCP server at <oxynote-url>, update the page <page-title> to reflect <change-description>. Expected output: the draft link and a short list of the blocks changed. Verify that the change appears as a draft and that main is untouched.
```

### Caveat

The README says MCP clients get the same tools over OAuth but does not list the exact MCP setup steps, so follow the current docs for each agent.

Risk, credentials: The agent gets the same tools as you over OAuth, so limit it to the workspace it needs and revoke access when it is no longer used.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/oxynote-oxynote/let-coding-agent-update-runbook/

## How to get reminded when a runbook's source changes with Oxynote

Repo: [oxynote/oxynote](https://github.com/oxynote/oxynote) | Difficulty: Intermediate | Time: 30 minutes | Basis: From the README

Attach freshness hooks to a page so its maintainers hear about changes to the files or images it depends on.

**Who it is for:** A platform engineer who keeps deployment docs tied to a GitHub repo or a container image and wants to know when they fall out of date.

**The problem:** Docs describing a deployment go stale silently after the code or image changes.

**The outcome:** A page that tracks a GitHub file, container image, web page or date, and reminds its maintainers when that dependency changes.

### Steps

1. Run `docker run -d --name oxynote -p 8080:8080 -v oxynote_data:/oxynote/data ghcr.io/oxynote/oxynote:latest` (join the lines into one command). (inferred, check the README)
2. Open http://localhost:8080 and log in, then connect the GitHub app for the workspace.
3. Open the page or block that describes the deployment and add a freshness hook. (inferred, check the README)
4. Set the hook to a GitHub file, container image, web page or date that the page depends on.
5. Confirm that the page maintainers are set so that they get the reminder.

### Prompt to paste into your agent

```text
Using the oxynote/oxynote repo at <oxynote-url>, add a freshness hook to the page <page-title> that tracks <github-file-or-image>. Expected output: the hook name and its target. Verify that the page shows the tracked dependency and that the maintainers are listed.
```

### Caveat

The README lists freshness hooks but does not say how reminders are delivered beyond maintainers getting one, so test the notification path before relying on it.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/oxynote-oxynote/flag-stale-docs-with-freshness-hooks/
