Official agent skill

Fixdocs

by hashicorp in hashicorp/terraform-provider-aws

Fix Terraform provider end user documentation issues detected by swissshepherd (ss).

OfficialMPL-2.0Auto-check passedDevOps & Cloud

Install Fixdocs

skills CLI
$ npx skills add hashicorp/terraform-provider-aws --skill fixdocs -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install hashicorp/terraform-provider-aws fixdocs --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/hashicorp/terraform-provider-aws.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/fixdocs .claude/skills/fixdocs && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
fixdocs
GitHub stars
11k
Token cost
~1.8k tokens
SKILL.md length
889 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
MPL-2.0

At a glance

Fix Terraform provider end user documentation issues detected by swissshepherd (ss).

  • Works in 7 steps: Verify clean baseline → Select and expose target → Validate findings → …
  • Tasks that involve Infrastructure as code
  • SKILL.md covers When to use, Inputs, Procedure and Important constraints, plus 1 more section
  • Calls make, git and just

What it does

Fixdocs is an agent skill from hashicorp/terraform-provider-aws, published by the product's own GitHub organization. Fix Terraform provider end user documentation issues detected by swissshepherd (ss). Removes an ignored target from the config, runs ss, validates findings, fixes the documentation, and commits.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering Infrastructure as code. It works with Terraform. The repository describes itself as: The AWS Provider enables Terraform to manage AWS resources. The licence is MPL-2.0.

When your agent uses it

  • Tasks that involve Infrastructure as code

Example prompts

  • “/fixdocs”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Verify clean baseline
  2. Select and expose target
  3. Validate findings
  4. Fix the documentation
  5. Verify fix
  6. Full verification
  7. Commit

What it can do on your machine

Read from SKILL.md and the folder at commit 972faab. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • make
    • git
    • just

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Fixdocs loads about 1.8k tokens when it runs. Until then it costs about 51 tokens; SKILL.md has 889 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~51
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from hashicorp/terraform-provider-aws at commit 972faab, republished under its MPL-2.0 licence (© hashicorp). 889 words, ~1,833 tokens.

