Skip to content
Agentmart
Submit a tool

skill-to-power

Convert a Kiro Skill directory into an equivalent Kiro Power directory.

Skill by salomao-santos

IndexedApache-2.0
Write a review

Chalk Labs

Need help deploying skill-to-power?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/salomao-santos-skill-to-power

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Convert a Kiro Skill directory into an equivalent Kiro Power directory. Use when user says "convert skill to power", "migrate skill to kiro", "skill to power", "create kiro power from skill", or provides a SKILL.md path and asks for Power output.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/skill-to-power

What's inside

Skill name
skill-to-power
Description
Convert a Kiro Skill directory into an equivalent Kiro Power directory. Use when user says "convert skill to power", "migrate skill to kiro", "skill to power", "create kiro power from skill", or provides a SKILL.md path and asks for Power output.
License
Apache-2.0
Instructions
156 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (33)

  • SKILL.md
  • SKILL.md · examples/input-skill/pptx-skill/
  • editing.md · examples/input-skill/pptx-skill/
  • pptxgenjs.md · examples/input-skill/pptx-skill/
  • pack.py · examples/input-skill/pptx-skill/scripts/office/
  • unpack.py · examples/input-skill/pptx-skill/scripts/office/
  • thumbnail.py · examples/input-skill/pptx-skill/scripts/
  • SKILL.md · examples/input-skill/python-skill/
  • style.md · examples/input-skill/python-skill/references/
  • check.sh · examples/input-skill/python-skill/scripts/
  • POWER.md · examples/output-kiro-power/pptx-power/
  • pack.py · examples/output-kiro-power/pptx-power/scripts/office/
  • unpack.py · examples/output-kiro-power/pptx-power/scripts/office/
  • thumbnail.py · examples/output-kiro-power/pptx-power/scripts/
  • creating-from-scratch.md · examples/output-kiro-power/pptx-power/steering/
  • design-ideas.md · examples/output-kiro-power/pptx-power/steering/
  • editing-workflow.md · examples/output-kiro-power/pptx-power/steering/
  • quick-reference.md · examples/output-kiro-power/pptx-power/steering/
  • reading-content.md · examples/output-kiro-power/pptx-power/steering/
  • POWER.md · examples/output-kiro-power/python-power/
  • auto-format.kiro.hook · examples/output-kiro-power/python-power/hooks/
  • check.sh · examples/output-kiro-power/python-power/scripts/
  • style.md · examples/output-kiro-power/python-power/steering/
  • workflow.md · examples/output-kiro-power/python-power/steering/
  • frontmatter-variants.md · references/
  • hook-trigger-heuristics.md · references/
  • mapping-rules.md · references/
  • extract-skill-meta.sh · scripts/
  • validate-power.sh · scripts/
  • POWER.md.template · templates/
  • hook.kiro.hook.template · templates/
  • mcp.json.template · templates/
  • steering.md.template · templates/

SKILL.md (first lines)

# skill-to-power

Meta-skill that ingests a Kiro Skill directory and emits a Kiro Power directory with valid `POWER.md`, split `steering/`, optional `hooks/`, optional `mcp.json`, and verbatim `scripts/`. Runs a validator at the end.

## Inputs

- `SOURCE_PATH` — absolute path to a Skill directory (the dir containing `SKILL.md`), or to a parent dir that contains multiple skills (one `SKILL.md` per subdirectory).
- `OUTPUT_PATH` *(optional)* — absolute path for the generated Power. Default: `<parent-of-SOURCE>/<skill-name>-power/`.

## Outputs

A Kiro Power directory:
```
<name>-power/
├── POWER.md                # required
├── steering/               # one or more workflow .md files
├── hooks/                  # optional, *.kiro.hook JSON files
├── mcp.json                # optional, MCP server config
├── scripts/                # optional, copied verbatim
└── examples/               # optional, copied verbatim
```

## Procedure

### 1. Locate source
- Verify `SOURCE_PATH/SKILL.md` exists. If `SOURCE_PATH` is a parent dir, list each child containing a `SKILL.md` and process each in a loop. Skip `.zip`-only inputs and tell the user to unzip first.
- Run `scripts/extract-skill-meta.sh "$SOURCE_PATH"` and capture the JSON output. Fields:
  ```json
  {
    "name": "...",
    "description": "...",
    "body_md": "...",
    "h2_sections": [{"title": "...", "slug": "...", "body": "..."}],
    "has_scripts": true,
    "has_agents": false,
    "has_examples": false,
    "has_references": false,
    "has_steering": false,
    "has_mcp_json": false,
    "has_claude_commands": false,
    "extra_frontmatter": {"triggers": "...", "aliases": [...], "hooks": {...}, "metadata": {...}, "license": "..."}
  }
  ```

### 2. Decide output path
Default `<parent>/<name>-power/`. If it exists, append `-2`, `-3`, etc. Confirm with user on collision.

### 3. Detect ambiguity signals
Scan source `description` + body for:
- Trigger phrases: `auto-trigger | whenever | each time | after every | on save | at start of conversation`
- MCP hints: `MCP | @mcp | mcpServers | server URLs`
- `>2` H2 sections → multi-file steering split
- `hooks:` block in source frontmatter → direct, no question
- `.mcp.json` in source → direct copy

