Skip to content

NinjaTech-AI/agent-team-logo-creator

Repository files navigation

Agent Team Logo Creator

Agent Team

A multi-agent AI system for creating team logos, powered by collaborative AI agents communicating via Slack.

The Agent Team Logo Creator is a collaborative multi-agent system designed to transform the creative process of logo development into an orchestrated, intelligent workflow. The system comprises four specialized AI agents, each embodying a distinct role within a traditional design team: Nova serves as the Project Manager, coordinating tasks and ensuring alignment with client requirements; Pixel brings creative vision as the UX Designer, crafting visual concepts and iterating on aesthetic direction; Bolt operates as the Developer, translating designs into technical implementations and managing the codebase; and Scout functions as the Quality Assurance specialist, rigorously testing outputs and validating that deliverables meet established standards. These agents communicate through a shared Slack workspace, mimicking the natural collaboration patterns of human teams while leveraging the speed and consistency of AI-driven execution.

πŸ€– The Agent Team

Agent Role Responsibilities
Nova 🌟 Product Manager PRD interviews with Babak/Arash, GitHub issues/PRs, task coordination, code reviews
Pixel 🎨 UX Designer High-level UX designs as images, wireframes, visual mockups
Bolt ⚑ Full-Stack Developer Frontend & backend implementation, code commits
Scout πŸ” QA Engineer Testing, bug reports, quality assurance

πŸ‘€ Human Stakeholders