Download SKILL.mdSave it as .claude/skills/fixdocs/SKILL.md (or your agent's skills folder).
name
fixdocs
description
Fix Terraform provider end user documentation issues detected by swissshepherd (ss). Removes an ignored target from the config, runs ss, validates findings, fixes the documentation, and commits.
<!-- Copyright IBM Corp. 2014, 2026 -->
<!-- SPDX-License-Identifier: MPL-2.0 -->

Skill: Fix End User Documentation With swissshepherd

Fix Terraform provider documentation issues by removing targets from the swissshepherd ignore list, validating findings against the schema, and correcting the documentation.

When to use

Trigger this skill when the user:

  • Says "fix docs", "fixdocs", "run swissshepherd", "run ss", or similar
  • Asks to remove a target from the swissshepherd ignore list
  • Asks to fix documentation for a specific resource or data source
  • Provides swissshepherd output and asks to fix the findings

Inputs

Optional:

  • A target name (e.g., aws_s3_bucket) or prefix (e.g., aws_s3_)
  • A type (resource, data_source, ephemeral, etc.)
  • Number of targets to process (default: 1)

If no target is specified, pick the next one from ignore_targets in .ci/swissshepherd-weak.hcl.

Procedure

Phase 1: Verify clean baseline
bash
make swissshepherd

This MUST output "All checks passed." before proceeding. If it doesn't, stop and tell the user the baseline is dirty.

Phase 2: Select and expose target
  1. Open .ci/swissshepherd-weak.hcl
  2. Find the target in an ignore_targets list (within a check block)
  3. Remove the target line from the list
  4. Run swissshepherd to see findings:
bash
swissshepherd --config .ci/swissshepherd-weak.hcl --target <name> --type <type>

If "All checks passed" — the target was already clean. Commit the config removal and move to the next target.

Phase 3: Validate findings

For each finding, determine if it's valid by checking the schema source of truth:

  • Coverage errors ("not documented", "does not exist in schema"): Read the resource's Go source (internal/service/<service>/<resource>.go or *_data_source.go) to confirm the attribute/block exists in the schema.
  • Heading errors: Check what the heading currently says vs what ss expects.
  • Label errors: Check if the attribute is Required, Optional, or Computed in the schema.
  • Byline errors: Compare against the expected bylines in the config.

If a finding appears to be a swissshepherd bug (schema says one thing, ss reports another), note it and skip — do NOT fix the doc incorrectly.

Phase 4: Fix the documentation

BOTH WARNINGS AND ERRORS should be fixed!!

Open the doc file (path is in the ss output) and apply fixes:

FindingFix
"block X is not documented"Add a ### \block_name` Block` section with its attributes listed
"attribute X should be documented in Attribute Reference"Add to Attribute Reference section
"attribute X should not appear in Argument Reference"Move from Arguments to Attributes
"documented attribute X does not exist in schema"Remove from docs (it's phantom)
"missing (Required) or (Optional) label"Add the correct label based on schema
"heading ... should be ..."Rename to the suggested heading
"byline does not match expected texts"Replace with a standard byline
"reference-style link definition"Convert [ref]: url to inline [text](url)
"avoid "X"; use "Y" instead" (banned_glosses)Replace the spelled-out phrase with its abbreviation. Never edit YAML frontmatter to do this — if the flagged text is in subcategory/layout/page_title/description, skip and report it instead.
Documentation style rules

When adding or editing documentation:

  • Arguments: * \name` - (Required) Description.or* `name` - (Optional) Description.`
  • Attributes: * \name` - Description.` (no Required/Optional label)
  • Descriptions start with a verb or noun — never "A ", "An ", "The ", "Specifies ", "Indicates "
  • Don't spell out common abbreviations (e.g. ARN, KMS, VPC) — swissshepherd's banned_glosses check enforces this; see Abbreviations
  • Boolean arguments: start with "Whether to..."
  • Keep alphabetical order within required/optional groups
  • Block sections use heading: ### `block_name` Block
  • Byline for arguments: "The following arguments are required:" / "The following arguments are optional:"
  • Byline for attributes: "In addition to all arguments above, the following attributes are exported:"

Authoritative reference: docs/end-user-documentation.md. When this skill and that document disagree, the document wins.

Show full SKILL.md (328 more words)Show less
Phase 5: Verify fix
bash
swissshepherd --config .ci/swissshepherd-weak.hcl --target <name> --type <type>

Must output "All checks passed." If not, iterate on remaining findings.

Phase 6: Full verification
bash
make swissshepherd

Must output "All checks passed." to confirm no regressions.

Phase 7: Commit

Stage and commit:

bash
git add .ci/swissshepherd-weak.hcl website/docs/
git commit -m "<resource_name>: Fix documentation per swissshepherd"

Use the resource name without the aws_ prefix in the commit message scope when it matches a single service. For multi-target batches, use the service name.

Important constraints

  • Schema is truth. Never "fix" a finding by silencing it if the schema confirms the issue.
  • One target per commit. Each removed ignore target gets its own commit for clean git history.
  • Always use --config .ci/swissshepherd-weak.hcl — running without config produces 20,000+ findings.
  • Check both check blocks. A target may appear in ignore_targets under check "schema_docs" AND check "import_section" (or others). Remove from all.
  • Don't touch ignore_contents_check unless the user explicitly asks — those are structural exceptions.
  • Preserve file structure. Don't rewrite entire doc files. Make minimal, targeted edits.
  • Nested blocks. When ss reports "block X.Y is not documented", the doc needs a subsection under the parent block's section. Default to ### `y` Block (just the child name) nested contextually after the parent. If the child name collides with another block of the same name elsewhere in the file (e.g. the same nested block name reused under two different parents), use the dotted path instead: ### `x.y` Block, with a matching dotted anchor. There is no single correct form — prefer the shorter undotted name, but use dotted paths when needed to keep headings unique. Be consistent within a file: don't mix dotted and undotted for the same block across the doc.

Example session

User: "fix docs for aws_s3_bucket_lifecycle_configuration"

  1. Verify make swissshepherd passes
  2. Remove aws_s3_bucket_lifecycle_configuration from ignore_targets in the schema_docs check block
  3. Run swissshepherd --config .ci/swissshepherd-weak.hcl --target aws_s3_bucket_lifecycle_configuration --type resource
  4. See: ERROR [schema_docs] ... block "rule.filter" is not documented
  5. Check Go source — confirm filter block exists under rule
  6. Add ### `filter` Block section with its attributes
  7. Re-run ss — passes
  8. Run make swissshepherd — passes
  9. Commit

© hashicorp, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/fixdocs of hashicorp/terraform-provider-aws.

Open the folder on GitHubat commit 972faab

Compare with similar skills

Fixdocs next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Fixdocs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fixdocs this skillhashicorp/terraform-provider-aws11k—~1.8kAutomated safety check: PassMPL-2.0
Terraform and OpenTofu Guideagentscope-ai/QwenPaw35k6 repos~4.2kAutomated safety check: PassApache-2.0
Terraform Skillantonbabenko/terraform-skill2.4k1 repos~5.1kAutomated safety check: PassApache-2.0
Senior DevOps Toolkitmaslennikov-ig/claude-code-orchestrator-kit2606 repos~1.1kAutomated safety check: NotesCustom licence
Cloudflarehodgef/apiker1277 repos~2.2kAutomated safety check: PassMIT
Terravision Cloud Diagramspatrickchugh/terravision1.6k—~5.6kAutomated safety check: NotesAGPL-3.0-only

Similar skills

  • Terraform and OpenTofu Guide

    agentscope-ai/QwenPaw

    Guidance for writing and testing Terraform and OpenTofu code: module structure, naming, test approaches, CI/CD workflows, state handling and security scanning.

    35k GitHub starsUsed in 6 repos~4.2k tokens
    DevOps & CloudAuto-check passed
  • Terraform Skill

    antonbabenko/terraform-skill

    A skill your agent uses when writing, reviewing, or debugging Terraform/OpenTofu modules, tests, CI, scans, or state ops - diagnoses failure mode (identity churn, secrets, blast radius, CI drift…

    2.4k GitHub starsUsed in 1 repo~5.1k tokens
    DevOps & CloudAuto-check passed
  • Senior DevOps Toolkit

    maslennikov-ig/claude-code-orchestrator-kit

    Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…

    260 GitHub starsUsed in 6 repos~1.1k tokens
    DevOps & CloudAuto-check: notes
  • Cloudflare

    hodgef/apiker

    Comprehensive Cloudflare platform skill covering Workers, Pages, storage (KV, D1, R2), AI (Workers AI, Vectorize, Agents SDK), feature flags (Flagship), networking (Tunnel, Spectrum), security (WAF…

    127 GitHub starsUsed in 7 repos~2.2k tokens
    DevOps & CloudAuto-check passed
  • Terravision Cloud Diagrams

    patrickchugh/terravision

    Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision.

    1.6k GitHub stars~5.6k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • Cloudflare

    dmmulroy/cloudflare-skill

    Comprehensive Cloudflare platform skill covering Workers, Pages, storage (KV, D1, R2), AI (Workers AI, Vectorize, Agents SDK), networking (Tunnel, Spectrum), security (WAF, DDoS), and…

    727 GitHub stars~1.6k tokensUpdated 8 mo ago
    DevOps & CloudAuto-check passed

More from hashicorp/terraform-provider-aws

All 17 skills in this repo
  • Review Docs

    hashicorp/terraform-provider-aws

    Official

    Review a Terraform AWS Provider PR's end-user documentation (website/docs//.markdown): whether docs are needed, description openings, argument/attribute style, section structure, tags wording, code…

    11k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Review Helpers

    hashicorp/terraform-provider-aws

    Official

    Review Terraform AWS Provider helper code: finders, status functions, waiters, sweepers, data sources, and list resources.

    11k GitHub stars~978 tokensUpdated today
    Auto-check passed
  • Review Identity

    hashicorp/terraform-provider-aws

    Official

    Review Terraform AWS Provider Resource Identity: the identity-strategy annotations (@ArnIdentity, @SingletonIdentity, @IdentityAttribute), multi-attribute @ImportIDHandler parsers, and region…

    11k GitHub stars~692 tokensUpdated today
    Auto-check passed
  • Review Lifecycle

    hashicorp/terraform-provider-aws

    Official

    Review Terraform AWS Provider resource lifecycle: CRUD step order, smerr/smarterr error handling, and AutoFlex model-to-SDK conversion.

    11k GitHub stars~990 tokensUpdated today
    Auto-check passed
  • Review Schema

    hashicorp/terraform-provider-aws

    Official

    Review Terraform AWS Provider Plugin Framework schema shape: model structs, Required/Optional/Computed combinations, plan modifiers (no ForceNew), nested-block custom types, validators, sensitive…

    11k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Review Tags

    hashicorp/terraform-provider-aws

    Official

    Review Terraform AWS Provider tagging: the tags/tagsall schema attributes, the @Tags(identifierAttribute=...) annotation, and wiring input.Tags = getTagsIn(ctx) after flex.Expand.

    11k GitHub stars~462 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Fixdocs

What does Fixdocs do?

Fix Terraform provider end user documentation issues detected by swissshepherd (ss). Fixdocs is an agent skill from hashicorp/terraform-provider-aws, published by the product's own GitHub organization. Fix Terraform provider end user documentation issues detected by swissshepherd (ss).

When should I use Fixdocs?

Fixdocs fits situations like: tasks that involve Infrastructure as code.

How do I install Fixdocs in Claude Code?

Run `npx skills add hashicorp/terraform-provider-aws --skill fixdocs -a claude-code`. Or copy the skill folder (.agents/skills/fixdocs in hashicorp/terraform-provider-aws) into .claude/skills/fixdocs in your project. Claude Code loads it when a task matches its description.

How do I install Fixdocs in Codex?

Run `npx skills add hashicorp/terraform-provider-aws --skill fixdocs -a codex`. Or copy the skill folder (.agents/skills/fixdocs in hashicorp/terraform-provider-aws) into .agents/skills/fixdocs in your project. Codex loads it when a task matches its description.

Can I use Fixdocs in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hashicorp/terraform-provider-aws --skill fixdocs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fixdocs, .gemini/skills/fixdocs, .github/skills/fixdocs and .opencode/skills/fixdocs in your project.

What does Fixdocs need to run?

Going by SKILL.md and its folder, Fixdocs needs the command-line tools its instructions call (make, git and just).

Does Fixdocs access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Fixdocs safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Fixdocs use?

Fixdocs is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Fixdocs use?

About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Fixdocs?

Skills that share tags, products or a category with Fixdocs: Terraform and OpenTofu Guide (agentscope-ai/QwenPaw, 35k stars), Terraform Skill (antonbabenko/terraform-skill, 2.4k stars), Senior DevOps Toolkit (maslennikov-ig/claude-code-orchestrator-kit, 260 stars) and Cloudflare (hodgef/apiker, 127 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fixdocs?

hashicorp (a GitHub organization, an official publisher) maintains it in hashicorp/terraform-provider-aws, which has 11,109 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 7, 2026.

Source: hashicorp/terraform-provider-aws on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.