Kiro Power Specification (POWER.md)
January 5, 2026 · View on GitHub
This document defines the required and optional fields for a Kiro Power POWER.md file.
The file uses YAML format.
File Location
Each power must include a POWER.md at the root of the power directory:
/power-name
├── POWER.md
├── steering.md
├── tools.yaml
├── hooks.yaml
└── tests/
Schema
meta (required)
name(string, required): Power identifier, kebab-case recommended.description(string, required): Short description of the power.version(string, required): Semver string.- Quote the value (e.g.
"0.1.0") to avoid YAML numeric coercion.
- Quote the value (e.g.
author(string, optional): Author or organization.license(string, optional): SPDX identifier.homepage(string, optional): URL to docs or repo.
triggers (optional)
phrases(string[], optional): Example user phrases that should activate the power.domains(string[], optional): Domain tags used for routing.files(string[], optional): File patterns that indicate relevance (e.g.infra/**).
Routing uses simple substring matches for phrases/domains and glob matches for files.
constraints (optional)
allowed_tools(string[], optional): Allowed tool patterns (e.g.filesystem.read).denied_tools(string[], optional): Explicitly denied tool patterns.sandbox_notes(string, optional): Execution environment notes.requires_network(boolean, optional): Whether network access is required.
resources (optional)
steering_files(string[], optional): Relative paths to steering files.tools_files(string[], optional): Relative paths to tool definition files.hooks_files(string[], optional): Relative paths to hook definition files.assets(string[], optional): Other bundled assets.
tests (optional)
tests_path(string, optional): Relative path to a test suite YAML.expected_behaviors(string[], optional): High-level behavior assertions.
Test cases use expected as substring assertions against the harness output.
compatibility (optional)
kiro_version(string, optional): Minimum Kiro version.platforms(string[], optional): Supported platforms (e.g.darwin,linux).
Example
meta:
name: stripe-payments
description: Build payment flows with Stripe.
version: 0.1.0
author: ExampleCo
license: MIT
homepage: https://example.com/stripe-power
triggers:
phrases:
- "stripe checkout"
- "billing and subscriptions"
domains:
- payments
- saas
files:
- "billing/**"
constraints:
allowed_tools:
- "filesystem.read"
- "filesystem.write"
denied_tools:
- "network.*"
requires_network: false
resources:
steering_files:
- "steering.md"
tools_files:
- "tools.yaml"
hooks_files:
- "hooks.yaml"
assets:
- "templates/checkout.md"
tests:
tests_path: "tests/tests.yaml"
expected_behaviors:
- "Creates a checkout flow using Stripe SDK"
compatibility:
kiro_version: ">=0.6"
platforms:
- darwin
- linux