Skip to content

Release Notes: v0.10.0

Release Date: 2026-02-21

Highlights

This release introduces self-directed team support (crew, swarm, council workflows), the validate command for pre-generation validation, single-source prefix configuration for Kiro, and team DAG validation.

New Features

Self-Directed Teams

Full support for self-directed workflows from multi-agent-spec v0.7.0:

Workflow Pattern Use Case
crew Lead → Specialists Manager delegates to experts
swarm Shared queue Self-organizing agents
council Peer debate Consensus voting

SelfDirectedTeam Wrapper

import "github.com/plexusone/assistantkit/teams/core"

// Load from multi-agent-spec definitions
team, agents := core.FromMultiAgentSpec(masTeam, agentDefs)

// Check workflow type
if team.IsSelfDirected() {
    fmt.Println("Workflow:", team.WorkflowType())
}

// Get crew members
lead := team.Lead()
specialists := team.Specialists()

Claude Code Adapter

Generate Claude Code agent files with role, goal, and backstory:

import "github.com/plexusone/assistantkit/teams/claude"

adapter := claude.NewAdapter()
files, err := adapter.Convert(selfDirectedTeam)
// files["architect.md"] = "---\nrole: Lead Architect\n..."
// files["teammates.json"] = '["frontend", "backend"]'

Generated markdown includes:

---
role: Security Analyst
goal: Find vulnerabilities and security issues
model: sonnet
tools: ["Read", "Grep", "Bash"]
---

## Backstory

You are an experienced security analyst with expertise in...

Teams Generation

import "github.com/plexusone/assistantkit/generate"

result, err := generate.Teams(generate.TeamsOptions{
    SpecsDir: "specs",
    Output:   ".claude/agents",
    Platform: "claude-code",
})

Validate Command

The new validate command performs static validation on specs directories before generation:

assistantkit validate --specs=specs

=== AssistantKit Validator ===
Specs directory: /path/to/specs

 plugin.json    my-team v1.0.0
 agents         6 agents
 skills         4 skills
 commands       2 commands
 skill-refs     8 references resolve
 teams          1 teams, 6 steps, 4 phases
 deployments    1 deployments, 2 targets

 Validation passed (6 agents, 4 skills, 2 commands)

Checks performed:

  • plugin.json — required fields present, valid JSON
  • agents — valid YAML frontmatter with required fields
  • skills — valid skill definitions
  • commands — valid command definitions
  • skill-refs — agent skill references resolve to existing skills
  • teams — DAG acyclicity, agent references, input from references
  • deployments — valid platforms, no output path conflicts

Generate + Validate Integration

The generate command now runs validation automatically before generation:

assistantkit generate --specs=specs

=== AssistantKit Generator ===
Specs directory: /path/to/specs
Target: local
Output directory: .

Validating specs...
 Validation passed (6 agents, 4 skills, 2 commands)

Team: my-team
Loaded: 2 commands, 4 skills, 6 agents

Generated targets:
  - local-kiro: plugins/kiro
  - local-claude: .claude/agents

Done!

Use --skip-validate to bypass validation if needed:

assistantkit generate --specs=specs --skip-validate

Single-Source Prefix for Kiro

The prefix for Kiro agents and steering files is now defined once in the deployment config and applied everywhere during generation.

Before (prefix in multiple places)

# agents/pm.md - had to include prefix in name
---
name: cext_pm  # Prefix here
---
// team - referenced without prefix
{ "agent": "pm" }  // Mismatch!

After (prefix in ONE place)

# agents/pm.md - use canonical short name
---
name: pm
---
// deployment config - prefix defined once
{
  "kiroCli": {
    "prefix": "cext_"
  }
}

The prefix is applied to:

  • Agent JSON filenames: cext_pm.json
  • Agent name field: "name": "cext_pm"
  • Steering filenames: cext_use-case-analysis.md
  • README examples: kiro-cli chat --agent cext_pm

This enables multiple teams (cext_, prd_, rel_) to share a single Kiro agents directory without naming conflicts.

Team DAG Validation

The validator now checks team workflow definitions:

  • DAG acyclicity — detects circular dependencies in depends_on
  • Agent references — verifies each step's agent exists in agents/
  • Input references — validates from fields use correct step.output format
  • Phase counting — reports parallel execution phases from topological sort

Kiro CLI Documentation

Generated Kiro READMEs now include:

  • Usage examples with correct prefixed agent names
  • Coordinator detection showing team-wide invocation
  • Installation section for kiro-cli setup

API Changes

New Packages

  • teams/core — Self-directed team wrapper with workflow helpers
  • teams/claude — Claude Code adapter for self-directed teams

New Functions

  • teams/core.NewSelfDirectedTeam(team, agents) — Create self-directed team wrapper
  • teams/core.FromMultiAgentSpec(team, agents) — Convert from multi-agent-spec types
  • teams/claude.NewAdapter() — Create Claude Code adapter
  • generate.Teams(opts) — Generate platform-specific team files
  • generate.Validate(specsDir) — Returns ValidateResult with checks, errors, warnings, and stats
  • convertToKiroAgentWithName(agent, name) — Creates KiroAgent with specified name
  • buildKiroAgentsReadmeWithPrefix(plugin, agents, skills, prefix) — Generates prefixed README

Changed Types

  • KiroTargetConfig — Extended with PluginDir and Format fields
  • DeploymentTarget — Now includes KiroCli field for structured Kiro config

New CLI Flags

Command Flag Description
generate --skip-validate Skip validation before generation

Bug Fixes

  • Kiro steering file prefix — Prefix from deployment config now correctly applied to steering filenames
  • Kiro agent prefix — Prefix now applied to agent JSON filenames and name fields
  • Kiro tool mapping — Added mappings for execute_bash, fs_read, fs_write

Dependencies

  • multi-agent-spec/sdk/go v0.5.0 → v0.7.0 (self-directed workflow support)
  • gogithub v0.8.0 → v0.9.1

Migration Guide

From v0.9.0

  1. Update Kiro deployment config to use structured kiroCli field:
{
  "targets": [
    {
      "name": "local-kiro",
      "platform": "kiro-cli",
      "output": "plugins/kiro",
      "kiroCli": {
        "prefix": "cext_"
      }
    }
  ]
}
  1. Remove prefixes from agent frontmatter — Use canonical short names:
# Before
name: cext_pm

# After
name: pm
  1. Update team references — Use short names (the prefix is applied during generation):
// Before
{ "agent": "cext/pm" }

// After
{ "agent": "pm" }

Installation

go get github.com/plexusone/assistantkit@v0.10.0

CLI Installation

go install github.com/plexusone/assistantkit/cmd/assistantkit@v0.10.0

Full Package List

Package Description
assistantkit Root package with version and supported tools
bundle Unified bundle generation
generate Plugin and deployment generation library (enhanced with validation and teams)
requirements CLI dependency checking with HITL prompts
powers Kiro IDE power generation
mcp MCP server configuration
hooks AI assistant lifecycle hooks
context Project context management
agents Agent definitions
commands Slash commands
plugins Plugin manifests
skills Reusable skills
teams Multi-agent orchestration (re-exports teams/core types)
teams/core Self-directed team wrapper with workflow helpers
teams/claude Claude Code adapter for self-directed teams
validation Configuration validators
publish Marketplace publishing