Official agent skill

Review Lifecycle

by hashicorp in hashicorp/terraform-provider-aws

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

OfficialMPL-2.0Auto-check passedDevOps & Cloud

Install Review Lifecycle

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

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

GitHub CLI
$ gh skill install hashicorp/terraform-provider-aws review-lifecycle --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/review-lifecycle .claude/skills/review-lifecycle && 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
review-lifecycle
GitHub stars
11k
Token cost
~990 tokens
SKILL.md length
327 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
MPL-2.0

At a glance

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

  • Reviewing a PR that changes non-test resource logic in internal/service//.go (Create/Read/Update/Delete
  • SKILL.md covers Registration annotations, Struct embeds, CRUD step order and Errors, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Flex.Expand/Flatten/Diff)

What it does

Review Lifecycle is an agent skill from hashicorp/terraform-provider-aws, published by the product's own GitHub organization. Review Terraform AWS Provider resource lifecycle: CRUD step order, smerr/smarterr error handling, and AutoFlex model-to-SDK conversion. Use when reviewing a PR that changes non-test resource logic in internal/service//.go (Create/Read/Update/Delete, error wrapping, flex.Expand/Flatten/Diff).

Its SKILL.md is about 990 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 and Amazon Web Services. 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

  • Reviewing a PR that changes non-test resource logic in internal/service//.go (Create/Read/Update/Delete
  • Flex.Expand/Flatten/Diff)

Example prompts

  • “/review-lifecycle”

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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are go).

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

  • Network

    No URLs in SKILL.md.

    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

Review Lifecycle loads about 990 tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 327 words of instructions outside code blocks.

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

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). 327 words, ~990 tokens.

Download SKILL.mdSave it as .claude/skills/review-lifecycle/SKILL.md (or your agent's skills folder).
name
review-lifecycle
description
Review Terraform AWS Provider resource lifecycle: CRUD step order, smerr/smarterr error handling, and AutoFlex model-to-SDK conversion. Use when reviewing a PR that changes non-test resource logic in internal/service/**/*.go (Create/Read/Update/Delete, error wrapping, flex.Expand/Flatten/Diff).
<!-- Copyright IBM Corp. 2014, 2026 -->
<!-- SPDX-License-Identifier: MPL-2.0 -->

Review: Resource Lifecycle

Assume the @maintainer persona. Scope: CRUD, errors, AutoFlex on non-test resource code (internal/service/**/*.go). Loaded from review-pr.

Registration annotations

One above each factory function. Flag missing annotations or factory-name/resource-name mismatches.

ConstructAnnotation
Resource (Framework)// @FrameworkResource("aws_<svc>_<thing>", name="<Human Name>")
Data source (Framework)// @FrameworkDataSource("aws_<svc>_<thing>", name="<Human Name>")
List resource (Framework)// @FrameworkListResource("aws_<svc>_<thing>")
List resource (SDKv2)// @SDKListResource("aws_<svc>_<thing>")

Struct embeds

go
type fooResource struct {
    framework.ResourceWithModel[fooResourceModel]
    framework.WithTimeouts          // only when a timeouts block is present
    framework.WithImportByIdentity  // not WithImportByID for new resources
}
  • New resources use framework.WithImportByIdentity. Flag framework.WithImportByID on new resources.
  • Use framework.ResourceWithModel[T] (not ResourceWithConfigure).
  • Data sources: framework.DataSourceWithModel[T].

CRUD step order

Create: get client → fetch plan → flex.Expand → set tags via input.Tags = getTagsIn(ctx) for tagged resources → AWS Create call → flex.Flatten output back into the plan → wait → resp.State.Set(ctx, plan). Flag Creates that don't read the output back into the plan — computed attributes stay unknown in state.

Read: get client → fetch state → finder → on retry.NotFound(err), append fwdiag.NewResourceNotFoundWarningDiagnostic(err), call resp.State.RemoveResource(ctx), return → flatten → resp.State.Set.

Update: get client → fetch plan and state → diff, d := flex.Diff(ctx, plan, state) → gate on diff.HasChanges() → AWS modify → flatten output back into plan → wait → resp.State.Set(ctx, &plan). Flag updates that always call the API without HasChanges(), or that re-fetch state after the modify.

Omit Update when the API has no update, every attribute has RequiresReplace(), or Create is reused for modify.

Delete: get client → fetch state → build input → AWS delete; silently swallow errs.IsA[*awstypes.ResourceNotFoundException](err) → wait.

Errors

Use smerr/smarterr, never raw resp.Diagnostics.AddError.

  • Upstream diagnostics: smerr.AddEnrich(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) (not the deprecated EnrichAppend).
  • API errors: smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()). Always pass smerr.ID with an identifier — plan.Name in Create, state.ID elsewhere.
  • Inside finders/waiters, wrap returned errors with smarterr.NewError(err).
  • Detect AWS exceptions with errs.IsA[*awstypes.<Exception>](err) — never type assertions, never strings.Contains(err.Error(), ...).
  • Use retry.NotFound(err) for wrapped not-found from the finder layer.

