Skip to content
Back to skills

Developing Cast

ASecurity

Implements LangGraph cast components following systematic workflow (state, deps, nodes, conditions, graph). Use when implementing cast, building nodes/agents/tools, need LangGraph patterns (memory, retry, guardrails, vector stores), or ask "implement cast", "build graph", "add node".

  • 28 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 7, 2026
developmentgoshellbashnoderailstestingapi

Works with

  • api

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add Proact0/act-operator --skill developing-cast --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Developing Cast?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Developing Cast
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/proact0-developing-cast/badge)](https://www.skillsdirectory.com/skills/proact0-developing-cast)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: developing-cast
description: Implements LangGraph cast components following systematic workflow (state, deps, nodes, conditions, graph). Use when implementing cast, building nodes/agents/tools, need LangGraph patterns (memory, retry, guardrails, vector stores), or ask "implement cast", "build graph", "add node".
---
# Developing {{ cookiecutter.act_name }}'s Cast

Implement LangGraph casts following {{ cookiecutter.act_name }} Act patterns.

## When to Use

- Building nodes, agents, tools, or graphs
- Need LangGraph implementation patterns
- Have architecture specs to implement

## When NOT to Use

- Architecture design → `architecting-act`
- Project setup → `engineering-act`
- Testing → `testing-cast`

---

## Implementation Workflow

### Step 1: Understand CLAUDE.md

> **Act** = Project, **Cast** = Graph/Workflow in the project

**If CLAUDE.md exists:**
1. Read `/CLAUDE.md` → Act overview, find target cast
2. Read `/casts/{cast_slug}/CLAUDE.md` → Architecture diagram, state schema, node specs
3. Proceed to Step 2

**If CLAUDE.md not found:**
AskUserQuestion Format:
```json
{
  "question": "CLAUDE.md not found. Create architecture first?",
  "options": [
    {"label": "Yes", "description": "Switch to architecting-act skill"},
    {"label": "No", "description": "Proceed without architecture specs"}
  ]
}
```

- Yes → use `architecting-act` skill first
- No → proceed to Step 2

### Step 2: Implementation

**Implement in order:** state → dependency modules → nodes → conditions → graph
  - Use Component Reference tables below for each component type

```
1. State (state.py)           # Foundation
   ↓
2. Dependency modules         # agents, models, tools, prompts, middlewares, utils (if needed)
   ↓
3. Nodes (nodes.py)           # Business logic
   ↓
4. Conditions (conditions.py) # Route Functions (if needed)
   ↓
5. Graph (graph.py)           # Assembly
```

### Option Step 3: Create required environment variables (if needed)

Update to `.env.example` (project root)

```bash
OPENAI_API_KEY=your_key
ANTHROPIC_API_KEY=your_key
```

### Option Step 4: Install dpendency packages (if needed)

Use `engineering-act`

---

## Component Reference

### Core Components

| Use when | Resource |
|-------------|----------|
| defining graph state with TypedDict | [core/state.md](./resources/core/state.md) |
| implementing sync/async node classes | [core/node.md](./resources/core/node.md) |
| setting up edges or conditional routing | [core/edge.md](./resources/core/edge.md) |
| assembling StateGraph and compiling | [core/graph.md](./resources/core/graph.md) |
| reusing graphs as subgraphs | [core/subgraph.md](./resources/core/subgraph.md) |

### Prompts & Messages

| Use when | Resource |
|-------------|----------|
| creating System/Human/AI/Tool messages | [prompts/message-types.md](./resources/prompts/message-types.md) |
| handling image/audio/PDF inputs | [prompts/multimodal.md](./resources/prompts/multimodal.md) |

### Models & Agents

| Use when | Resource |
|-------------|----------|
| choosing between OpenAI/Anthropic/Google | [models/select-chat-models.md](./resources/models/select-chat-models.md) |
| configuring model (temperature, tokens) | [models/standalone-model.md](./resources/models/standalone-model.md) |
| need model to return structured output(Pydantic schema) | [models/structured-output.md](./resources/models/structured-output.md) |
| creating agent with tools | [agents/configuration.md](./resources/agents/configuration.md) |
| need agent to return structured output(Pydantic schema) | [agents/structured-output.md](./resources/agents/structured-output.md) |

### Tools

| Use when | Resource |
|-------------|----------|
| creating simple tool with @tool | [tools/basic-tool.md](./resources/tools/basic-tool.md) |
| tool needs complex Pydantic inputs | [tools/tool-with-complex-inputs.md](./resources/tools/tool-with-complex-inputs.md) |
| tool needs to read/write state or store | [tools/access-context.md](./resources/tools/access-context.md) |

### Memory

| Use when | Resource |
|-------------|----------|
| adding conversation memory to agent | [memory/short-term/add-to-agent.md](./resources/memory/short-term/add-to-agent.md) |
| customizing agent memory storage | [memory/short-term/customize-agent-memory.md](./resources/memory/short-term/customize-agent-memory.md) |
| trimming/deleting/summarizing history | [memory/short-term/manage-conversations.md](./resources/memory/short-term/manage-conversations.md) |
| accessing memory from middleware/tools | [memory/short-term/access-and-modify-memory.md](./resources/memory/short-term/access-and-modify-memory.md) |
| persisting data across sessions (Store) | [memory/long-term/memory-storage.md](./resources/memory/long-term/memory-storage.md) |
| accessing Store from within tools | [memory/long-term/in-tools.md](./resources/memory/long-term/in-tools.md) |

### Middleware - Reliability

| Use when | Resource |
|-------------|----------|
| LLM calls fail intermittently | [middlewares/provider-agnostic/model-retry.md](./resources/middlewares/provider-agnostic/model-retry.md) |
| tool execution fails intermittently | [middlewares/provider-agnostic/tool-retry.md](./resources/middlewares/provider-agnostic/tool-retry.md) |
| need backup model when primary fails | [middlewares/provider-agnostic/model-fallback.md](./resources/middlewares/provider-agnostic/model-fallback.md) |

### Middleware - Safety & Control

| Use when | Resource |
|-------------|----------|
| validating/blocking inappropriate content | [middlewares/provider-agnostic/guardrails.md](./resources/middlewares/provider-agnostic/guardrails.md) |
| preventing infinite LLM call loops | [middlewares/provider-agnostic/model-call-limit.md](./resources/middlewares/provider-agnostic/model-call-limit.md) |
| limiting tool calls to control costs | [middlewares/provider-agnostic/tool-call-limit.md](./resources/middlewares/provider-agnostic/tool-call-limit.md) |
| requiring human approval at checkpoints | [middlewares/provider-agnostic/human-in-the-loop.md](./resources/middlewares/provider-agnostic/human-in-the-loop.md) |

### Middleware - Tool Management

| Use when | Resource |
|-------------|----------|
| dynamically selecting relevant tools | [middlewares/provider-agnostic/llm-tool-selector.md](./resources/middlewares/provider-agnostic/llm-tool-selector.md) |
| emulating tools with LLM for testing | [middlewares/provider-agnostic/llm-tool-emulator.md](./resources/middlewares/provider-agnostic/llm-tool-emulator.md) |
| agent needs persistent shell session | [middlewares/provider-agnostic/shell-tool.md](./resources/middlewares/provider-agnostic/shell-tool.md) |
| agent needs to search files (glob/grep) | [middlewares/provider-agnostic/file-search.md](./resources/middlewares/provider-agnostic/file-search.md) |
| agent needs task planning/tracking | [middlewares/provider-agnostic/to-do-list.md](./resources/middlewares/provider-agnostic/to-do-list.md) |

### Middleware - Context

| Use when | Resource |
|-------------|----------|
| modifying/removing messages at runtime | [middlewares/provider-agnostic/context-editing.md](./resources/middlewares/provider-agnostic/context-editing.md) |
| auto-summarizing near token limits | [middlewares/provider-agnostic/summarization.md](./resources/middlewares/provider-agnostic/summarization.md) |

### Middleware - Provider-Specific

| Use when | Resource |
|-------------|----------|
| using OpenAI moderation API | [middlewares/provider-specific/openai.md](./resources/middlewares/provider-specific/openai.md) |
| using Claude caching/bash/text-editor | [middlewares/provider-specific/anthropic.md](./resources/middlewares/provider-specific/anthropic.md) |
| building custom before/after/wrap hooks | [middlewares/custom.md](./resources/middlewares/custom.md) |

### Integrations

| Use when | Resource |
|-------------|----------|
| converting text to embedding vectors | [integrations/embedding.md](./resources/integrations/embedding.md) |
| using FAISS/Pinecone/Chroma stores | [integrations/vector-stores.md](./resources/integrations/vector-stores.md) |
| splitting long documents into chunks | [integrations/text-spliter.md](./resources/integrations/text-spliter.md) |

---

## Verification

- [ ] CLAUDE.md checked (root + cast-specific if exists, skipped if not)
- [ ] Implementation order: state → deps(option) → nodes → conditions(option) → graph
- [ ] State/nodes match CLAUDE.md specs
- [ ] Dependencies installed, env vars configured
- [ ] Graph compiles

Files in this skill

  • SKILL.md8.4 KB
  • resources/agents/configuration.md7 KB
  • resources/agents/structured-output.md5.2 KB
  • resources/core/edge.md3 KB
  • resources/core/graph.md5.2 KB
  • resources/core/node.md3.8 KB
  • resources/core/state.md3.9 KB
  • resources/core/subgraph.md4.8 KB
  • resources/integrations/embedding.md1.9 KB
  • resources/integrations/text-spliter.md2.1 KB
  • resources/integrations/vector-stores.md3.5 KB
  • resources/memory/long-term/in-tools.md2.2 KB
  • resources/memory/long-term/memory-storage.md1.4 KB
  • resources/memory/short-term/access-and-modify-memory.md3.6 KB
  • resources/memory/short-term/add-to-agent.md1.6 KB
  • resources/memory/short-term/customize-agent-memory.md1.3 KB
  • resources/memory/short-term/manage-conversations.md3.5 KB
  • resources/middlewares/custom.md9.8 KB
  • resources/middlewares/provider-agnostic/context-editing.md1.4 KB
  • resources/middlewares/provider-agnostic/file-search.md1.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.