Babak and Arash - Product Owners

  • Provide product vision and requirements
  • Participate in PRD interviews with Nova
  • Review and approve key decisions
  • Available in #logo-creator Slack channel
  • All agents take orders from Babak or Arash

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                       ORCHESTRATOR                               β”‚
β”‚                    (orchestrator.py)                         β”‚
β”‚                                                                  β”‚
β”‚   Runs Claude Code 4 times per sync cycle, once per agent       β”‚
β”‚   Each agent's prompt is built from their spec MD file          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         TOOLS                                    β”‚
β”‚                                                                  β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
β”‚   β”‚slack_interface  β”‚  β”‚ Image Gen   β”‚  β”‚  Internet   β”‚         β”‚
β”‚   β”‚  (all agents)   β”‚  β”‚(Pixel only) β”‚  β”‚   Search    β”‚         β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     AGENT SPECS (Prompts)                        β”‚
β”‚                      agent-docs/*.md                             β”‚
β”‚                                                                  β”‚
β”‚   NOVA_SPEC.md β†’ PIXEL_SPEC.md β†’ BOLT_SPEC.md β†’ SCOUT_SPEC.md  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     SLACK CHANNEL                                β”‚
β”‚                    #logo-creator                                 β”‚
β”‚                                                                  β”‚
β”‚   All agents + Babak/Arash communicate here                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      MEMORY FILES                                β”‚
β”‚                       memory/*.md                                β”‚
β”‚                                                                  β”‚
β”‚   Each agent persists context between sessions                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”§ Tools

Agents have access to these tools:

Tool Available To Purpose
slack_interface.py All agents Communication in #logo-creator
Image Generation Pixel Create UI mockups, wireframes, designs
Internet Search All agents Research, documentation, best practices
GitHub CLI All agents Code commits, issues, PRs

Slack Interface

All agent communication uses the slack_interface.py CLI tool:

# First-time setup (required)
python slack_interface.py config --set-channel "#logo-creator"
python slack_interface.py config --set-agent nova

# Send messages as configured agent
python slack_interface.py say "Sprint planning at 2pm!"

# Read messages from the channel
python slack_interface.py read              # Last 50 messages
python slack_interface.py read -l 100       # Last 100 messages

# Upload files
python slack_interface.py upload design.png --title "New Design"

# Show configuration
python slack_interface.py config

See agent-docs/SLACK_INTERFACE.md for complete documentation.

πŸ”„ How It Works

Simple Orchestration

The orchestrator runs Claude Code 4 times per sync cycle:

  1. Nova (PM) - Reads spec from NOVA_SPEC.md, checks Slack, manages project
  2. Pixel (UX) - Reads spec from PIXEL_SPEC.md, creates designs
  3. Bolt (Dev) - Reads spec from BOLT_SPEC.md, writes code
  4. Scout (QA) - Reads spec from SCOUT_SPEC.md, tests and reports bugs

Each agent:

  • Gets their behavior/personality from their spec MD file
  • Reads their memory file for previous context
  • Communicates via Slack #logo-creator channel using slack_interface.py
  • Updates their memory file after work
  • Commits work to GitHub

PRD Creation Phase

Before development begins:

  1. Nova interviews Babak/Arash - Gathers requirements through structured questions in Slack
  2. Nova drafts PRD - Documents vision, features, and acceptance criteria
  3. Babak/Arash review & approve - PRD finalized before development begins

Hourly Sync Cycle

  1. Wake Up - Orchestrator triggers all agents
  2. Sync Meeting - Agents post status updates to #logo-creator
  3. Work Phase - Agents execute their tasks
  4. Commit & Document - Agents update memory and push to GitHub

πŸ“ Project Structure

agent-team-logo-creator/
β”œβ”€β”€ README.md
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ slack_interface.py       # Slack communication CLI tool
β”‚
β”œβ”€β”€ agent-docs/              # Agent specifications (prompts)
β”‚   β”œβ”€β”€ ARCHITECTURE.md
β”‚   β”œβ”€β”€ AGENT_PROTOCOL.md
β”‚   β”œβ”€β”€ ONBOARDING.md        # Agent onboarding guide
β”‚   β”œβ”€β”€ SLACK_INTERFACE.md   # Slack tool documentation
β”‚   β”œβ”€β”€ NOVA_SPEC.md         # Nova's behavior & personality
β”‚   β”œβ”€β”€ PIXEL_SPEC.md        # Pixel's behavior & personality
β”‚   β”œβ”€β”€ BOLT_SPEC.md         # Bolt's behavior & personality
β”‚   β”œβ”€β”€ SCOUT_SPEC.md        # Scout's behavior & personality
β”‚   └── PRD.md               # Product Requirements (created by Nova)
β”‚
β”œβ”€β”€ memory/                  # Agent memory files
β”‚   β”œβ”€β”€ nova_memory.md
β”‚   β”œβ”€β”€ pixel_memory.md
β”‚   β”œβ”€β”€ bolt_memory.md
β”‚   └── scout_memory.md
β”‚
β”œβ”€β”€ avatars/                 # Agent avatar images
β”‚   β”œβ”€β”€ nova.png
β”‚   β”œβ”€β”€ pixel.png
β”‚   β”œβ”€β”€ bolt.png
β”‚   └── scout.png
β”‚
β”œβ”€β”€ orchestrator.py          # Main orchestrator

πŸš€ Quick Start

Prerequisites

  • Python 3.11+
  • Claude Code CLI
  • GitHub CLI (gh)
  • Slack workspace with #logo-creator channel
  • Bot token with required scopes (channels:history, chat:write, etc.)

First-Time Setup: Onboarding

When an agent wakes up for the first time, follow the Onboarding Guide:

  1. Read your agent specification - Understand your role and responsibilities
  2. Configure Slack - Set default channel and agent identity
  3. Test capabilities - Verify all tools work
  4. Check memory - Read context from previous sessions

⚠️ IMPORTANT: Agents should never assume anything. If information is missing, use the ask tool to request clarification from the user.

See agent-docs/ONBOARDING.md for complete documentation.

Manual Setup

# Install dependencies
pip install -r requirements.txt

# Configure Slack (required before use)
python slack_interface.py config --set-channel "#logo-creator"
python slack_interface.py config --set-agent nova

# Test Slack connection
python slack_interface.py scopes
python slack_interface.py read

Usage

# Run all agents (Nova β†’ Pixel β†’ Bolt β†’ Scout)
python orchestrator.py

# Run a specific agent
python orchestrator.py --agent Nova
python orchestrator.py --agent Pixel --task "Create homepage wireframe"

# List available agents
python orchestrator.py --list

πŸ“„ License

MIT License - NinjaTech AI

About

agent team logo-creator app

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors