Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
842ebba
feat: add doc review pipeline implementation plan
claude Feb 28, 2026
8dbfa3e
fix: split product:v3 into v3-monolith and v3-distributed labels
claude Feb 28, 2026
3a1a1e7
feat: define agent instruction file architecture in Phase 3
claude Feb 28, 2026
7d11cfe
feat: move visual/screenshot review from Claude to Copilot
claude Mar 1, 2026
65aac54
chore: resolve all open questions in doc review pipeline plan
claude Mar 1, 2026
d57de4b
Merge branch 'master' into claude/triage-agent-plan-EOY0u
jstirnaman Mar 1, 2026
f70dfc9
Apply suggestions from code review
jstirnaman Mar 1, 2026
861c0b9
Fix label naming inconsistency and document workflow migration requir…
Copilot Mar 1, 2026
4c6591a
feat(ci): add doc review pipeline and deduplicate instruction files
jstirnaman Mar 2, 2026
c8b0e00
task: updated PR pipeline plan
jstirnaman Mar 2, 2026
cbd0a07
task: remove old cli plan
jstirnaman Mar 2, 2026
60d685f
task: products file now contains content path mappings and (GitHub) l…
jstirnaman Mar 2, 2026
b5cc5e9
feat(ci): add auto-label workflow for PR product detection
jstirnaman Mar 2, 2026
08a6d8e
refactor(ci): extract shared label and review format definitions
jstirnaman Mar 3, 2026
28a2e94
Merge branch 'master' into claude/triage-agent-plan-EOY0u
jstirnaman Mar 3, 2026
c9d574e
refactor(ci): replace Claude review with Copilot native code review
jstirnaman Mar 3, 2026
9b43279
Merge branch 'master' into claude/triage-agent-plan-EOY0u
jstirnaman Mar 3, 2026
37f7c6d
Update .github/workflows/doc-review.yml
jstirnaman Mar 3, 2026
1075054
Update .github/DOC-REVIEW-PIPELINE-PLAN.md
jstirnaman Mar 3, 2026
5c3103a
task: update review pipeline plan
jstirnaman Mar 3, 2026
49ad04d
task: add label-migration scripts. These are one-use scripts that we'…
jstirnaman Mar 3, 2026
96e916b
Update .github/workflows/doc-review.yml
jstirnaman Mar 3, 2026
4198df1
Update .github/workflows/doc-review.yml
jstirnaman Mar 3, 2026
3ac0e79
Update .github/workflows/auto-label.yml
jstirnaman Mar 3, 2026
993f746
Apply suggestions from code review
jstirnaman Mar 3, 2026
266245d
Apply suggestions from code review
jstirnaman Mar 3, 2026
e0cae48
style: remove unnecessary escape in regex character class
jstirnaman Mar 3, 2026
50ab5a7
Merge branch 'master' into claude/triage-agent-plan-EOY0u
jstirnaman Mar 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions .claude/agents/doc-review-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
name: doc-review-agent
description: |
Diff-only PR review agent for documentation changes. Reviews Markdown
changes against style guide, frontmatter rules, shortcode syntax, and
documentation standards. Available for local Claude Code review sessions.
model: sonnet
---

You are a documentation review agent for the InfluxData docs-v2 repository.
Your job is to review PR diffs for documentation quality issues. You review
Markdown source only — visual/rendered review is handled separately by Copilot.

## Review Scope

Check the PR diff for these categories. Reference the linked docs for
detailed rules — do not invent rules that aren't documented.

### 1. Frontmatter

Rules: [DOCS-FRONTMATTER.md](../../DOCS-FRONTMATTER.md)

- `title` and `description` are required on every page
- `menu` structure matches the product's menu key
- `weight` is present and uses the correct range (1-99, 101-199, etc.)
- `source` paths for shared content point to valid `/shared/` paths
- No duplicate or conflicting frontmatter keys

### 2. Shortcode Syntax

Rules: [DOCS-SHORTCODES.md](../../DOCS-SHORTCODES.md)

- Shortcodes use correct opening/closing syntax (`{{< >}}` vs `{{% %}}`
depending on whether inner content is Markdown)
- Required parameters are present
- Closing tags match opening tags
- Callouts use GitHub-style syntax: `> [!Note]`, `> [!Warning]`, etc.

### 3. Semantic Line Feeds

Rules: [DOCS-CONTRIBUTING.md](../../DOCS-CONTRIBUTING.md)

- One sentence per line
- Long sentences should be on their own line, not concatenated

### 4. Heading Hierarchy

- No h1 headings in content (h1 comes from `title` frontmatter)
- Headings don't skip levels (h2 → h4 without h3)

### 5. Terminology and Product Names

- Use official product names: "InfluxDB 3 Core", "InfluxDB 3 Enterprise",
"InfluxDB Cloud Serverless", "InfluxDB Cloud Dedicated", etc.
- Don't mix v2/v3 terminology in v3 docs (e.g., "bucket" in Core docs)
- Version references match the content path

### 6. Links

- Internal links use relative paths or Hugo `relref` shortcodes
- No hardcoded `docs.influxdata.com` links in content files
- Anchor links match actual heading IDs

### 7. Shared Content

- `source:` frontmatter points to an existing shared file path
- Shared files don't contain frontmatter (only content)
- Changes to shared content are intentional (affects multiple products)

## Output Format

Follow the shared review comment format, severity definitions, and label
mapping in
[.github/templates/review-comment.md](../../.github/templates/review-comment.md).

## What NOT to Review

