Skip to content

feat: add Kiro CLI integration#121

Open
kienbui1995 wants to merge 1 commit intomsitarzewski:mainfrom
kienbui1995:feat/add-kiro-cli-integration
Open

feat: add Kiro CLI integration#121
kienbui1995 wants to merge 1 commit intomsitarzewski:mainfrom
kienbui1995:feat/add-kiro-cli-integration

Conversation

@kienbui1995
Copy link
Copy Markdown
Contributor

What does this PR do?

Add Kiro CLI integration — converts all Agency agents into Kiro CLI skill
files (SKILL.md) and installs them to ~/.kiro/skills/.

Motivation

Kiro CLI (https://kiro.dev/cli/) supports custom skills via ~/.kiro/skills/<name>/SKILL.md.
This PR adds first-class support so users can install all Agency agents
with a single command: ./scripts/install.sh --tool kiro

Changes

  • scripts/convert.sh — add convert_kiro() (SKILL.md per agent)
  • scripts/install.sh — add detect_kiro(), install_kiro(), interactive UI entry
  • integrations/kiro/README.md — tool-specific docs
  • integrations/README.md — add Kiro CLI section
  • README.md — add Kiro CLI to Supported Tools + Quick Start + details block
  • .gitignore — exclude generated integrations/kiro/skills/

Testing

  • ./scripts/convert.sh --tool kiro → 112 agents converted
  • ./scripts/install.sh --tool kiro → 112 skills installed to ~/.kiro/skills/
  • Generated SKILL.md format verified against existing Kiro skills
  • shellcheck: 0 new warnings
  • bash syntax check: OK on both scripts

Checklist

  • Follows existing integration patterns (matches antigravity/gemini-cli style)
  • Tested in real scenarios
  • Proofread and formatted correctly

@msitarzewski
Copy link
Copy Markdown
Owner

Thanks for the clean integration — this follows our existing patterns perfectly and we're ready to merge it.

There are some merge conflicts from other PRs that just landed (mostly .gitignore and README updates). Could you rebase on main to resolve? Should be straightforward. Once that's done we'll merge right away!

@kienbui1995 kienbui1995 force-pushed the feat/add-kiro-cli-integration branch from 183d12d to 812ed48 Compare March 12, 2026 02:02
@kienbui1995
Copy link
Copy Markdown
Contributor Author

@msitarzewski I have just resolved it. Please check more

@msitarzewski
Copy link
Copy Markdown
Owner

Hey @kienbui1995 — looks like there are still merge conflicts (more PRs landed since your last rebase, including Qwen and the cowork label in install.sh). Could you rebase onto current main one more time? The code itself looks great, just need a clean merge. Thanks!

@gbpnkans
Copy link
Copy Markdown

Hi @kienbui1995 — here's exactly what needs to change to resolve the conflicts with the qwen PR that landed since your last rebase. All conflicts follow the same pattern (both qwen and kiro belong together):

scripts/install.sh — add kiro alongside qwen in 7 places:

  • Comment header: add # kiro -- Copy skills to ~/.kiro/skills/ after the qwen line
  • ALL_TOOLS array: (... qwen kiro)
  • detect_kiro() function: keep both detect_qwen and detect_kiro
  • is_detected case: add kiro) detect_kiro ;; after qwen)
  • tool_label case: add kiro) printf "%-14s %s" "Kiro CLI" "(~/.kiro/skills)" ;; after qwen)
  • install_kiro() function: keep both install_qwen and install_kiro as separate functions
  • install_tool case: add kiro) install_kiro ;; after qwen)

scripts/convert.sh — add kiro alongside qwen in 5 places:

  • Comment header: add # kiro — Kiro CLI skill files (~/.kiro/skills/) after qwen
  • convert_kiro() function: keep both convert_qwen and convert_kiro as separate functions
  • Per-file case: add kiro) convert_kiro "$file" ;; after qwen)
  • valid_tools array: ("... qwen" "kiro" "all")
  • tools_to_run array: ("... openclaw" "qwen" "kiro")

README.md — keep both <details> blocks (Qwen Code and Kiro CLI) and both bullets in the Supported Tools list.

integrations/README.md — add ./scripts/install.sh --tool kiro alongside the other install lines (keep the gemini-cli convert+install lines too).

The resolved branch is at https://github.com/gbpnkans/agency-agents/tree/feat/add-kiro-cli-integration if you want to compare or cherry-pick the resolution. Thanks!

