kid-sid/claude-spellbook/agentex
Claude Code and agent skill by kid-sid/claude-spellbook
- community
Checking that the SKILL.md file is still in the repository.
Use when building, wiring, or debugging an Agentex agent — choosing agent type, configuring acp.py and manifest.yaml, using adk.messages or adk.state, or resolving Windows-specific setup issues.
Install
npx vskill@latest install kid-sid/claude-spellbook/agentexSKILL.md
Agentex Platform
Agentex is a platform for building and deploying intelligent agents. The repo has two main parts:
agentex/— FastAPI backend + Temporal workflows (runs in Docker)agentex-ui/— Next.js frontend (runs locally)
Agents are built with the agentex-sdk CLI and run as separate processes that register with the backend.
When to Activate
- Choosing between sync, async, or Temporal agent type for a new agent
- Wiring
acp.py,manifest.yaml, orrun_worker.pyfor a new agent - Using
adk.messages,adk.state, oradk.providersin an activity or workflow - Debugging ACP protocol issues or agent registration failures
- Understanding the backend DDD layer boundaries or exception mapping
- Windows-specific setup issues (
uv sync, port conflicts,.envloading)
Agent Types
Sync ACP
One message in, one response out. Stateless.
Use when: FAQ bots, translation, data lookups, single-turn interactions.
Async ACP (base)
Task lifecycle with persistent state across multiple turns.
Key difference from sync: responses are pushed via adk.messages.create, not returned. State is persisted via adk.state.create / get_by_task_and_agent / update.
Use when: multi-turn conversations, stateful workflows, streaming LLM responses. Warning: race conditions if parallel events arrive — use Temporal for production.
Async ACP + Temporal
Same as Async but every step is a durable Temporal workflow. Survives crashes and restarts.
Use when: production agents, long-running tasks, human-in-the-loop, complex multi-step tool chains.
ACP State Pattern (Async)
Sending Messages (Async)
manifest.yaml Structure
Backend Architecture
Layer rules:
- Domain layer has zero framework imports
- API layer → use cases → domain ← adapters
- ORM ↔ domain conversion via explicit converter functions — never skip layers
Exceptions:
ClientError→ 400,ServiceError→ 500,ItemDoesNotExist→ 404
Windows-Specific Gotchas
| Problem | Fix | |
|---|---|---|
uv sync fails: platform not compatible | Add "sys_platform == 'win32'" to environments in root pyproject.toml, then uv lock | |
load_dotenv(override=True) clobbers Docker env vars | Change to override=False in environment_variables.py | |
| Local PostgreSQL on port 5432 blocks Docker | Change Docker postgres port to 5434:5432 in docker-compose.yml | |
agentex init Unicode error | Set $env:PYTHONUTF8 = "1" before running | |
agentex init path has \n in it | Type short relative name (my-agent), not a full path | |
source .venv/bin/activate fails | Use .venv\Scripts\Activate.ps1 on Windows | |
Temporal worker connects to localhost inside Docker | Caused by .env overriding Docker network hostnames — needs override=False |
Ports
| Port | Service | |
|---|---|---|
| 3000 | Frontend UI | |
| 5003 | FastAPI backend (Swagger at /swagger) | |
| 5432 | Local PostgreSQL (if installed) | |
| 5434 | Docker agentex-postgres (remapped to avoid conflict) | |
| 5433 | Docker Temporal PostgreSQL | |
| 6379 | Redis | |
| 7233 | Temporal server | |
| 8080 | Temporal UI | |
| 8000+ | Agent ACP servers (one port per agent) | |
| 27017 | MongoDB |
Key Environment Variables (agentex/.env)
Running Tests
Red Flags
- Sync ACP for multi-turn conversations — sync agents receive one message and return one reply; they have no state, no turn history, and no mechanism to stream responses; use async ACP (or async + Temporal) for any stateful interaction
- Handler decorators in `acp.py` for a Temporal agent — Temporal agents route all ACP events through the workflow engine; registering
@acp.on_task_createdecorators inacp.pybypasses Temporal and runs handlers outside the durable execution context - Returning a response from an async handler instead of using `adk.messages.create` — async agent handlers are not expected to return a value; the return value is silently discarded and the user sees no reply; push responses explicitly via
adk.messages.create - Not following load → mutate → save with `adk.state` — reading state, mutating it in-memory, and then returning without saving means the next signal handler loads stale state; always call
adk.state.updateafter every mutation before returning - Omitting `get_all_activities()` in `run_worker.py` — ADK built-in activities (messages, state persistence, tracing) are registered via
get_all_activities(); omitting it means alladk.messages.createandadk.state.*calls fail at runtime with "activity not found" - Two agents sharing the same port in `manifest.yaml` — each ACP server process binds a port; running two agents with the same
local_development.agent.portcauses one to fail to start; increment the port for each agent (8000, 8001, 8002, …) - `load_dotenv(override=True)` when running inside Docker — overriding with the local
.envfile replaces Docker-injected environment variables such asDATABASE_URLandTEMPORAL_ADDRESSwith localhost values, breaking service discovery inside the container network
Checklist
- [ ]
acp_typechosen correctly inmanifest.yaml(sync / async / async + temporal) - [ ] Temporal agent
acp.pyhas onlyFastACP.create(acp_type="async", config=TemporalACPConfig(...))— no handler decorators - [ ]
adk.messages.createused to send responses (not returned from handlers) - [ ] State follows load → mutate → save pattern via
adk.state - [ ]
on_task_createends withawait workflow.wait_condition(lambda: self._done)for Temporal agents - [ ]
get_all_activities()included in worker alongside custom activities - [ ] Agent port in
manifest.yamlis unique across all running agents (8000, 8001, …) - [ ] Windows:
load_dotenv(override=False)to avoid clobbering Docker env vars - [ ] Domain exceptions (
ClientError,ServiceError,ItemDoesNotExist) used — notHTTPExceptionin use cases
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/agentex/skill.md
Popularity
- Repository stars
- 186
- Repository forks
- 15
- 7-day trend score
- 26
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/kid-sid/claude-spellbook/agentex)