mcpbeat

Awsx Component Design

pulumi/awsx-component-design

Tactical AWSX component-shape guidance for modern pulumi-awsx components. Use when a change is already in scope and Codex needs to design or review args, outputs, child resource ownership, child exposure, naming, provider/options/region propagation, defaults, registerOutputs behavior, or other AWSX component contract details.

6k tokens
context cost
the whole folder, loaded on every use
9
files
instructions only
0
copies elsewhere
how many repositories repackaged it
244
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/pulumi/pulumi-awsx --skill awsx-component-design

What comes with it

21 279 bytes besides the instruction
agents/openai.yaml
rules/args-component-contract.md
rules/child-resource-names.md
rules/child-resource-ownership.md
rules/conditional-children.md
rules/defaults-owned-by-awsx.md
rules/outputs-and-exposed-children.md
rules/provider-options-region.md

The instruction itself

4 sections, as written by the author

AWSX Component Design

Use this skill after the change is already considered in scope for AWSX. Do not

use it to decide whether AWSX should add a new abstraction.

This skill is an index of focused component-shape rules. Load only the rule files

that match the work in front of you.

For implementation command flow, generated-file boundaries, and source

locations, use AGENTS.md. For tests, use $awsx-test-authoring. For

compatibility review, use $awsx-breaking-change-evaluation. For AWS service

facts, use $awsx-aws-service-validation.

Rule Index

  • rules/args-component-contract.md: public args, schema-safe shapes,

intentional component semantics, Input<T>-friendly values, callbacks, flat

structures, and duplicate knobs.

  • rules/outputs-and-exposed-children.md: public outputs, exposed child

resources, private helper resources, and registerOutputs.

  • rules/conditional-children.md: optional child resources, skip/create/adopt

controls, and conditional outputs.

  • rules/child-resource-ownership.md: child parents, helper parent parameters,

nested resources, and ordering.

  • rules/child-resource-names.md: stable child logical names and rename risk.
  • rules/provider-options-region.md: provider inheritance, option composition,

aliases, top-level region, and regional child resources.

  • rules/defaults-owned-by-awsx.md: sensible defaults, override paths,

provider/service defaults, and default-created supporting resources.

How To Use

  • Identify which part of the component contract is changing.
  • Read the matching rule file before designing or reviewing the code.
  • Validate the proposed shape against nearby AWSX components, the installed

@pulumi/aws resource surface, and AWS docs when the design depends on

service behavior. Use $awsx-aws-service-validation when the service fact is

not already proven.

  • Follow the rule examples unless the local component has a documented

compatibility exception.

  • If a rule points to compatibility risk, switch to

$awsx-breaking-change-evaluation before settling the design.

  • If a rule needs proof, switch to $awsx-test-authoring for the test shape.

Stop Early

Stop before editing or finalizing the design if:

  • the component shape needs a new public arg that is not schema-friendly;
  • the same behavior would be configurable in more than one place;
  • a child resource would be renamed, reparented, or newly exposed;
  • an existing component lacks registerOutputs and the right output contract is

unclear;

  • provider or region propagation conflicts with existing nested schema fields;
  • the design depends on an AWS service fact that is not verified from the

installed Pulumi AWS surface or AWS documentation.

How to use it

Copy the folder

Take pulumi/awsx-component-design from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.