Skip to content

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

Open
meymchen wants to merge 1 commit into
github:mainfrom
meymchen:feat/2975-zcode-integration
Open

feat: add ZCode (Z.AI) integration#3063
meymchen wants to merge 1 commit into
github:mainfrom
meymchen:feat/2975-zcode-integration

Conversation

@meymchen

Copy link
Copy Markdown

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 on lines 39 to 42
| [Trae](https://www.trae.ai/) | `trae` | Skills-based integration; skills are installed automatically |
| [Windsurf](https://windsurf.com/) | `windsurf` | |
| [ZCode](https://zcode.z.ai/) | `zcode` | Skills-based integration; installs skills into `.zcode/skills/` and invokes them as `$speckit-<command>` |
| [Zed](https://zed.dev/) | `zed` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `/speckit-<command>` |
Comment on lines +1 to +6
"""ZCode integration — skills-based agent (Z.AI).

ZCode uses the ``.zcode/skills/speckit-<name>/SKILL.md`` layout, matching
the Claude Code skill format. Skills are invoked in chat with
``$speckit-<name>``. Z.AI recommends skills (over simple ``/`` commands)
for template- and script-driven workflows such as spec-kit.
Comment on lines +1 to +11
"""Tests for ZcodeIntegration — skills-based integration (Z.AI)."""

from .test_integration_base_skills import SkillsIntegrationTests


class TestZcodeIntegration(SkillsIntegrationTests):
KEY = "zcode"
FOLDER = ".zcode/"
COMMANDS_SUBDIR = "skills"
REGISTRAR_DIR = ".zcode/skills"
CONTEXT_FILE = "ZCODE.md"

@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

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