# docs-actions
Reusable GitHub Actions and agentic workflows for Elastic documentation.
## Composite actions
| Action | Description |
|--------|-------------|
| [`aws/auth`](aws/auth/) | AWS role assumption for docs deployments |
| [`changelog/submit`](changelog/submit/) | Generate and commit changelog entries |
| [`changelog/validate`](changelog/validate/) | Gate PRs on changelog label presence |
| [`codex/build`](codex/build/) | Build codex documentation with docs-builder |
| [`codex/update-link-index`](codex/update-link-index/) | Update cross-repo link index |
| [`docs-builder/setup`](docs-builder/setup/) | Install the docs-builder CLI |
| [`git/setup`](git/setup/) | Configure git user and token auth |
| [`openapi/lint`](openapi/lint/) | Lint OpenAPI specs against the centralized Elastic ruleset |
| [`slack/notify`](slack/notify/) | Post a Slack message through the docs notifier Lambda |
| [`slack/notify-status`](slack/notify-status/) | Post a color-coded Slack status notification for a GitHub job or workflow |
| [`vale/lint`](vale/lint/) | Run Vale with the Elastic style guide |
| [`vale/report`](vale/report/) | Post Vale linting results as a pull request comment |
Usage:
```yaml
- uses: elastic/docs-actions/docs-builder/setup@v1
- run: docs-builder --version
```
## Caller workflow templates
Download-ready caller workflows for automated release notes are available in [`release-notes/`](release-notes/).
Download-ready caller workflows for deterministic light or full review classification of docs pull requests are available in [`review-classifier/`](review-classifier/).
## Agentic workflows
AI-powered [GitHub Agent Workflows](https://github.github.com/gh-aw/) for documentation tasks.
| Workflow | Description | Trigger | Safe output |
|----------|-------------|---------|-------------|
| [docs-review](agentic-workflows/docs-review/) | Review changed markdown files in pull requests (`docs/` by default, or repo-wide with `review-scope`) | `/docs-review`, PR checkbox menu | `create-pull-request-review-comment`, `submit-pull-request-review` |
| [issue-scope](agentic-workflows/issue-scope/) | Scope docs impact and estimate cost/benefit for an issue in one comment | `/scope`, dispatch | `add-labels`, `add-comment` |
| [issue-triage](agentic-workflows/issue-triage/) | Route and quality-check an issue on demand: classify, check against the quality bar, and apply labels | `/triage`, dispatch | `add-labels`, `remove-labels`, `react-green`, `add-comment` |
| [issue-auto-triage](agentic-workflows/issue-auto-triage/) | Route and quality-check a new issue with project-specific instructions, without rewriting it | `issues: opened` | `add-labels`, `remove-labels`, `react-green`, `add-comment` |
| [docs-quality-sweep](agentic-workflows/docs-quality-sweep/) | Fan out to the docs quality sweeps in parallel | `workflow_dispatch` | Per sweep |
Quick install:
```bash
mkdir -p .github/workflows && curl -sL \
https://raw.githubusercontent.com/elastic/docs-actions/v1/agentic-workflows/docs-review/example.yml \
-o .github/workflows/docs-review.yml
```
Agentic workflows in this repo use `COPILOT_GITHUB_TOKEN`.
## Development
See [agentic-workflows/DEVELOPING.md](agentic-workflows/DEVELOPING.md) for agentic workflow development.
```bash
make setup # install gh-aw compiler + actionlint
make compile # compile workflow sources to lock files
make lint # validate all files without changing the working tree
make format # run all pre-commit hooks and apply fixes
```
## License
Apache 2.0 — see [LICENSE](https://github.com/elastic/docs-actions/blob/main/LICENSE).