feat(kiro): add Kiro MCP auto-discovery and skill install docs - #67
Open
ludwigehlert-gif wants to merge 1 commit into
Open
ludwigehlert-gif wants to merge 1 commit into
ludwigehlert-gif wants to merge 1 commit into
Conversation
ludwigehlert-gif
marked this pull request as ready for review
July 27, 2026 19:58
ludwigehlert-gif
force-pushed
the
feat/kiro-support
branch
2 times, most recently
from
September 15, 2026 06:42
cebc274 to
d11d0e6
Compare
Stacked on #91, which ships the portable Agent Plugins package. Kiro's IDE installs that package as a power, so this adds only what is Kiro-specific. - README: how to install the power, where Kiro puts it, and that Kiro CLI cannot install one. Record that Kiro passes only HOME, PATH, SHELL, TERM, USER and LOGNAME to an MCP subprocess, so shell exports of DKU_DSS_URL / DKU_API_KEY never reach the server and ~/.dataiku/config.json is the path that works. - plugin.json: add displayName so the Powers panel shows a real name, and narrow keywords to dataiku and cobuild — Kiro activates a power on keyword match, and mcp/agent are broad enough to trigger it on unrelated work. - Allow displayName in the manifest contract test; Kiro's loader accepts it.
ludwigehlert-gif
force-pushed
the
feat/kiro-support
branch
from
September 15, 2026 11:38
d11d0e6 to
94983f1
Compare
ludwigehlert-gif
changed the base branch from
main
to
agent/agent-plugins-standard
September 15, 2026 11:38
Open
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds the Kiro-specific layer on top of the portable Agent Plugins package. Kiro's IDE installs that package as a power, so this PR is documentation plus two manifest fields — no MCP or skill content changes.
### Kiroinstall section: how to install the power, where Kiro puts it, how credentials have to be supplied, and that Kiro CLI is not covered.plugin.json— adddisplayNameso the Powers panel shows a real name; narrowkeywordstodataikuandcobuild.tests/test_agent_plugins.py— allowdisplayNamein the manifest contract.Stacked on #91 (
agent/agent-plugins-standard), which ships the portable package itself. Review/merge that first.How Kiro installs it
Powers → Add Custom Power → Import power from GitHub (or from a local clone). Kiro copies the package to
~/.kiro/powers/dataiku-headless/, registers the MCP server internally, and loads the skills. There is no.kiro/settings/mcp.jsonin this PR — the power carries the server registration, so a separate workspace MCP config would be a second, competing install path.Kiro CLI cannot install a power, so it is explicitly out of scope here rather than half-documented.
Credentials: shell exports do not work
Kiro forwards only
HOME,PATH,SHELL,TERM,USER, andLOGNAMEto an MCP subprocess and drops everything else not named in the config'senvblock. ExportingDKU_DSS_URL/DKU_API_KEYin your shell therefore never reaches the server.The path that works is the normal setup flow, which writes
~/.dataiku/config.json; the server resolves that on its own. The README says so directly, because the failure mode otherwise is a silent "no instance configured" with a correct-looking environment.Why
keywordsshrankKiro activates a power on keyword match.
mcpandagentare broad enough to trigger this power on unrelated work, so the list is now justdataikuandcobuild.Verify
dataikuas connected.get_current_instancereturns the instance you configured.Verified in Kiro IDE
Power imported from GitHub; the Powers panel lists it under INSTALLED:
This is what
displayNamebuys: the panel renders Dataiku Headless, while theinstall notification still uses the manifest
name(dataiku-headless). Withoutthe field, the panel shows the slug.
Testing note: Kiro parses an import URL as
/tree/<branch>/<subdir>, so abranch name containing a slash is mis-split (
feat/kiro-support→ branchfeat,subdir
kiro-support). The import then reports success, adds a registry entrynamed after the URL tail, and installs nothing. Test from a slash-free branch.
Importing from
mainis unaffected.Test plan
uv run pytest tests/test_agent_plugins.py— manifest contract acceptsdisplayName🤖 Generated with Claude Code