feat: add ZCode (Z.AI) integration#3063
Merged
Merged
Conversation
Add a skills-based integration for ZCode, Z.AI's Claude-Code-style agent. ZCode uses the same SKILL.md layout as Claude Code, so spec-kit installs workflows into .zcode/skills/speckit-<name>/SKILL.md, invoked in chat as $speckit-<name>. - ZcodeIntegration(SkillsIntegration) with .zcode/ folder and --skills option - Register in INTEGRATION_REGISTRY - Catalog entry (tags: cli, skills, z-ai) - Tests via SkillsIntegrationTests mixin - Document in integrations reference and README Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new built-in ZCode (Z.AI) skills-based integration to the Specify CLI, aiming to scaffold Spec Kit workflows into ZCode’s .zcode/skills/ layout and document how to invoke them.
Changes:
- Introduces
ZcodeIntegration(SkillsIntegration) with.zcode/skillsoutput +ZCODE.mdcontext file. - Registers the integration and adds it to the integrations catalog.
- Adds minimal integration scaffolding tests and updates docs/README to list ZCode as supported.
Show a summary per file
| File | Description |
|---|---|
src/specify_cli/integrations/zcode/__init__.py |
New SkillsIntegration subclass for ZCode with .zcode/ folder and skills output configuration. |
src/specify_cli/integrations/__init__.py |
Registers ZcodeIntegration() in the built-in integration registry. |
integrations/catalog.json |
Adds the zcode entry to the published integration catalog. |
tests/integrations/test_integration_zcode.py |
Adds a SkillsIntegrationTests-mixin based test class for the new integration. |
docs/reference/integrations.md |
Documents ZCode as a supported agent and describes its skills layout/invocation. |
README.md |
Updates the “agent tools installed” list to include ZCode. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 6/6 changed files
- Comments generated: 3
mnriem
requested changes
Jun 19, 2026
mnriem
left a comment
Collaborator
There was a problem hiding this comment.
Please address Copilot feedback
5 tasks
ZCode is documented as a skills agent invoked with $speckit-<command>, but the central invocation rendering only special-cased codex, so specify init Next Steps and extension hooks rendered the dotted /speckit.<command> form instead. Centralize the $speckit-* decision in a DOLLAR_SKILLS_AGENTS set with an is_dollar_skills_agent() helper, and route both init Next Steps and HookExecutor._render_hook_invocation through it. Add ZCode invocation regression tests mirroring the existing Codex/Kimi coverage. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Collaborator
|
Please address Copilot feedback |
…egration # Conflicts: # src/specify_cli/extensions.py
mnriem
approved these changes
Jun 22, 2026
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.
Closes #2975
Summary
Adds a skills-based integration for ZCode (Z.AI), a Claude-Code-style coding agent. ZCode uses the same
SKILL.mdskill layout as Claude Code, and Z.AI's own docs recommend Skills (over simple/commands) for template- and script-driven workflows — which is exactly what spec-kit is.Spec-kit workflows install into
.zcode/skills/speckit-<name>/SKILL.mdand are invoked in chat as$speckit-<name>.Changes
src/specify_cli/integrations/zcode/__init__.py— newZcodeIntegration(SkillsIntegration): folder.zcode/, skills dir.zcode/skills,context_file="ZCODE.md",requires_cli=True(keyzcodematches the CLI executable), and a--skillsoption.src/specify_cli/integrations/__init__.py— registered import +_register(ZcodeIntegration())(alphabetical).integrations/catalog.json— catalog entry, tags["cli", "skills", "z-ai"].tests/integrations/test_integration_zcode.py—SkillsIntegrationTestsmixin (29 tests).docs/reference/integrations.md+README.md— documentation.Modeled directly on the existing Claude/Kimi skills integrations. Two low-risk defaults: context file
ZCODE.md(consistent with the per-tool pattern; zcode docs don't pin one down) and minimal skill frontmatter (name,description) per zcode's documented format.Testing
uv run pytest tests/integrations/test_integration_zcode.py→ 29 passedtests/test_extensions.py::TestCatalogStack::test_default_stackis pre-existing onmainand unrelated to this change.Manual test results
Agent: ZCode (via
specify init) | OS/Shell: Linux/bashspecify init --integration zcode.zcode/skills/speckit-*/SKILL.mdwith correctname/descriptionfrontmatter matching zcode's documented format.AI assistance disclosure
This contribution was developed with AI assistance. The integration was researched against the zcode docs, implemented by mirroring existing skills-based integrations, and verified by me with the automated tests and the
specify initsmoke test above.