@kienbui1995 kienbui1995 force-pushed the feat/add-kiro-cli-integration branch from 812ed48 to 57c2dac Compare March 15, 2026 21:06
@kienbui1995
Copy link
Copy Markdown
Contributor Author

@msitarzewski Rebased on latest main — all conflicts resolved (including qwen, cowork, academic, parallel scripts changes). Ready to merge!

Thanks @gbpnkans for the detailed conflict resolution guide!

@mhc222
Copy link
Copy Markdown

mhc222 commented Mar 30, 2026

Code Review

PR: feat: add Kiro CLI integration

The implementation follows the established integration patterns well (antigravity/gemini-cli/qwen style). The convert and install functions are clean and the gitignore, README, and integrations/README.md updates are all consistent and well-documented.


Important — lint-agents.sh and .github/workflows/lint.yml not updated

Per the project's integration pattern, any script that adds a new tool to convert.sh and install.sh should also be checked against scripts/lint-agents.sh and .github/workflows/lint.yml. While Kiro is an output-format integration (not a new agent directory), the lint.yml workflow's TOOL or agent directory array should be reviewed to confirm no coverage gap is introduced.

More concretely: the PR adds kiro to ALL_TOOLS in install.sh and to valid_tools/tools_to_run in convert.sh, but there is no corresponding update to any lint or CI file. If those files have a hardcoded tool list (e.g., for smoke-testing conversions), Kiro would be silently excluded from CI checks.

Recommended action: Check scripts/lint-agents.sh and .github/workflows/lint.yml for hardcoded tool lists and add kiro where appropriate.


Minor — detect_kiro uses kiro-cli command name

detect_kiro() { command -v kiro-cli >/dev/null 2>&1 || [[ -d "${HOME}/.kiro" ]]; }

The Kiro CLI binary may be installed as kiro rather than kiro-cli depending on the installation method. Consider checking both:

detect_kiro() { command -v kiro >/dev/null 2>&1 || command -v kiro-cli >/dev/null 2>&1 || [[ -d "${HOME}/.kiro" ]]; }

The [[ -d "${HOME}/.kiro" ]] fallback already handles the common case, so this is low-severity, but the binary name inconsistency is worth addressing.


Minor — install_kiro uses find instead of a glob loop

The other install functions use shell glob patterns or find in a consistent way. The find ... -print0 | while ... -d '' pattern is correct and portable, but it differs slightly from the pattern used by install_qwen and similar functions. This is a minor style note with no functional impact.


Everything else looks good: the SKILL.md format is correct, the agency- prefix for namespacing is a smart choice, the README and integrations docs are clear, and the gitignore entry is appropriate.

Add first-class Kiro CLI support so users can install all Agency agents
as skills with: ./scripts/install.sh --tool kiro

Changes:
- scripts/convert.sh: add convert_kiro() (SKILL.md per agent)
- scripts/install.sh: add detect_kiro() (checks kiro + kiro-cli), install_kiro()
- integrations/kiro/README.md: tool-specific docs
- integrations/README.md: add Kiro CLI section
- README.md: add Kiro CLI to Supported Tools, Quick Start, details block
- .gitignore: exclude generated integrations/kiro/skills/

Tested: 162 agents converted and installed successfully.
@kienbui1995 kienbui1995 force-pushed the feat/add-kiro-cli-integration branch from 57c2dac to 2210e0a Compare March 30, 2026 17:36
@kienbui1995
Copy link
Copy Markdown
Contributor Author

Rebased on latest main and addressed @mhc222's review:

  • detect_kiro() now checks both kiro and kiro-cli binary names (plus ~/.kiro fallback)
  • lint/CI: checked lint-agents.sh and lint.yml — they operate on agent .md files by division directory, not by tool name, so no update needed for output-format integrations like Kiro
  • Tested: 162 agents converted and installed successfully

@msitarzewski This PR has been rebased 3 times now — would appreciate an early merge before main diverges again. Thanks!

@msitarzewski
Copy link
Copy Markdown
Owner

Hey @kienbui1995 — we've closed the competing Kiro CLI PR (#222) in favor of yours. You've put in the most work here with multiple rounds of review and rebasing.

Unfortunately the scripts have changed again since your last rebase (finance division added, directory lists reorganized). Could you do one more rebase against current main? Once clean, we'll merge immediately.

Appreciate your persistence on this one!

@nielskiev
Copy link
Copy Markdown

following :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants