Official agent skill

Verify Smithy Service Parity

by aws in aws/aws-sdk-net

A skill your agent uses when validating that a C2J-to-Smithy migrated AWS SDK service builds, packages, and stays API-compatible with the shipping SDK, or before reporting such a migration as done…

OfficialApache-2.0Auto-check passedDevelopment

Install Verify Smithy Service Parity

skills CLI
$ npx skills add aws/aws-sdk-net --skill verify-smithy-service-parity -a claude-code

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

GitHub CLI
$ gh skill install aws/aws-sdk-net verify-smithy-service-parity --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/aws/aws-sdk-net.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/verify-smithy-service-parity .claude/skills/verify-smithy-service-parity && 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
verify-smithy-service-parity
GitHub stars
147
Token cost
~4k tokens
SKILL.md length
2,137 words
Files
1
Skills in repo
6
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when validating that a C2J-to-Smithy migrated AWS SDK service builds, packages, and stays API-compatible with the shipping SDK, or before reporting such a migration as done…

  • Works in 8 steps: Regenerate → Compare the public surface against the… → Account for every changed file → …
  • Validating that a C2J-to-Smithy migrated AWS SDK service builds
  • SKILL.md covers Overview, Parameters, Steps and Troubleshooting
  • Calls git and dotnet

What it does

Verify Smithy Service Parity is an agent skill from aws/aws-sdk-net, published by the product's own GitHub organization. Use when validating that a C2J-to-Smithy migrated AWS SDK service builds, packages, and stays API-compatible with the shipping SDK, or before reporting such a migration as done, verified, clean, or unblocked.

Its SKILL.md is about 4k 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 Development. It works with Amazon Web Services and Git. The repository describes itself as: The official AWS SDK for .NET. For more information on the AWS SDK for .NET, see our web site:. The licence is Apache-2.0.

When your agent uses it

  • Validating that a C2J-to-Smithy migrated AWS SDK service builds
  • Stays API-compatible with the shipping SDK
  • Before reporting such a migration as done

Example prompts

  • “/verify-smithy-service-parity”

Workflow steps

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

  1. Regenerate
  2. Compare the public surface against the C2J output
  3. Account for every changed file
  4. Build
  5. Package
  6. AssemblyComparer
  7. Unit tests
  8. Verdict

What it can do on your machine

Read from SKILL.md and the folder at commit 8956121. 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:

    • git
    • dotnet

    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

Verify Smithy Service Parity loads about 4k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 2,137 words of instructions outside code blocks.

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

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 aws/aws-sdk-net at commit 8956121, republished under its Apache-2.0 licence (© aws). 2,137 words, ~4,001 tokens.

