pulumi/awsx-issue-planning
Pre-implementation planning for nontrivial pulumi-awsx issues and feature requests. Use before editing when an AWSX issue may require API design, changed defaults, new child resources, compatibility-sensitive behavior, a checked-in spec, or a choice between a narrow fix and a better component shape.
npx skills add https://github.com/pulumi/pulumi-awsx --skill awsx-issue-planning
Use this skill before implementation when an AWSX issue is more than a narrow,
already-scoped code change. The goal is to decide what should be built, whether
AWSX should own the behavior, what artifact is needed, and what proof is needed
before editing.
For nontrivial GitHub issues, the planning brief is the deliverable. Stop after
the brief by default. Do not implement in the same turn unless the user prompt
explicitly says the plan is already approved or explicitly asks to proceed
without a maintainer review checkpoint.
A prompt that says "implement if the planning brief says implementation should
proceed" is not pre-approval. That delegates the go/no-go decision back to the
brief and still counts as self-approval.
This skill is the gate before the tactical skills:
$awsx-component-design after selecting a component/API shape.$awsx-breaking-change-evaluation when an option changes public schema,child resources, defaults, providers, regions, or upgrade behavior.
$awsx-test-authoring after choosing the behavior that needs proof.$awsx-aws-service-validation when AWS service behavior is part of thedecision.
Use this for:
@pulumi/aws resources;
Skip this for:
@pulumi/aws resource surface for affected child resources;Treat prior rollout summaries, memories, or old worktree diffs for the same
issue as historical attempts, not accepted design guidance. Re-check the
issue and repo shape before reusing any prior implementation pattern.
one update?
@pulumi/aws resources after the component exists?
outcome for the resource cluster in scope, not the issue's literal symptom
or the user's whole application architecture;
$awsx-aws-service-validation when the requirements are not already
certain;
outcome, including required defaults and override paths;
is incomplete?" and include the answer in the candidate comparison.
extension pass before recommending a new API:
clearer defaults, an explicit mode or strategy, additional fields, or
composition with lower-level resources;
surface and what compatibility promise AWSX would inherit;
surface is insufficient;
supported, how users know which one to use, and what behavior would be
duplicated across them.
candidate set;
existing-user path, new-user path, compatibility risk, implementation size,
surface lifetime cost when relevant, migration story, immediate follow-up
issue risk, and proof required;
the user-visible outcome nonfunctional or forcing an immediate follow-up
issue.
after planning. Do not self-approve by saying the brief is
implementation-ready and then editing in the same turn.
Use the smallest artifact that reduces real risk:
compatibility risk.
resources, multiple plausible component shapes, compatibility-sensitive child
resources, or behavior that affects generated SDK/schema surface.
temporary branch state, or validation that cannot be completed locally.
Do not create docs/specs/** by default. Create a checked-in spec only when the
planning brief shows that implementation would otherwise hide a product/API
decision.
Before drafting a checked-in spec for a public-surface change, checkpoint with
the maintainer if multiple plausible surface directions remain. Summarize the
decision pressure first: whether the existing surface can be extended, why a new
surface may still be needed, and what long-term maintenance cost each direction
creates.
For a checked-in spec, prefer a compact Markdown document under docs/specs/
with this shape:
# <Topic> AWSX Component Design
## Summary
What is changing, who observes it, and why AWSX should own it.
## Current Usability
What users can and cannot express today, including one-update workarounds.
## Desired User Experience
Representative AWSX program shape and which resources AWSX creates or adopts.
## Existing Surface Extension
Whether the current public API can be extended before adding a second surface,
including surface lifetime cost if a new API is still preferred.
## Design
Public args/outputs, child resources, defaults, override paths, and rejected
alternatives.
## Compatibility Risks
Schema/SDK surface, child names/aliases, default resources, provider/region
behavior, and migration.
## Validation
Focused tests/checks for each important invariant, plus what remains unproven.
Omit sections only when they truly add no information. Keep durable component
semantics separate from temporary rollout notes if combining them would make the
spec noisy.
Favor AWSX ownership when the behavior is a broadly useful resource wrapper or a
bounded component around one logical resource cluster. Be cautious when the
request turns into an application blueprint, multi-service architecture, or a
steady stream of highly specific variations.
Defaults are allowed only when AWSX can intentionally own and preserve them as
compatibility surface. Avoid owning service-version, provider, or AWS-managed
defaults that are likely to drift outside AWSX.
Produce a concise planning brief:
## Planning Brief
Problem:
- <what is broken or missing>
Current usability:
- <usable today? one-shot? workaround? what cannot be expressed?>
User-visible definition of done:
- <working AWS outcome, not just the issue symptom>
Service requirements:
- <AWS requirements for the happy path, including defaults/supporting resources>
Ideal user configuration:
<short representative AWSX program shape>
Candidate designs:
- <candidate design>: <completeness against definition of done, existing-user
path, new-user path, compatibility, surface lifetime cost if public API is
involved, next issue users would file, proof>
- <candidate design>: <same checks>
Artifact:
- <chat-only brief, checked-in spec, or handoff/status doc>
Recommendation:
- <selected path or stop for input>
Next proof:
- <focused tests/checks; what remains unproven>
Keep the brief short enough for a maintainer to challenge it. The definition of
done should usually be one or two lines, and service requirements should be a
short checklist. Do not hide a product/API decision inside implementation
details.
End the turn after the brief unless the user's prompt explicitly pre-approves
implementation after planning. If the next step is implementation, phrase it as
a recommended follow-up, not permission to edit immediately.
Stop and ask for maintainer direction if:
the user-visible AWS outcome;
defaults, replacements, or changed generated SDK surface;
drift with AWS or @pulumi/aws;
Take pulumi/awsx-issue-planning from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.