Claude Agents CLI - Managing AI Agents for Swift Development

A Swift command-line tool for installing and managing specialized Claude Code agents. Install 29 built-in agents globally or per-project with a single command.

Claude Code supports specialized agents - markdown files that configure Claude with specific expertise, tools, and workflows. Managing these agents manually across projects is tedious. Claude Agents CLI solves this.

This Swift command-line tool installs, lists, and manages agent files. It ships with 29 specialized agents covering Swift development, documentation, testing, and CI/CD workflows.

What It Does

Agent Management

  • List available agents with descriptions and tool requirements
  • Install agents globally (~/.claude/agents/) or per-project (./.claude/agents/)
  • Uninstall agents from either location
  • Filter agents by tool usage

Installation Flexibility

# Install specific agents globally
claude-agents install swift-architect testing-specialist --global

# Install to local project
claude-agents install swift-architect --local

# Install all agents
claude-agents install --all --global

Built-in Agents

The CLI includes 29 agents:

Swift Development

  • swift-architect - Architecture patterns and Swift 6.0 concurrency
  • swift-developer - Feature implementation and iOS code
  • swift-modernizer - Legacy code migration to Swift 6.0
  • swiftui-specialist - SwiftUI development and best practices
  • xib-storyboard-specialist - UIKit XIB/Storyboard management

Backend & Infrastructure

  • hummingbird-developer - Swift Hummingbird server framework
  • swift-grpc-temporal-developer - gRPC and Temporal workflow
  • grdb-sqlite-specialist - GRDB database integration

Testing & Quality

  • testing-specialist - Swift Testing framework
  • swift-testing-xcode-specialist - Xcode integration for Swift Testing
  • crashlytics-analyzer - Firebase Crashlytics debugging

Documentation & Content

  • documentation-writer - Technical documentation and README files
  • documentation-verifier - Verify documentation accuracy
  • blog-content-writer - Technical blog posts
  • ghost-blogger - Ghost CMS integration
  • conference-specialist - Conference notes and summaries

DevOps & Tools

  • git-pr-specialist - Pull request creation and review
  • spm-specialist - Swift Package Manager
  • xcode-configuration-specialist - Xcode project setup
  • secrets-manager - Secure credential management
  • technical-debt-eliminator - Code quality improvements

Platform & Integration

  • kmm-specialist - Kotlin Multiplatform Mobile
  • firebase-ecosystem-analyzer - Firebase integration
  • timestory-builder - Temporal.io workflows

Presentation & Publishing

  • deckset-presenter - Deckset presentation creation
  • ghost-publisher - Blog publishing automation
  • agent-writer - Create new Claude agents

Full list at github.com/doozMen/claude-agents-cli.

Agent Structure

Agents are markdown files with YAML frontmatter:

---
name: swift-architect
description: Swift 6.0 architecture patterns and modern iOS development
tools: Read, Edit, Glob, Grep, Bash
model: sonnet
---

# Swift Architect Agent

Specialized in Swift 6.0 architecture...

Required Fields

  • name - Agent identifier (used for installation)
  • description - Brief description (60-100 characters)
  • tools - Comma-separated list of available tools

Optional Fields

  • model - Preferred model (e.g., "sonnet")

Technical Architecture

Built with Swift 6.0's strict concurrency features:

Actor Isolation All services (AgentParser, InstallService, GitService) are actors. This ensures thread-safe file operations and parsing without manual synchronization.

Sendable Conformance All models (Agent, InstallTarget, InstallResult) conform to Sendable. This enables safe passing across concurrency boundaries.

Async/Await Throughout Commands use AsyncParsableCommand from ArgumentParser. No completion handlers or callbacks.

Minimal Dependencies Only external dependency is ArgumentParser. YAML parsing is custom-built to avoid heavy dependencies.

Resource Embedding Agents are embedded in the binary via Bundle.module. No external file dependencies at runtime.

Installation

Requirements

  • macOS 13.0+
  • Swift 6.1+
  • Xcode 16.0+ (for building from source)

Install via Swift Package Manager

git clone https://github.com/doozMen/claude-agents-cli
cd claude-agents-cli
swift package experimental-install --product claude-agents

Add to PATH:

export PATH="$HOME/.swiftpm/bin:$PATH"

Verify Installation

claude-agents list

Usage Examples

List Available Agents

# Basic list
claude-agents list

# With descriptions
claude-agents list --verbose

# Filter by tool
claude-agents list --tool Bash

List Installed Agents

# Global installation
claude-agents list --installed

# Local (project-specific)
claude-agents list --installed --target local

Install Agents

# Install specific agents globally
claude-agents install swift-architect testing-specialist --global

# Install to current project
claude-agents install swift-developer --local

# Install all agents
claude-agents install --all --global

# Force overwrite
claude-agents install swift-architect --global --force

Uninstall Agents

# From global
claude-agents uninstall swift-architect

# From local
claude-agents uninstall swift-architect --target local

Why This Matters

Team Standardization Install the same agents across team members. Everyone uses consistent workflows.

Project-Specific Agents Use --local to install project-specific agents. These override global agents when present.

Discoverability List agents with --verbose to see descriptions. Filter by tool to find agents matching your workflow.

Version Control Commit .claude/agents/ to version control. New team members get agents automatically.

Adding Custom Agents

Create new agent files in Sources/claude-agents-cli/Resources/agents/:

cd claude-agents-cli
cat > Sources/claude-agents-cli/Resources/agents/my-agent.md << 'EOF'
---
name: my-agent
description: Custom agent for specific project needs
tools: Read, Edit, Bash
---

# My Custom Agent

Agent instructions...
EOF

# Rebuild and reinstall
swift package experimental-install --product claude-agents

The agent is now available via claude-agents install my-agent --global.

Roadmap

Planned Features

  • Git-based agent updates (pull from remote repositories)
  • Remote agent repositories (install agents from URLs)
  • Agent dependencies (agents can require other agents)
  • Version management (track agent versions)
  • Agent templates (scaffolding for new agents)
  • Bash completion scripts

Current Workaround for Updates

claude-agents install --all --force --global

Project Structure

claude-agents-cli/
├── Package.swift
└── Sources/claude-agents-cli/
    ├── Main.swift                    # @main entry point
    ├── Commands/                     # ArgumentParser commands
    │   ├── ListCommand.swift
    │   ├── InstallCommand.swift
    │   ├── UninstallCommand.swift
    │   ├── UpdateCommand.swift
    │   └── SharedTypes.swift
    ├── Models/                       # Sendable data models
    │   ├── Agent.swift
    │   ├── InstallTarget.swift
    │   ├── InstallResult.swift
    │   └── Errors.swift
    ├── Services/                     # Actor-based services
    │   ├── AgentParser.swift
    │   ├── InstallService.swift
    │   └── GitService.swift
    └── Resources/
        └── agents/                   # 29 embedded agents

Conclusion

Claude Agents CLI standardizes AI agent management across Swift projects. Install 29 specialized agents with a single command. Add custom agents for project-specific workflows. Built with Swift 6.0's modern concurrency features.

Source code and documentation: github.com/doozMen/claude-agents-cli

For developers new to Claude Code, see the Claude Code Best Practices Guide included in the repository.