Download SKILL.mdSave it as .claude/skills/verify-smithy-service-parity/SKILL.md (or your agent's skills folder).
name
verify-smithy-service-parity
description
Use when validating that a C2J-to-Smithy migrated AWS SDK service builds, packages, and stays API-compatible with the shipping SDK, or before reporting such a migration as done, verified, clean, or unblocked.

Verify Smithy Service Parity

Overview

Confirms a C2J-to-Smithy migrated service builds, packages, and stays API-compatible with the shipping SDK. Every step produces pasted evidence; the verdict is derived from that evidence, not from judgement.

The regenerated service files under sdk/ MUST NOT be committed in the migration PR — the release pipeline regenerates them. The migration itself is carried by the generator/ServiceModels/_smithy-migrated-services.json change and the generator/.DevConfigs/ changelog entry (plus any generator fixes the batch required). Staging them locally (git add) is still the right way to review: rename detection pairs each deleted C2J X.cs with its added Smithy X.g.cs, so git diff --cached -M -- <service trees> shows per-file rewrites instead of unrelated delete/add pairs. Stage one service at a time and unstage it (git restore --staged) once its verdict is recorded, so the index only ever holds the service under review.

Parameters

  • service_name (required): SDK ServiceFolderName, e.g. Uxc, SSOOIDC, MarketplaceReporting.
  • sdk_repo (required): path to the SDK checkout.
  • comparer_repo (required): path to the build-utilities checkout containing AssemblyComparer.
  • nuget_download_folder (optional, default: a new temp directory): scratch location for packages AssemblyComparer downloads.

Constraints for parameter acquisition:

  • You MUST ask for all required parameters upfront in a single prompt.
  • You MUST confirm service_name is present in <sdk_repo>/generator/ServiceModels/_smithy-migrated-services.json before starting, because the generator only emits Smithy output for services listed there.
  • You MUST NOT hardcode any path not supplied as a parameter, because the SOP has to run on any machine and any checkout layout.

Steps

1. Regenerate

dotnet run --project <sdk_repo>/generator/SmithyDotNet/SmithyDotNet.Generator/SmithyDotNet.Generator.csproj -- --repo-root "<sdk_repo>"

Constraints:

  • You MUST paste git status --short afterwards.
  • You MUST confirm only <service_name> shows generated-file changes, because every migrated service regenerates on every run and changes to another service indicate an unintended generator change.
2. Compare the public surface against the C2J output

The C2J-generated code is the source of truth, because it is what ships today. Its version of every generated file is in git HEAD until this regeneration overwrote it, so retrieve each with git show HEAD:<path> and compare against the new output.

Constraints:

  • You MUST list every public type, member and property from the C2J files and confirm each still exists in the Smithy output with the same name and the same .NET type, because a member that changes type or disappears breaks callers.
  • You MUST compare signatures only, normalising away a constructor's : base(...) initialiser, an expression body (=> x versus { get { return x; } }), and whitespace, because none of those change the compiled public surface and treating them as findings buries the real ones.
  • You MUST treat a property whose type narrowed or widened as FAIL, for example List<string> becoming string, since existing code stops compiling.
  • You MUST compare the full [AWSProperty] and [AWS*] named-argument sets side by side for every member, because AssemblyComparer does not compare attribute argument values and step 7 will not catch a missing one — with one exception: Min/Max on a List<T>-typed member is inert on both sides (PropertyValueRulesWriter only emits rules for scalar members, and the consuming analyzer only validates compile-time-constant string/int literals), so a difference there is not a finding. A second exception: Min=0 dropped from a string member whose smithy.json @length trait declares only max — the C2J translation materializes the omitted min as 0, the Smithy trait is authoritative, and the analyzer's min check (value.Length < min) can never fire for a min of 0 — an empty-string warning requires min >= 1, and those members keep their Min (verify the trait in smithy.json before accepting). Every other attribute, including [AWSPaginator], has no such exception — its arguments are consumed outside this repo (AWS Tools for PowerShell reflects on it), so treat any drift there as a FAIL.
  • To verify model traits, use the Smithy CLI instead of hand-parsing smithy.json. --allow-unknown-traits is required because the models reference aws.api# traits without shipping their definitions. Examples:
    • Length trait values for every string shape: smithy select --allow-unknown-traits --selector "string [trait|smithy.api#length]" --show-traits length <models>/<dir>/smithy.json
    • Members bound to response headers: smithy select --allow-unknown-traits --selector "member [trait|smithy.api#httpHeader]" <models>/<dir>/smithy.json
  • You MUST confirm every C2J public type has a Smithy counterpart, including exception types, enumerations, paginators and the client interface, since a missing type is a removed API.
  • You MUST NOT accept "the generator does not support this shape" as a reason for any difference in the public surface, because the migration is only allowed to change how the code is produced, not what it exposes.
  • A public type or member present only in the Smithy output is not a finding when it exists in smithy.json and not in the C2J .api.json (verify both); give it a changelog line. Every other rule in this step still applies.
  • For every marshaller and unmarshaller you MUST extract the set of names referenced in the C2J body — publicRequest.X, response.X, context.X, IsSetX(), and the wire names in Parameters.Add("x" / Headers.Add("x" — and confirm every one appears in the Smithy body. A name present in C2J and absent in Smithy is FAIL.
  • Presence is not enough: you MUST also diff the literal wire strings character for character — the ResourcePath template, each AddPathResource("{token}", …) token, and every Parameters.Add("name" / Headers.Add("name" name. A changed literal is FAIL unless you prove it inert. The one inert case is a URI path-label token: a Smithy path label is keyed by the member name, so its {token} may differ from the historical wire label — a case/spelling change is acceptable ONLY when the AddPathResource key and the ResourcePath token change together and stay identical to each other, so the substituted path is byte-for-byte unchanged. A header or query name is wire-visible and has no such exception; any change there is FAIL.
  • Min/Max/Pattern values and the ResourcePath template come from the Smithy model, which is the source of truth. Where the C2J translation differs from it (a Min=0 present on one side only, anchors on a pattern, a trailing slash on the path), the difference is EXPECTED.
  • One accepted response-side difference: an exception member bound to an HTTP response header (@httpHeader on an @error shape; location: header in the C2J model). C2J emits a dead body read — context.TestExpression("<Header-Name>", targetDepth, ...) against a JSON key the service never sends — so the property is always null in the shipping SDK. The Smithy generator reads the actual header (context.ResponseData.IsHeaderPresent(...) / GetHeaderValue(...)), so the property starts being populated. This is acceptable ONLY when both models bind the member to the same header name (verify both), and it is a customer-visible behavioral fix: the migration's DevConfig entry MUST carry an additional changelog message stating the property is now populated. Decided 2026-09-11 for VPCLattice, ObservabilityAdmin and DSQL (RetryAfterSeconds from Retry-After; AmznErrorType from x-amzn-ErrorType).
  • A matching name-set is not sufficient: for every reference in that set you MUST also compare the condition under which it executes — the enclosing if/guard, ternary, or unconditional placement — between the C2J and Smithy bodies line by line. A name present in both bodies but reachable under a different condition (a header added unconditionally where C2J guarded it, an IsSetX() check inverted, a branch that now fires for a different set of inputs) is FAIL, even though nothing is missing.
  • You MUST run that body comparison even when every public signature matches, because a member dropped from marshalling changes no signature: the property still exists, callers still compile, and the value silently never reaches the service. No other step in this document detects it.
  • You MUST verify any URL emitted in a doc comment resolves (or matches C2J's value exactly) — a broken <seealso href> is invisible to every other check in this document.
Show full SKILL.md (900 more words)Show less
3. Account for every changed file

List every path from git status --short and classify each one individually: EXPECTED or UNEXPLAINED.

These are the only accepted EXPECTED differences. Anything else is UNEXPLAINED:

  • .g.cs suffix — a C2J X.cs is deleted and a Smithy X.g.cs added. A deleted .cs with no matching .g.cs is UNEXPLAINED.
  • _bcl / _netstandard flattening — those folders collapse into Generated/, and <Compile Remove="**/_bcl/**"/> disappears from the NetStandard csproj because there is nothing left to exclude.
  • AssemblyInfo.cs description — AssemblyDescription drops the C2J per-release blurb, and the code-analysis project gets a generic description. Metadata only.
  • PropertyValueRules.xml patterns — e.g. [a-zA-Z0-9_-]+ becomes ^[a-zA-Z0-9_-]+$. Anchors are inert: the analyzer compares its regex match against the whole value. An unanchored Smithy pattern is emitted padded with .* (\S becomes .*\S.*) because Smithy patterns match anywhere while the analyzer requires whole-value coverage — see PropertyValueRulesWriter.ConvertSmithyPattern. The emitted pattern must equal ConvertSmithyPattern(smithy trait); any other pattern difference stays UNEXPLAINED.
  • Scalar Min=0 dropped — a string member loses Min=0 from [AWSProperty] (and its <min>0</min> in PropertyValueRules.xml) when the Smithy @length trait declares only max. The C2J translation materializes an omitted string-length min as min:0; the Smithy trait is authoritative, and the analyzer's min check (value.Length < min) can never fire for a min of 0 — an empty-string warning requires min >= 1, and those members keep their Min. This applies ONLY when the smithy.json trait has no min — a dropped non-zero Min, a dropped Max, or a drop on a member whose trait declares min stays UNEXPLAINED. Numeric members are unaffected (@range min is never synthesized).
  • .sln to .slnx — per-service solution file format change.
  • Whitespace, indentation and doc-comment reflow — but only after you have shown both sides. This covers reflow of existing content only. A doc comment that goes from present to absent on a public type or member is NOT reflow: a public type/member with no XML doc comment fails the build under GenerateDocumentationFile (CS1591), so a removed or emptied <summary> stays UNEXPLAINED until step 4 proves it compiles. Excludes any URL/href value inside a doc comment (e.g. <seealso href="...">); those must match exactly or be individually justified, never waved through as reflow.

Constraints:

  • You MUST enumerate every path and assign each a classification, because sampling the diff is how a dropped attribute argument survives review.
  • You MUST classify a path UNEXPLAINED when it does not match one of the accepted differences above, because the list is the whole set of things already reviewed.
  • You MUST diff the file lists against the previous state as well as the contents, because a file the C2J generator emitted and the Smithy generator does not is invisible to a content diff.
  • You MUST open every changed file whose name you do not recognise, including AssemblyInfo.cs, PropertyValueRules.xml, *.nuspec, *.csproj, and anything under sdk/code-analysis/, since deletions there are public-surface or build-behaviour changes rather than noise.
  • For every [AWS*] attribute in the diff you MUST list the full named-argument set on both sides side by side, because AssemblyComparer does not compare attribute argument values and step 7 will not catch a missing one.
  • You MUST NOT close this step with any path left UNEXPLAINED, because an unexplained change is an unassessed API change.
  • You MUST NOT describe a difference as formatting or syntax without showing both sides, since that characterisation is what lets a real removal through.
4. Build

Build all three, -c Release:

  • <sdk_repo>/sdk/src/Services/<service_name>/AWSSDK.<service_name>.NetStandard.csproj (netstandard2.0, netcoreapp3.1, net8.0)
  • <sdk_repo>/sdk/src/Services/<service_name>/AWSSDK.<service_name>.NetFramework.csproj (net472)
  • <sdk_repo>/sdk/code-analysis/ServiceAnalysis/<service_name>/AWSSDK.<service_name>.CodeAnalysis.csproj

Constraints:

  • You MUST paste the warning and error counts for each.
  • You MUST NOT proceed past a build failure, because the later steps operate on build output that would not exist.
5. Package

create-nuget-packages.ps1 -PackageList <service_name>

Constraints:

  • You MUST run it from <sdk_repo>/buildtools/, because it resolves paths relative to its own directory.
  • You MUST run it after step 4, because it assumes build output already exists.
  • You MUST paste the resulting package path.
6. AssemblyComparer
dotnet run -c Release --project <comparer_repo>/AssemblyComparer/AssemblyComparer/AssemblyComparer.csproj -- package-comparer --package-name AWSSDK.<service_name> --download-folder "<nuget_download_folder>" --nuspec "<sdk_repo>/sdk/src/Services/<service_name>/AWSSDK.<service_name>.nuspec" -cf BinaryIncompatibility,SourceIncompatibility,Warning -p net472 -p netstandard2.0 -p netcoreapp3.1 -p net8.0

Constraints:

  • You MUST paste the full output and the exit code. Empty output plus exit 0 means no findings.
  • You MUST treat every reported finding as a break until it is individually explained in the report.
  • You MUST NOT report this step as covering custom-attribute argument values, because AssemblyComparer does not compare them and a dropped attribute argument passes it while still breaking the public API.
7. Unit tests

Run the service's unit tests.

Constraints:

  • You MUST paste the pass, fail, and skip counts verbatim.
  • You MUST NOT call a failure pre-existing without a stash plus rerun proving it, since the main branch is kept green.
8. Verdict

Report each step as PASS with its pasted evidence, FAIL with the output, or UNVERIFIED with the blocker.

Constraints:

  • The verdict MUST default to NOT VERIFIED and MAY become VERIFIED only when steps 1-7 are all PASS with pasted evidence.
  • Any step you could not run MUST be UNVERIFIED and MUST block VERIFIED, because an unrun check reported as passing is indistinguishable from a failed one.
  • You MUST NOT write "cosmetic", "equivalent", "should be fine", "pre-existing", or "likely" without pasted output in the same sentence, because each asserts a result without showing one.

Troubleshooting

Step 1 shows changes to other services — a generator change leaked in. Stop and report which services changed.

AssemblyComparer reports findings that look intentional — still FAIL until each finding is explained in the report.

A step cannot be run — UNVERIFIED, not PASS. You MUST NOT substitute reading the generated files for running the step, because that produces no comparison evidence.

© aws, Apache-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 .claude/skills/verify-smithy-service-parity of aws/aws-sdk-net.

Open the folder on GitHubat commit 8956121

Compare with similar skills

Verify Smithy Service Parity 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.

Verify Smithy Service Parity compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Verify Smithy Service Parity this skillaws/aws-sdk-net147—~4kAutomated safety check: PassApache-2.0
Dirextalk DeployerYingSuiAI/dirextalk-deployer457—~7.2kAutomated safety check: PassMIT
Burla Parallel Dev ClustersBurla-Cloud/burla263—~1.6kAutomated safety check: PassCustom licence
Dirextalk DeployerYingSuiAI/dirextalk-deployer457—~541Automated safety check: PassMIT
PR Reviewcdklabs/cdk-nextjs111—~2.4kAutomated safety check: PassApache-2.0
Work Issuesgo-to-k/cdkd146—~1.7kAutomated safety check: PassApache-2.0

Similar skills

  • Dirextalk Deployer

    YingSuiAI/dirextalk-deployer

    Deploy, resume, verify, update, recover, reset, or destroy production Dirextalk services and nodes on AWS, and wire local agent runtimes.

    457 GitHub stars~7.2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Sets up an isolated Burla dev cluster per git worktree so several agents can work in parallel, and explains when to use local-dev or remote-dev.

    263 GitHub stars~1.6k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Dirextalk Deployer

    YingSuiAI/dirextalk-deployer

    Deploy, resume, verify, update, recover, reset, or destroy production Dirextalk services and nodes on AWS.

    457 GitHub stars~541 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • PR Review

    cdklabs/cdk-nextjs

    Review the current PR branch and fix the findings in rounds until reviews come back clean.

    111 GitHub stars~2.4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Work Issues

    go-to-k/cdkd

    Work through already-filed GitHub issues (typically the bug-hunt's output) end to end — triage safely, pick as many FILE-DISJOINT issues as the run can carry, claim each on the issue before starting…

    146 GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed
  • Create PR

    go-to-k/cdkd

    Run /verify-pr checks, then create a GitHub PR if all pass. An agent skill from go-to-k/cdkd.

    146 GitHub stars~873 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from aws/aws-sdk-net

  • AWS SDK Net Maintainer

    aws/aws-sdk-net

    Official

    A skill your agent uses when working on the AWS SDK for .NET source code itself, including Core runtime changes, service client implementations, generator or model changes, repo-specific build and…

    147 GitHub stars~503 tokensUpdated yesterday
    Auto-check passed
  • Smithy Ast Model

    aws/aws-sdk-net

    Official

    The Smithy JSON AST facts and model invariants the SmithyDotNet generator relies on.

    147 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Type Mapping

    aws/aws-sdk-net

    Official

    Smithy shape to .NET type mapping, nullability, collection element rules, and error-shape naming/member rules.

    147 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Marshalling

    aws/aws-sdk-net

    Official

    What the SmithyDotNet generator must emit for request marshallers and response/error unmarshallers, per Smithy binding trait and protocol.

    147 GitHub stars~8.2k tokensUpdated yesterday
    Auto-check passed
  • SDK Conventions

    aws/aws-sdk-net

    Official

    The public-API contract SmithyDotNet-generated code must match against the shipping AWS SDK for .NET - what must match vs.

    147 GitHub stars~6.6k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Verify Smithy Service Parity

What does Verify Smithy Service Parity do?

A skill your agent uses when validating that a C2J-to-Smithy migrated AWS SDK service builds, packages, and stays API-compatible with the shipping SDK, or before reporting such a migration as done…. Verify Smithy Service Parity is an agent skill from aws/aws-sdk-net, published by the product's own GitHub organization. Use when validating that a C2J-to-Smithy migrated AWS SDK service builds, packages, and stays API-compatible with the shipping SDK, or before reporting such a migration as done, verified, clean, or unblocked.

When should I use Verify Smithy Service Parity?

Verify Smithy Service Parity fits situations like: validating that a C2J-to-Smithy migrated AWS SDK service builds; stays API-compatible with the shipping SDK; before reporting such a migration as done.

How do I install Verify Smithy Service Parity in Claude Code?

Run `npx skills add aws/aws-sdk-net --skill verify-smithy-service-parity -a claude-code`. Or copy the skill folder (.claude/skills/verify-smithy-service-parity in aws/aws-sdk-net) into .claude/skills/verify-smithy-service-parity in your project. Claude Code loads it when a task matches its description.

How do I install Verify Smithy Service Parity in Codex?

Run `npx skills add aws/aws-sdk-net --skill verify-smithy-service-parity -a codex`. Or copy the skill folder (.claude/skills/verify-smithy-service-parity in aws/aws-sdk-net) into .agents/skills/verify-smithy-service-parity in your project. Codex loads it when a task matches its description.

Can I use Verify Smithy Service Parity 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 aws/aws-sdk-net --skill verify-smithy-service-parity -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/verify-smithy-service-parity, .gemini/skills/verify-smithy-service-parity, .github/skills/verify-smithy-service-parity and .opencode/skills/verify-smithy-service-parity in your project.

What does Verify Smithy Service Parity need to run?

Going by SKILL.md and its folder, Verify Smithy Service Parity needs the command-line tools its instructions call (git and dotnet).

Does Verify Smithy Service Parity 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 Verify Smithy Service Parity 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 Verify Smithy Service Parity use?

Verify Smithy Service Parity is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Verify Smithy Service Parity use?

About 4k tokens (SKILL.md is roughly 16k 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 Verify Smithy Service Parity?

Skills that share tags, products or a category with Verify Smithy Service Parity: Dirextalk Deployer (YingSuiAI/dirextalk-deployer, 457 stars), Burla Parallel Dev Clusters (Burla-Cloud/burla, 263 stars), Dirextalk Deployer (YingSuiAI/dirextalk-deployer, 457 stars) and PR Review (cdklabs/cdk-nextjs, 111 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Verify Smithy Service Parity?

aws (a GitHub organization, an official publisher) maintains it in aws/aws-sdk-net, which has 147 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 9, 2026.

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