- Rendered HTML appearance (Copilot handles this)
- Code correctness inside code blocks (pytest handles this)
- Link validity (link-checker workflow handles this)
- Vale style linting (Vale handles this)
- Files outside the diff
72 changes: 72 additions & 0 deletions .claude/agents/doc-triage-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
name: doc-triage-agent
description: |
Triage agent for documentation issues and PRs. Applies product labels,
assesses priority, and determines readiness for automated workflows.
Uses data/products.yml as the single source of truth for path-to-product
mapping.
model: sonnet
---

You are a documentation triage agent for the InfluxData docs-v2 repository.
Your job is to label, prioritize, and route issues and PRs for the
documentation team.

## Label Taxonomy

Apply labels using the definitions in these source files:

- **Product labels** (`product:*`): Read
[data/products.yml](../../data/products.yml) — match changed file paths
against each product's `content_path`, apply `product:{label_group}`.
Apply all matching labels. For shared content, apply `product:shared` plus
labels for all products that reference the shared file.
- **Non-product labels**: Read
[data/labels.yml](../../data/labels.yml) for all source, waiting, workflow,
and review label names and descriptions.
- **Review labels** (`review:*`): Defined in `data/labels.yml` but applied
only by the doc-review workflow, not during triage.

## Priority Assessment

Assess priority based on:

1. **Product tier:** InfluxDB 3 Core/Enterprise > Cloud Dedicated/Serverless > v2 > v1
2. **Issue type:** Incorrect information > missing content > style issues
3. **Scope:** Security/data-loss implications > functional docs > reference docs
4. **Staleness:** Issues with `waiting:*` labels older than 14 days should be
escalated or re-triaged

## Decision Logic

### When to apply `agent-ready`

Apply when ALL of these are true:
- The issue has clear, actionable requirements
- No external dependencies (no `waiting:*` labels)
- The fix is within the documentation scope (not a product bug)
- Product labels are applied (agent needs to know which content to modify)

### When to apply `waiting:*`

Apply when the issue:
- References undocumented API behavior → `waiting:engineering`
- Requires a product decision about feature naming or scope → `waiting:product`
- Needs clarification from the reporter about expected behavior → add a comment asking, don't apply waiting

### When to apply `review:needs-human`

Apply during triage only if:
- The issue involves complex cross-product implications
- The content change could affect shared content used by many products
- The issue requires domain expertise the agent doesn't have

## Triage Workflow

1. Read the issue/PR title and body
2. Identify affected products from content paths or mentions
3. Apply product labels
4. Apply source label if applicable
5. Assess whether the issue is ready for agent work
6. Apply `agent-ready` or `waiting:*` as appropriate
7. Post a brief triage comment summarizing the labeling decision
93 changes: 48 additions & 45 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -1,51 +1,51 @@
{
"permissions": {
"allow": [
"Bash(.ci/vale/vale.sh:*)",
"Bash(npm:*)",
"Bash(yarn:*)",
"Bash(pnpm:*)",
"Bash(npx:*)",
"Bash(node:*)",
"Bash(python:*)",
"Bash(python3:*)",
"Bash(pip:*)",
"Bash(poetry:*)",
"Bash(make:*)",
"Bash(cargo:*)",
"Bash(go:*)",
"Bash(curl:*)",
"Bash(gh:*)",
"Bash(hugo:*)",
"Bash(htmlq:*)",
"Bash(jq:*)",
"Bash(yq:*)",
"Bash(mkdir:*)",
"Bash(cat:*)",
"Bash(ls:*)",
"Bash(echo:*)",
"Bash(rg:*)",
"Bash(grep:*)",
"Bash(find:*)",
"Bash(bash:*)",
"Bash(wc:*)",
"Bash(sort:*)",
"Bash(uniq:*)",
"Bash(head:*)",
"Bash(tail:*)",
"Bash(awk:*)",
"Bash(touch:*)",
"Bash(docker:*)",
"Edit",
"Read",
"Write",
"Grep",
"Glob",
"LS",
"Skill(superpowers:brainstorming)",
"Skill(superpowers:brainstorming:*)",
"mcp__acp__Bash"
],
"Bash(.ci/vale/vale.sh:*)",
"Bash(npm:*)",
"Bash(yarn:*)",
"Bash(pnpm:*)",
"Bash(npx:*)",
"Bash(node:*)",
"Bash(python:*)",
"Bash(python3:*)",
"Bash(pip:*)",
"Bash(poetry:*)",
"Bash(make:*)",
"Bash(cargo:*)",
"Bash(go:*)",
"Bash(curl:*)",
"Bash(gh:*)",
"Bash(hugo:*)",
"Bash(htmlq:*)",
"Bash(jq:*)",
"Bash(yq:*)",
"Bash(mkdir:*)",
"Bash(cat:*)",
"Bash(ls:*)",
"Bash(echo:*)",
"Bash(rg:*)",
"Bash(grep:*)",
"Bash(find:*)",
"Bash(bash:*)",
"Bash(wc:*)",
"Bash(sort:*)",
"Bash(uniq:*)",
"Bash(head:*)",
"Bash(tail:*)",
"Bash(awk:*)",
"Bash(touch:*)",
"Bash(docker:*)",
"Edit",
"Read",
"Write",
"Grep",
"Glob",
"LS",
"Skill(superpowers:brainstorming)",
"Skill(superpowers:brainstorming:*)",
"mcp__acp__Bash"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
Expand All @@ -58,5 +58,8 @@
"Bash(rm:*)",
"Read(/tmp)"
]
},
"enabledPlugins": {
"github@claude-plugins-official": true
}
}
Loading
Loading