docs
cloudposse/atmos/.claude/skills/docs/SKILL.md
Docs: contributor documentation conventions for Atmos website docs, CLI command docs, configuration pages, action cards, changelog, roadmap, and stale-content checks
Skill1.4k starsChanged 50 days ago
What's in it
- Docs
- First Pass
- Configuration Docs
- Sidebar Hierarchy
- Command Docs
- Changelog Posts
- Release Docs
- Validation
---
name: docs
description: "Docs: contributor documentation conventions for Atmos website docs, CLI command docs, configuration pages, action cards, changelog, roadmap, and stale-content checks"
metadata:
copyright: Copyright Cloud Posse, LLC 2026
version: "1.0.0"
---
# Docs
Use this skill when changing documentation for Atmos itself: website docs, CLI command docs, `atmos.yaml`
configuration docs, changelog posts, roadmap entries, and project-local contributor guidance.
## First Pass
Before editing, inspect the related implementation and existing docs:
```bash
rg -n "<feature>|<config-key>|<command>" website/docs docs agent-skills .claude/skills
rg -n "<feature>|<config-key>|<command>" pkg cmd internal
```
Search for stale claims before finishing:
```bash
rg -n "unsupported|not supported|not currently|not enforced|TODO|coming soon" website/docs docs agent-skills .claude/skills
```
## Configuration Docs
Every new or changed `atmos.yaml` section needs configuration docs.
- Add or update the parent page under `website/docs/cli/configuration/`.
- Add a child page when a nested section has independent behavior, policies, defaults, or command-facing effects.
- Keep parent pages as summaries when child pages exist; link to the child page for details.
- Use `<File title="atmos.yaml">` for config examples.
- Use `<dl>`, `<dt>`, and `<dd>` for configuration keys and option definitions.
- Include defaults, supported values, and environment variables when they are part of the public interface.
## Sidebar Hierarchy
For configuration docs, make the sidebar resemble the YAML hierarchy.
- Parent categories may link to the page for the object they represent.
- Prefer visible labels that are config keys or object names, such as `workflows`, `workflow`, `steps`, and `env`.
- Avoid editorial labels like "Overview", "Execution", or "Runtime Context" when the page represents a configuration object.
- Do not promote enum values or type-specific parameters to sidebar peers unless they are independent configuration objects.
- When possible, use folder structure plus `_category_.json` so autogenerated sidebar entries inherit the YAML-shaped hierarchy from the docs tree.
- If site-level sidebar sorting prevents YAML-order rendering, use explicit sidebar entries for that section rather than changing global sidebar behavior.
## Command Docs
When command behavior is configured by `atmos.yaml`, link command docs back to configuration docs.
- Import `ActionCard` and `PrimaryCTA`.
- Place the card near the top, after `Intro` and any status badges.
- Link to the relevant configuration page, not just the root docs section.
- Use definition lists for flags and positional arguments.
- Use `DocCardList` for command families and subcommands.
Example:
```mdx
<ActionCard title="Configure Toolchain">
Learn how to configure tool versions, registries, aliases, and package verification in your atmos.yaml.
<div>
<PrimaryCTA to="/cli/configuration/toolchain">Configuration Reference</PrimaryCTA>
</div>
</ActionCard>
```
## Changelog Posts
Changelog posts live in `website/blog/` as dated `.mdx` files (required only for non-draft PRs targeting
`main`, labeled `minor`/`major` — CI also accepts `.md`, but `.mdx` is this repo's convention). Use the
**`changelog` skill** (`.claude/skills/changelog/SKILL.md`) for the template, frontmatter, tag/author rules,
and style requirements (problem-first framing, no backtick-opening prose, optional cast embeds, no
Go-internals leakage) — don't restate them here.
## Release Docs
When behavior changes, update all user-facing surfaces in the same PR:
- Configuration docs for new or changed `atmos.yaml` keys.
- Command docs for changed CLI behavior.
- Consumer agent skills when product behavior changes how AI assistants should answer questions about Atmos.
- Claude skills when contributor documentation workflows or repo-local development guidance changes.
- Changelog and roadmap pages when the feature is user-visible.
- Remove or revise stale “unsupported”, “not enforced”, and “not currently” language.
## Validation
Run the narrowest useful validation first, then broader checks if website or skills changed:
```bash
git diff --check
cd website && pnpm run build
```
For agent skills, mirror `.github/workflows/validate-agent-skills.yml`:
- each skill has a `SKILL.md`
- `SKILL.md` frontmatter has `name` and `description`
- `SKILL.md` stays under 500 lines and 20KB
- reference files stay under 25KB
- all code fences include language tags
More agent context in cloudposse/atmos
34 other files this repository gives its agents.
AGENTS.md
CLAUDE.md
Cursor rule
Skill
- atmos-asciicast.claude/skills/atmos-asciicast/SKILL.md
- atmos-core-component-development.claude/skills/atmos-core-component-development/SKILL.md
- changelog.claude/skills/changelog/SKILL.md
- code-hygiene.claude/skills/code-hygiene/SKILL.md
- component-development.claude/skills/component-development/SKILL.md
- editions.claude/skills/editions/SKILL.md
- field-test.claude/skills/field-test/SKILL.md
- fix-all.claude/skills/fix-all/SKILL.md
- fix-log.claude/skills/fix-log/SKILL.md
- homebrew.claude/skills/homebrew/SKILL.md
- lint.claude/skills/lint/SKILL.md
- pr-maintenance-loop.claude/skills/pr-maintenance-loop/SKILL.md
- pull-request.claude/skills/pull-request/SKILL.md
- roadmap.claude/skills/roadmap/SKILL.md
- say.claude/skills/say/SKILL.md
- security-remediate.claude/skills/security-remediate/SKILL.md
- speckit-analyze.claude/skills/speckit-analyze/SKILL.md
- speckit-checklist.claude/skills/speckit-checklist/SKILL.md
- speckit-clarify.claude/skills/speckit-clarify/SKILL.md
- speckit-constitution.claude/skills/speckit-constitution/SKILL.md
- speckit-git-commit.claude/skills/speckit-git-commit/SKILL.md
- speckit-git-feature.claude/skills/speckit-git-feature/SKILL.md
- speckit-git-initialize.claude/skills/speckit-git-initialize/SKILL.md
- speckit-git-remote.claude/skills/speckit-git-remote/SKILL.md
- speckit-git-validate.claude/skills/speckit-git-validate/SKILL.md
- speckit-implement.claude/skills/speckit-implement/SKILL.md
- speckit-plan.claude/skills/speckit-plan/SKILL.md
- speckit-specify.claude/skills/speckit-specify/SKILL.md
- speckit-tasks.claude/skills/speckit-tasks/SKILL.md
- speckit-taskstoissues.claude/skills/speckit-taskstoissues/SKILL.md
- test-coverage.claude/skills/test-coverage/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

