---
ref: workflow:ai-answer-gaps
title: Plan articles for AI answers that leave you out
author: thedogwiththedataonit
tools: [tool:notra/list-content-gaps, tool:notra/plan-content-brief]
tags: [capability:track-ai-visibility, capability:write-copy, channel:website, has:api, has:cli, has:mcp, motion:content]
updated: 2026-09-29
---

# Plan articles for AI answers that leave you out

Lists the prompts where AI engines name your competitors but not you in Notra, picks the biggest gaps, and plans a brief for each.

Set up the tools below, then run the steps in order for the user, carrying each step's results into the next. The run is done when the user has the outcome below.

## Outcome

- A table of the tracked prompts where AI engines name competitors but not you, with the engines, the competitors and the opportunity for each.
- A content brief in Notra for each gap you chose, waiting for your approval to start the writer.

## Inputs

Ask the user for these before you start.

- `project`: the Notra GEO project to read, by name, e.g. Acme
- `max_briefs`: the most briefs to plan in one run, since each one uses AI credits, e.g. 3

## Set up

### Notra (tool:notra/list-content-gaps, tool:notra/plan-content-brief)

Use the first option your agent supports.

Notes:

- List content gaps: Needs a GEO plan or AI credits. Get the project id from `list_projects` (`notra geo projects list`) first. A gap's `id` is what a content brief takes as `sourceId`, with `sourceKind` set to `gap`.
- Plan a content brief: Uses billed AI credits and can take minutes. Approve the brief (`approve_geo_content_brief`) to start the writer, or pass auto-approve.

#### MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "notra": { "url": "https://mcp.usenotra.com/mcp" } } }
```

- List content gaps: call the MCP tool `list_geo_content_gaps`
- Plan a content brief: call the MCP tool `plan_geo_content_brief`

#### CLI (official)

Install the command and sign in with it, then confirm it runs.

```sh
npm i -g notra
notra --version
```

- List content gaps: run `notra geo gaps list`
- Plan a content brief: run `notra geo briefs create`

Before step 1, confirm access with the cheapest read-only call, like a list or a search. Never send or change anything to test access.

## Steps

1. **List the gaps** with List content gaps (Notra). Read the gaps for `project`. If `hasScanData` is false, tell the user to run a scan in Notra first and stop. Keep each prompt gap's `id`, prompt, engines, competitors and `opportunity`, leaving out the ones marked `won` or that already have a brief.
2. **Pick the biggest gaps** yourself. Order the gaps by `opportunity`, highest first, and show them to the user as a table. Keep the ones they choose, at most `max_briefs`.
3. **Plan the briefs** with Plan a content brief (Notra). For each chosen gap, plan a brief with `topic` set to the gap's prompt, `sourceKind` set to `gap` and `sourceId` set to its `id`, leaving `autoApprove` off. Keep each brief's `briefId` and status.

## Notes

Gaps come from Notra's latest scans, so run this after a scan. Approving a brief in Notra starts its writer, which drafts the article.

## Rules

- Use only the services set up above. The read-only calls they need, like listing ids or polling for results, are fine.
- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