### 4. Ask up to 3 yes/no clarifications — only if signals fire
Skip entirely when no signals. Otherwise ask:
- Hook signal: `"Source mentions <phrase>. Generate a Kiro hook (type: <inferred>)?"`
- MCP signal: `"Source mentions MCP. Generate mcp.json scaffold?"`
- Many H2 sections: `"Split body into N steering files (one per H2)?"`

### 5. Build POWER.md
Render `templates/POWER.md.template` with:
- `{{NAME}}` ← source `name` (kebab-case, lowercase)
- `{{DISPLAY_NAME}}` ← Title Case of name. If `aliases[0]` present, use it instead.
- `{{DESCRIPTION}}` ← source `description` with routing phrases stripped (`use when...`, `trigger:`, `whenever...`)
- `{{KEYWORDS_JSON_ARRAY}}` ← JSON array of 5–8 strings: top nouns/verbs from description + name tokens + `triggers` field split on commas. Preserve CJK characters.
- `{{AUTHOR}}` ← `extra_frontmatter.metadata.author` → else `git config user.name` → else `"Community"`
- `{{OVERVIEW}}` ← first paragraph of source body
- `{{STEERING_INDEX}}` ← bulleted list of generated steering files with one-line descriptions. **If no steering dir is created, omit the `## Steering Files` heading entirely.**
- `{{SCRIPTS_TABLE}}` ← markdown table of files in `scripts/` (script | platform | description). **If no scripts dir, omit the `## Scripts` heading entirely.**

> **Optional-dir rule:** `steering/`, `hooks/`, `scripts/`, `examples/`, and `mcp.json` are ALL OPTIONAL in a Kiro Power. The minimum valid Power is a single `POWER.md` file. Do not create empty dirs. Do not emit headings for absent sections.

### 6. Split body into steering/ (conditional)
**Skip this step entirely when:**
- Body has 0–2 H2 sections AND source has no `agents/`, `references/`, or pre-existing `steering/`. In that case keep the whole body inside `POWER.md` after the frontmatter.

**Otherwise:**
- Each H2 in source body → `steering/<slugified-h2-title>.md`. Body of that file = the H2 content (heading stripped).
- Source already has `steering/`? Copy those files first, then append H2 splits without overwriting.
- Preserve CJK and other UTF-8 verbatim.
- When steering is created, replace body H2 content in POWER.md with the `## Steering Files` index pointing at the new files.

### 7. Convert agents/ (if present, optional)
Each `agents/*.md` → `steering/agent-<name>.md` (creates `steering/` if not already). If a persona body contains "use proactively", "after every X", or similar, also queue a hook in step 8.

### 8. Generate hooks/
Only when step 3 fired, source frontmatter has `hooks:`, or user opted in. Mapping (see `references/hook-trigger-heuristics.md` for full table):

| Source signal | `when.type` | Notes |
|---|---|---|
| builders-style `hooks.PreToolUse[*].matcher` | `preToolUse` | Map `matcher` → tool filter |
| "before/after every commit" | `preToolUse` / `postToolUse` | Filter `shell`, match `git commit` |
| "on save" / "when file saved" | `fileSave` | Extract file patterns from body |
| "each prompt" / "auto-context" / "at start of conversation" | `promptSubmit` | Default `then.type: askAgent` |
| "after task" | `postTaskExecution` | — |
| "on demand" / "review my X" | `manual` | — |

Render `templates/hook.kiro.hook.template` per hook. Filename: `hooks/<slug>.kiro.hook`.

### 9. Copy scripts/ verbatim (optional)
Only if source has `scripts/`. `cp -R <source>/scripts/* <output>/scripts/`. Preserve executable bits. No transformation. If absent, do not create empty `scripts/` dir.

### 10. Copy references/ → steering/ (optional)
Only if source has `references/`. Kiro has no `references/`; merge into `steering/` with original filenames (creates `steering/` if needed). Do not overwrite existing steering files (prefix with `ref-` on collision).

### 11. mcp.json
- Source has `.mcp.json` → copy to `<output>/mcp.json` (drop leading dot)
- Else user confirmed in step 4 → render `templates/mcp.json.template`
- Else skip — do not create empty file

### 12. Handle .claude/commands/ (if present)
Each command file → `steering/command-<name>.md` with header note: `> Originally a Claude Code slash command. In Kiro, invoked via description routing rather than slash syntax.`

### 13. Validate
Run `scripts/validate-power.sh "$OUTPUT_PATH"`. Report pass/fail to user with any error lines verbatim.

### 14. Multi-skill repos

From salomao-santos/kiro-bridge-tools, Apache-2.0.

Signals

Stars
0
Forks
1
Open issues
1
Last commit (this folder)
May 29, 2026 (5 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from salomao-santos

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get skill-to-power running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying skill-to-power?

CallGet help
Cite this page

skill-to-power. Agent Mart. https://agentmart.dev/skills/salomao-santos-skill-to-power (last updated 2026-10-24)