Skip to content

feat: add ZCode (Z.AI) integration#3063

Merged
mnriem merged 3 commits into
github:mainfrom
meymchen:feat/2975-zcode-integration
Jun 22, 2026
Merged

feat: add ZCode (Z.AI) integration#3063
mnriem merged 3 commits into
github:mainfrom
meymchen:feat/2975-zcode-integration

Conversation

@meymchen

Copy link
Copy Markdown
Contributor

Closes #2975

Summary

Adds a skills-based integration for ZCode (Z.AI), a Claude-Code-style coding agent. ZCode uses the same SKILL.md skill 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.md and are invoked in chat as $speckit-<name>.

Changes

  • src/specify_cli/integrations/zcode/__init__.py — new ZcodeIntegration(SkillsIntegration): folder .zcode/, skills dir .zcode/skills, context_file="ZCODE.md", requires_cli=True (key zcode matches the CLI executable), and a --skills option.
  • 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.pySkillsIntegrationTests mixin (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.py29 passed
  • Full integration suite passes; the single failure in tests/test_extensions.py::TestCatalogStack::test_default_stack is pre-existing on main and unrelated to this change.

Manual test results

Agent: ZCode (via specify init) | OS/Shell: Linux/bash

Command tested Notes
specify init --integration zcode Scaffolds all 11 skills under .zcode/skills/speckit-*/SKILL.md with correct name/description frontmatter 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 init smoke test above.

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>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/skills output + ZCODE.md context 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

Comment thread docs/reference/integrations.md
Comment thread src/specify_cli/integrations/zcode/__init__.py
Comment thread tests/integrations/test_integration_zcode.py

@mnriem mnriem left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please address Copilot feedback

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>
@meymchen meymchen requested a review from mnriem June 21, 2026 17:37
@mnriem mnriem requested a review from Copilot June 22, 2026 13:54

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 10/10 changed files
  • Comments generated: 4

Comment thread src/specify_cli/integrations/zcode/__init__.py
Comment thread src/specify_cli/integrations/zcode/__init__.py
Comment thread docs/reference/integrations.md
Comment thread tests/integrations/test_integration_zcode.py
@mnriem

mnriem commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Please address Copilot feedback

…egration

# Conflicts:
#	src/specify_cli/extensions.py

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 10/10 changed files
  • Comments generated: 0 new

@mnriem mnriem merged commit 6a3ee9b into github:main Jun 22, 2026
11 checks passed
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.

[Feature]: please integration ZCode

3 participants