.claude/skills/ts-ag2/SKILL.md
You are an expert in AG2 (formerly AutoGen), the open-source multi-agent conversation framework. You help developers build systems where multiple AI agents collaborate through structured conversations — with tool use, human-in-the-loop, code execution, group chat orchestration, and nested conversations — for complex tasks like software development, research, and data analysis.
npx skillsauth add eliferjunior/Claude ag2Install this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are an expert in AG2 (formerly AutoGen), the open-source multi-agent conversation framework. You help developers build systems where multiple AI agents collaborate through structured conversations — with tool use, human-in-the-loop, code execution, group chat orchestration, and nested conversations — for complex tasks like software development, research, and data analysis.
from autogen import ConversableAgent, UserProxyAgent
# AI assistant agent
assistant = ConversableAgent(
name="Engineer",
system_message="""You are a senior software engineer.
Write clean, tested Python code. Explain your design decisions.""",
llm_config={"model": "gpt-4o", "temperature": 0.2},
)
# Human proxy (can auto-approve or require human input)
user_proxy = UserProxyAgent(
name="User",
human_input_mode="NEVER", # NEVER / ALWAYS / TERMINATE
max_consecutive_auto_reply=10,
is_termination_msg=lambda msg: "TERMINATE" in msg.get("content", ""),
code_execution_config={
"work_dir": "workspace",
"use_docker": True, # Safe code execution in Docker
},
)
# Start conversation — agents talk until task is complete
result = user_proxy.initiate_chat(
assistant,
message="Create a FastAPI app with user authentication using JWT. Include tests.",
)
# Engineer writes code → User proxy executes → Engineer reviews output → iterates
from autogen import GroupChat, GroupChatManager
# Specialist agents
architect = ConversableAgent(
name="Architect",
system_message="You design system architecture. Focus on scalability, reliability, and clean interfaces.",
llm_config={"model": "gpt-4o"},
)
developer = ConversableAgent(
name="Developer",
system_message="You implement features based on the architect's design. Write production-quality code.",
llm_config={"model": "gpt-4o"},
)
reviewer = ConversableAgent(
name="Reviewer",
system_message="You review code for bugs, security issues, and best practices. Be thorough but constructive.",
llm_config={"model": "gpt-4o"},
)
tester = ConversableAgent(
name="Tester",
system_message="You write comprehensive tests. Cover edge cases and integration scenarios.",
llm_config={"model": "gpt-4o"},
)
# Group chat with round-robin or AI-selected speaker
group_chat = GroupChat(
agents=[user_proxy, architect, developer, reviewer, tester],
messages=[],
max_round=20,
speaker_selection_method="auto", # LLM picks next speaker based on context
)
manager = GroupChatManager(groupchat=group_chat, llm_config={"model": "gpt-4o"})
user_proxy.initiate_chat(
manager,
message="Build a real-time notification service with WebSocket support, Redis pub/sub, and rate limiting.",
)
# Architect designs → Developer implements → Reviewer catches issues → Developer fixes → Tester adds tests
from autogen import register_function
def search_codebase(query: str, file_pattern: str = "*.py") -> str:
"""Search the codebase for specific patterns.
Args:
query: Search query (regex supported)
file_pattern: File glob pattern to search in
"""
import subprocess
result = subprocess.run(["grep", "-rn", query, "--include", file_pattern, "."],
capture_output=True, text=True)
return result.stdout[:2000]
def run_tests(test_path: str = "tests/") -> str:
"""Run pytest on the specified test directory.
Args:
test_path: Path to test files or directory
"""
import subprocess
result = subprocess.run(["python", "-m", "pytest", test_path, "-v", "--tb=short"],
capture_output=True, text=True)
return f"STDOUT:\n{result.stdout}\nSTDERR:\n{result.stderr}"
# Register tools for specific agents
register_function(search_codebase, caller=developer, executor=user_proxy,
description="Search the codebase for code patterns")
register_function(run_tests, caller=tester, executor=user_proxy,
description="Run tests to verify code correctness")
pip install ag2 # Or: pip install pyautogen
auto for LLM-selected speakers in group chat; round_robin for predictable flowis_termination_msg and max_consecutive_auto_reply; prevent infinite loopsuse_docker: True for safe code execution; agents can run untrusted codeTERMINATE mode for approval on critical actions; NEVER for fully autonomousmax_round and max_consecutive_auto_reply; monitor token usage in group chatsdevelopment
Expert guidance for Fireworks AI, the platform for running open-source LLMs (Llama, Mixtral, Qwen, etc.) with enterprise-grade speed and reliability. Helps developers integrate Fireworks' inference API, fine-tune models, and deploy custom model endpoints with function calling and structured output support.
development
Convert any website into clean, structured data with Firecrawl — API-first web scraping service. Use when someone asks to "turn a website into markdown", "scrape website for LLM", "Firecrawl", "extract website content as clean text", "crawl and convert to structured data", or "scrape website for RAG". Covers single-page scraping, full-site crawling, structured extraction, and LLM-ready output.
tools
Expert guidance for Firebase, Google's platform for building and scaling web and mobile applications. Helps developers set up authentication, Firestore/Realtime Database, Cloud Functions, hosting, storage, and analytics using Firebase's SDK and CLI.
development
When the user needs to build file upload functionality for a web application. Use when the user mentions "file upload," "image upload," "upload endpoint," "multipart upload," "presigned URL," "S3 upload," "file validation," "upload to cloud storage," or "accept user files." Handles upload endpoints, file validation (type, size, magic bytes), cloud storage integration, and upload status tracking. For image/video processing after upload, see media-transcoder.