Flag raw resp.Diagnostics.AddError, type assertions on AWS errors, and string-based error matching.

AutoFlex

Use flex.Expand / flex.Flatten for model ↔ SDK conversion. Manual per-field aws.String / aws.ToString is wrong in new Framework code.

  • flex.WithFieldNamePrefix("<Thing>") when AWS prefixes its fields (model ID ↔ SDK ThingId).
  • AWS plural collections become singular blocks (Parameters ↔ parameter).
  • AutoFlex does not copy tags through; see review-tags.
  • Update path: flex.Diff(ctx, plan, state) then diff.HasChanges().

© 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/review-lifecycle of hashicorp/terraform-provider-aws.

Open the folder on GitHubat commit 972faab

Compare with similar skills

Review Lifecycle 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.

Review Lifecycle compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Review Lifecycle this skillhashicorp/terraform-provider-aws11k—~990Automated safety check: PassMPL-2.0
Senior DevOps Toolkitmaslennikov-ig/claude-code-orchestrator-kit2606 repos~1.1kAutomated safety check: NotesCustom licence
Terravision Cloud Diagramspatrickchugh/terravision1.6k—~5.6kAutomated safety check: NotesAGPL-3.0-only
TerrasharkLukasNiessen/terrashark714—~843Automated safety check: PassMIT
AWS Cloud Advisortech-leads-club/agent-skills7k—~2.1kAutomated safety check: PassCC-BY-4.0
Spa Create Configsplunk/splunk-platform-automator137—~3.5kAutomated safety check: PassProprietary

Similar skills

  • 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
  • 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 2 days ago
    DevOps & CloudAuto-check: notes
  • Terrashark

    LukasNiessen/terrashark

    Prevent Terraform/OpenTofu hallucinations by diagnosing and fixing failure modes: identity churn, secret exposure, blast-radius mistakes, CI drift, and compliance gate gaps.

    714 GitHub stars~843 tokensUpdated 6 days ago
    DevOps & CloudAuto-check passed
  • AWS Cloud Advisor

    tech-leads-club/agent-skills

    Answers AWS architecture, security and service-selection questions by searching AWS documentation through MCP tools first, then adapting advice to your stack and team.

    7k GitHub stars~2.1k tokensUpdated 18 days ago
    DevOps & CloudAuto-check passed
  • Spa Create Config

    splunk/splunk-platform-automator

    A skill your agent uses when creating or updating splunkconfig.yml, designing Splunk Enterprise lab topology, multisite IDXC, SHC layout, architecture plan before config, or AWS Terraform block for…

    137 GitHub stars~3.5k tokensUpdated 2 days ago
    DevOps & CloudAuto-check passed
  • Verify mql provider resource/field changes against real cloud infrastructure.

    411 GitHub stars~3.7k tokensUpdated today
    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 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
  • Review Tests

    hashicorp/terraform-provider-aws

    Official

    Review Terraform AWS Provider acceptance and unit test basics: required basic and disappears tests, TestAcc naming, TestCase essentials (PreCheck/ErrorCheck/ProtoV5ProviderFactories/CheckDestroy)…

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

Categories

Questions about Review Lifecycle

What does Review Lifecycle do?

Review Terraform AWS Provider resource lifecycle: CRUD step order, smerr/smarterr error handling, and AutoFlex model-to-SDK conversion. Review Lifecycle is an agent skill from hashicorp/terraform-provider-aws, published by the product's own GitHub organization. Review Terraform AWS Provider resource lifecycle: CRUD step order, smerr/smarterr error handling, and AutoFlex model-to-SDK conversion.

When should I use Review Lifecycle?

Review Lifecycle fits situations like: reviewing a PR that changes non-test resource logic in internal/service//.go (Create/Read/Update/Delete; flex.Expand/Flatten/Diff).

How do I install Review Lifecycle in Claude Code?

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

How do I install Review Lifecycle in Codex?

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

Can I use Review Lifecycle 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 review-lifecycle -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review-lifecycle, .gemini/skills/review-lifecycle, .github/skills/review-lifecycle and .opencode/skills/review-lifecycle in your project.

What does Review Lifecycle need to run?

SKILL.md names no scripts, command-line tools or credentials: Review Lifecycle is instructions for the agent only.

Does Review Lifecycle access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Review Lifecycle 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 Review Lifecycle use?

Review Lifecycle 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 Review Lifecycle use?

About 990 tokens (SKILL.md is roughly 4k 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 Review Lifecycle?

Skills that share tags, products or a category with Review Lifecycle: Senior DevOps Toolkit (maslennikov-ig/claude-code-orchestrator-kit, 260 stars), Terravision Cloud Diagrams (patrickchugh/terravision, 1.6k stars), Terrashark (LukasNiessen/terrashark, 714 stars) and AWS Cloud Advisor (tech-leads-club/agent-skills, 7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Review Lifecycle?

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.