Overview
The Action Skill is an AI agent skill that guides your coding agent through building an Alexa+ action add-on from your API. It handles:- Scaffolding — Creates the project structure via the Alexa AI CLI
- Feasibility Analysis — Analyzes your API against each SPI operation
- Code Generation — Implements operations using TDD (test-driven development)
- POI upload - Validates POI and allows you to upload either for testing or production use case
- Integration Testing — Validates your implementation against category-defined tests
Prerequisites
Before you begin, make sure you meet the prerequisites for the Category SDK. In addition, you need the following for the agentic workflow:- Alexa AI CLI: Installed and on PATH (
npm install -g @alexa-ai/cli) - git setup for CodeCommit: Update gitconfig to add codecommit helper. See AWS CodeCommit Setup.
- AI coding agent: Kiro, Claude Code, Cursor, or VS Code Copilot
- Your API spec: OpenAPI/Swagger YAML, API docs URL, or equivalent
Step 1: Clone the skills repository
The skills are hosted in a CodeCommit repository. Clone it:Step 2: Add the skills to your AI agent / IDE
The following sections describe how to add an agent skill to popular AI agents. Consult the documentation for the agent you are using for more details.Kiro
Option A: Import via Kiro IDE (recommended)
- Open Kiro IDE and open your project workspace
- Open the Skills panel (click the Skills icon in the sidebar)
- Click “Import Skill”
-
Enter the CodeCommit repository URL:
- Kiro detects the skills in the repository. Select all the skills detected from the repository
- Click Import to add them to your project
.kiro/skills/ directory and are automatically loaded by the agent.
Option B: Manual copy (Kiro CLI / terminal)
.kiro/skills/ directory.
Claude Code
Add the skills directory to your project configuration. In your project root, create or update.claude/settings.json:
Cursor
Place the skill files where Cursor’s agent can access them. Add to your.cursor/rules or project instructions:
VS Code Copilot
Add the skills as context files in your.github/copilot-instructions.md or reference them in your workspace:
Step 3: Start the development flow
Open a new chat session with your AI agent and say:“I want to create a new Alexa+ action add-on for the restaurant-reservation category.”or
“Help me create an Alexa+ action add-on”The agent (guided by the action skill) walks you through the entire flow.
Development workflow
The action skill orchestrates a structured, multi-phase workflow:Phase 1: Scaffolding
The agent collects:- Add-on name — Display name (max 30 characters)
- Category — e.g., restaurant-reservation
Phase 2: Operations implementation
For each SPI operation (e.g., GetAvailability, CreateReservation, and so on), the agent follows a strict pipeline:- Feasibility analysis — Analyzes your API endpoints, maps fields between SPI and your API, identifies gaps (auth, data, functional), and produces a detailed report.
- Approval gate — You review the feasibility report and approve or provide feedback.
- Implementation plan — Decomposes into tasks with acceptance criteria and identifies infrastructure dependencies.
- Implementation (TDD) — Stub → Red (failing tests) → Green (passing) → Refactor. One operation at a time.
- Integration testing — Regenerates test data from your API, runs category tests via
alexa-ai test, and commits on success.
- Provide your API spec — OpenAPI/Swagger YAML or docs URL
- Review feasibility reports — Approve or provide feedback per operation
- Provide API credentials — When integration tests need your API access
- Resolve gaps — Address any blocking issues the agent identifies
Phase 3: Full integration testing
Once all operations are implemented, the agent runs the complete test suite:Phase 4: Deploy
After all tests pass, tell the agent: “Deploy my add-on” The agent does the following:- Prompt you to authenticate via
alexa-ai configure(first time only) - Run
alexa-ai deploy
What you provide
Progress tracking
The agent maintains aprogress.json tracker at:
not_started— Not yet analyzedfeasibility_in_progress— Analysis underwayfeasibility_complete— Awaiting your approvalfeasibility_approved— You approved, implementation nextimplementation_in_progress— Code being writtenimplementation_complete— Code done, testing nextintegration_test_in_progress— Tests runningintegration_test_complete— Tests passedcompleted— Done, committednot_feasible— Operation cannot be implemented (acknowledged)
Resuming work
If you close your session and return later, just open a new chat. The agent:- Detects the existing project (via the interface folder)
- Reads
progress.jsonto determine where you left off - Continues from the exact point you stopped
Configuring account linking (optional)
If your API requires user-level OAuth credentials, tell the agent:“Configure account linking”The agent invokes the
alexaplus-addon-horizontals-skill to walk you through OAuth2 configuration.
Configuring permissions (optional)
If your operations need user PII (email, name, address, etc.):“Configure permissions”The agent guides you through scope selection and
addon.json configuration.
Deploying
After all tests pass, tell the agent:“Deploy my add-on”The agent prompts you to run
alexa-ai configure for authentication (only required at deploy time), then handles the full deploy cycle.
For subsequent deploys after code changes:
“Deploy my add-on”The agent handles auth recovery automatically if your session has expired.
POI data ingestion
All task-completion add-ons (Restaurant Reservation, Local Booking, Food Ordering) require POI (Point of Interest) data so customers can discover your businesses via Alexa search. Thealexaplus-addon-ingestion-skill handles the end-to-end ingestion workflow. For the accepted data format, see Point of Interest Catalog Schema.
When to use
After your add-on is deployed and you have POI data (restaurant locations, salon addresses, etc.) ready to upload for Alexa search and discovery.Starting the flow
Tell your agent:“Upload my POI data”or
“I need to ingest POI data for my add-on”The agent asks for:
- Data feed location — Path to your POI file(s) (CSV, JSON, JSONL, XLSX)
- Supported actions — What actions the POI supports (booking, delivery, or both)
- Data feed description (optional) — Brief summary of the data structure
Ingestion workflow
The ingestion skill orchestrates a 5-phase pipeline:- Schema mapping — Reads your data feed (first 500 records), determines the source schema, maps fields to the Alexa+ POI schema by semantic meaning, and presents a mapping table for your confirmation.
- Approval gate — You review the field mapping and approve or provide corrections.
- Transformer script generation — Generates a Python transformer (
transformer.py) that handles format detection, type coercions, and coordinates. Outputs JSON Lines (.jsonl) with timestamp naming and reports transformation metrics. - Run and validate — Executes the transformer against your full data feed, generates and runs
validate.pyagainst the output, checks required fields, types, patterns, and enums, and iterates until all records pass validation. - Upload test catalog — Creates a test catalog (one-time), associates the catalog with your add-on, uploads the validated JSONL file, monitors processing status, and guides Alexa+ Simulator testing.
- Upload production catalog — Creates a production catalog (one-time), uploads the full dataset (up to 25 GB). Production ingestion takes approximately one week.
Key CLI commands
Test vs production catalogs
Output files
Re-running for feed updates
Once generated, re-run the transformer for periodic data updates:Important notes
- Save your Catalog ID — There is no CLI command to retrieve it later.
- Save your Upload ID — Needed to poll processing status.
- Validation is all-or-nothing — If any record fails server-side validation, the entire file is rejected. Always run local validation first.
- Allowlisting required — Your account must be allowlisted for the Alexa+ add-on program. If uploads fail with permission errors, contact the Alexa BDSA team.

