Multi-tool AI Skills for AWS solution patterns.
Ship the ability to generate a solution — not a static template.
One source of knowledge, one SKILL.md per skill, deployed verbatim to Kiro · Claude Code · Codex.
- Why this exists
- Skill catalog
- How it works
- Supported tools
- Quickstart
- Directory layout
- Cross-skill assets
- Authoring workflow
- Adding a new skill
- MCP requirements
- Design principles
- Contributing
- License
A template gives you one frozen architecture. A skill gives an AI agent the knowledge to design and generate the right architecture for your requirements, gathered in conversation.
Each top-level *-skill/ folder packages one AWS solution use case as an Anthropic Agent Skill. You describe what you need; the skill produces tailored CDK + Lambda + frontend code, following a gated workflow (Discovery → Design → Generate → Validate → Deploy) with your confirmation between phases.
The same SKILL.md runs identically across three AI tools — the only difference is where each tool looks for skills on disk.
| Skill | Solution stack | Example trigger | Format |
|---|---|---|---|
| unified-customer-profile-skill | Amazon Connect Customer Profiles + Entity Resolution + Bedrock | "Build me a unified customer profile system" | shared/ + thin SKILL.md |
| strands-agentcore-multi-agent-skill | Strands Agents + Bedrock AgentCore (Runtime · Gateway · Memory) + MCP servers + Knowledge Bases | "Build a Strands AgentCore multi-agent system" | shared/ + thin SKILL.md |
| graph-personalization-skill | Customer similarity graph (Neptune) + Bedrock explainable recommendations + Kinesis real-time | "Graph-based personalized recommendations" | shared/ + thin SKILL.md |
| data-platform-pipeline-skill | S3 (3-bucket) + Glue + Athena — source → queryable data | "Build a data pipeline" | Monolithic SKILL.md (~50 KB) |
| data-platform-consumption-skill | QuickSight + Amazon Quick chat agents — queryable data → BI | "Set up a QuickSight dashboard" | Monolithic SKILL.md (~60 KB) |
| db-migration-agent-skill | EC2/on-prem databases (MySQL · MariaDB · PostgreSQL · Oracle · SQL Server · Db2) → Aurora / RDS — assessment, method selection, CDK provisioning, client repointing, soak, rehearsed cutover, rollback | "Migrate my database to Aurora" | shared/ + thin SKILL.md |
| llm-gateway-governance-skill | LiteLLM gateway + Bedrock Guardrails + SSO/Cognito virtual keys + ECS Fargate + ALB edge (certMode: acm/http, SG CIDR-restricted) | "Build an LLM gateway to govern Bedrock" | shared/ + thin SKILL.md |
Two authoring styles coexist (both produce md5-identical
SKILL.mdacross all three tools):
shared/+ thinSKILL.md— deep knowledge lives inshared/;SKILL.mdis a thin wrapper. (unified-customer-profile, strands-agentcore, graph-personalization, llm-gateway-governance)- Monolithic
SKILL.md— everything self-contained in one ~50–60 KB file. (the two data-platform skills)See CONTRIBUTING.md for when to choose which.
Every skill ships the same SKILL.md in three locations — one per supported tool. The three copies are byte-identical (CI verifies md5). Tools differ only in install location.
canonical SKILL.md (single source of truth)
│
┌────────────────────┼────────────────────┐
▼ ▼ ▼
Kiro Claude Code Codex
~/.kiro/skills/ ~/.claude/skills/ ~/.agents/skills/
│ │ │
└──────────── identical bytes ────────────┘
│
▼
Discovery → Design → Generate → Validate → Deploy (gated workflow)
│
▼
Tailored CDK + Lambda + frontend for your input
| Tool | Location in repo | Install path |
|---|---|---|
| Kiro | <skill>/kiro/skills/<name>/SKILL.md |
~/.kiro/skills/<name>/SKILL.md |
| Claude Code | <skill>/claude-code/skills/<name>/SKILL.md |
~/.claude/skills/<name>/SKILL.md |
| Codex | <skill>/codex/skills/<name>/SKILL.md |
~/.agents/skills/<name>/SKILL.md |
Install any skill into your tool of choice. Replace <skill> with a folder from the catalog and <name> with the skill name.
Kiro
mkdir -p ~/.kiro/skills
ln -sf "$(pwd)/<skill>/kiro/skills/<name>" ~/.kiro/skills/<name>
ln -sf "$(pwd)/<skill>/shared" ~/.kiro/skills/<name>/shared # only if the skill has shared/Claude Code
mkdir -p ~/.claude/skills
ln -sf "$(pwd)/<skill>/claude-code/skills/<name>" ~/.claude/skills/<name>
ln -sf "$(pwd)/<skill>/shared" ~/.claude/skills/<name>/shared # only if the skill has shared/Codex
mkdir -p ~/.agents/skills
ln -sf "$(pwd)/<skill>/codex/skills/<name>" ~/.agents/skills/<name>
ln -sf "$(pwd)/<skill>/shared" ~/.agents/skills/<name>/shared # only if the skill has shared/💡 On Windows or environments without symlink support, replace
ln -sfwithcp -r. The destination path is unchanged — it's where each tool natively looks for skills.
Once installed, start your tool and use a trigger phrase from the catalog (e.g. "Build an LLM gateway to govern Bedrock"). The skill takes over from there.
Style 1 — shared/ + thin SKILL.md (deep-knowledge skills):
<solution-name>-skill/
├── README.md ← skill overview
├── kiro/skills/<name>/SKILL.md ★ md5-identical to ↓
├── claude-code/skills/<name>/SKILL.md ★ canonical source (Anthropic Skills format)
├── codex/skills/<name>/SKILL.md ★ md5-identical to ↑
├── shared/ ← single source of deep knowledge
│ ├── reference/
│ ├── patterns/
│ └── examples/
└── evals/<scenario>.md ← (optional) verification scenarios
Style 2 — Monolithic SKILL.md (self-contained skills):
<solution-name>-skill/
├── README.md
├── kiro/skills/<name>/SKILL.md ★ md5-identical
├── claude-code/skills/<name>/SKILL.md ★ canonical source, ~50–60 KB self-contained
└── codex/skills/<name>/SKILL.md ★ md5-identical
Full specification: shared-spec/skill-structure.md.
| Path | Purpose |
|---|---|
sample-data/erp/ |
Cosmetics-manufacturer ERP fixture (~40K rows) — shared by both data-platform skills |
scripts/sync-skills.sh |
Syncs the canonical SKILL.md to all three tool directories + md5 verification |
shared-spec/ |
Authoring specs: skill structure, multi-agent format, shared-knowledge pattern |
template/ |
Starting point for a new skill |
- Edit the canonical
SKILL.md(pick one tool dir, e.g.<skill>/claude-code/skills/<name>/SKILL.md). - Sync to the other two tools:
scripts/sync-skills.sh <skill-dir>
- Verify md5 parity across all three copies in every skill:
scripts/sync-skills.sh verify
Start from template/ and read CONTRIBUTING.md. A new skill must satisfy:
- The standard directory layout —
shared-spec/skill-structure.md - The
SKILL.mdformat —shared-spec/multi-agent-format.md - (If using
shared/style) all real knowledge inshared/, withSKILL.mdas a thin wrapper —shared-spec/shared-knowledge-pattern.md - md5-identical
SKILL.mdacross all three tool directories - (Recommended) at least one evaluation scenario under
evals/
Skills call Model Context Protocol (MCP) servers at runtime to verify volatile facts instead of hard-coding them.
| MCP server | Purpose | Required? |
|---|---|---|
| AWS Knowledge MCP | Service docs, regional availability, model IDs | Recommended (real-time verification) |
| CloudFormation MCP | Stack validation and deployment | Optional |
| Bedrock MCP | AI feature smoke-testing | Optional |
- One SKILL.md, three tools — the Anthropic Agent Skills standard is the lowest common denominator; per-tool format variation is needless drift surface.
- Shared knowledge —
shared/lets reference, patterns, and examples be written once and referenced from a thinSKILL.md. - Gate pattern — Discovery → Design → Generate → Validate → Deploy, with user confirmation between phases.
- MCP-first — never hard-code volatile catalogs (model IDs, region availability); verify via MCP at runtime.
- Golden examples — patterns are extracted from working reference projects, not idealized prose.
- No drift — the three
SKILL.mdcopies are byte-identical; CI enforces it.
Contributions are welcome. See CONTRIBUTING.md for guidelines, and CODE_OF_CONDUCT.md for community standards. To report a security issue, follow the AWS vulnerability reporting process — please do not open a public GitHub issue.
This project is licensed under the MIT-0 License (MIT No Attribution). See LICENSE for details.