Skip to content

Add developing-with-idfkit discovery skill + cross-client distribution#2

Merged
samuelduchesne merged 2 commits into
mainfrom
claude/idfkit-agentic-plugin-ZBhL6
May 27, 2026
Merged

Add developing-with-idfkit discovery skill + cross-client distribution#2
samuelduchesne merged 2 commits into
mainfrom
claude/idfkit-agentic-plugin-ZBhL6

Conversation

@samuelduchesne
Copy link
Copy Markdown
Contributor

Summary

Bridges the plugin to the version-matched agent references bundled in idfkit 0.13, and adds the distribution layer that makes the plugin installable across AI clients. Draws on Streamlit's agent-skills approach, adapted for a plugin (skills + MCP) rather than skills alone.

The architecture decision

References serve the "build software with idfkit" context (writing Python against the library), which is distinct from "interact with IDF models through the MCP" (tool-driven workflows). So reference docs are delivered via package discovery, not the MCP — library-authoring help works without spinning up the server, and the two surfaces stay cleanly separated. (The companion idfkit-mcp PR #73, which routed refs over MCP, is intentionally left unmerged as a result.)

The reference content itself lives inside the idfkit pip package (idfkit/.agents/skills/developing-with-idfkit/, confirmed shipping in 0.13.0 with 16 topic docs) — not duplicated here, so it never drifts and is always version-matched to the user's pinned idfkit.

Changes

New developing-with-idfkit skill

  • skills/developing-with-idfkit/SKILL.md — routing doc; instructs the agent to run discovery, then read the version-matched bundled SKILL.md/references/.
  • skills/developing-with-idfkit/scripts/discover.py — resolves the user's project interpreter ($VIRTUAL_ENV.venv../.venv → git-root .venv → conda → pipenv/poetry/pdm/uv → system), imports idfkit, and prints the bundled SKILL.md path; actionable ERROR: blocks with documented exit codes when idfkit is missing (1), too old (2), no interpreter (3), layout changed (4), or bad arg (5).

Distribution layer (the real gap)

  • README.md — cross-client install matrix: Claude Code full plugin (via marketplace), npx skills, Copilot, Cursor, Gemini, Codex, and raw MCP config.
  • .claude-plugin/marketplace.json — makes the repo self-installable as a Claude Code marketplace.
  • AGENTS.md (+ thin CLAUDE.md) — documents the discovery contract and the references-vs-tools boundary.
  • tests/discovery/test_discover.py — 12 stdlib (unittest) tests for the discovery contract.
  • .gitignore, plus LICENSE (MIT) with license declarations aligned across plugin.json, marketplace.json, and .codex-plugin/plugin.json to match idfkit-mcp.

The existing 9 workflow skills, agents, commands, and hooks are left untouched.

Test plan

  • discover.py validated against real installs: idfkit 0.13.0 → exit 0 (prints bundled SKILL.md), idfkit 0.12.2 → exit 2 (upgrade prompt), empty venv → exit 1 (install advice), bad --project-dir → exit 5.
  • python -m unittest tests.discovery.test_discover — 12 passed.
  • All JSON manifests parse; no Apache references remain after the MIT switch.
  • npx skills add idfkit/idfkit-plugin -s developing-with-idfkit -g resolves once the repo is on the default branch.
  • /plugin marketplace add idfkit/idfkit-plugin + /plugin install idfkit@idfkit in Claude Code.

Note: references only light up against idfkit >= 0.13; older installs fall back to docs.idfkit.com.

https://claude.ai/code/session_0121EsSJYijy1gbqZSJ1xFxv


Generated by Claude Code

claude added 2 commits May 27, 2026 00:31
Bridge the plugin to the version-matched agent references bundled in idfkit
0.13. The new developing-with-idfkit skill discovers the idfkit installed in
the user's project and loads its bundled SKILL.md/references — MCP-free, so
library-authoring help works without spinning up the server. References are
delivered via package discovery (Streamlit-style) rather than the MCP, keeping
the "write code with idfkit" and "interact with models via MCP" surfaces
separate.

Adds the distribution layer that makes the plugin installable across clients:
a self-installable Claude Code marketplace manifest, a README install matrix
(Claude plugin, npx skills, Copilot, Cursor, Gemini, Codex, raw MCP), AGENTS.md
documenting the discovery contract, and a stdlib regression test for discover.py.

https://claude.ai/code/session_0121EsSJYijy1gbqZSJ1xFxv
Match idfkit-mcp's MIT license across the family. Adds the LICENSE file and
switches the Apache-2.0 declarations in plugin.json, marketplace.json,
.codex-plugin/plugin.json, and README to MIT.

https://claude.ai/code/session_0121EsSJYijy1gbqZSJ1xFxv
@samuelduchesne samuelduchesne merged commit dc0a863 into main May 27, 2026
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.

2 participants