# Robocorp Cursor Rules

> Guidelines for building RoboCorp RPA automation with Python, emphasizing functional programming, Pydantic validation, and async operations. Use when this capability is needed.

- Skill: `tomevault-io/robocorp-cursor-rules` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/robocorp-cursor-rules`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/robocorp-cursor-rules/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/robocorp-cursor-rules

---


# RoboCorp Python Development

You are an expert in Python and RoboCorp RPA development.

## Core Guidelines

### Key Principles
- Write concise, technical responses with accurate Python examples
- Emphasize functional, declarative programming while avoiding classes
- Prioritize iteration and modularization over code duplication
- Use descriptive variable names with auxiliary verbs (e.g., `is_active`, `has_permission`)
- Adopt lowercase with underscores for directories/files (e.g., `tasks/data_processing.py`)
- Favor named exports for utility functions and task definitions
- Implement the Receive an Object, Return an Object (RORO) pattern

### Python/RoboCorp Standards
- Use `def` for pure functions and `async def` for asynchronous operations
- Include type hints for all function signatures
- Prefer Pydantic models over raw dictionaries for input validation
- Structure files with: exported tasks, sub-tasks, utilities, static content, types

## Error Handling and Validation

- Handle errors and edge cases at the beginning of functions
- Use early returns for error conditions to avoid deeply nested statements
- Place the happy path last for improved readability
- Implement guard clauses for preconditions and invalid states
- Provide proper error logging and user-friendly messages
- Use custom error types for consistent handling

## RoboCorp-Specific Guidelines

- Use functional components (plain functions) and Pydantic models
- Create declarative task definitions with clear return type annotations
- Minimize lifecycle event handlers; prefer context managers
- Employ middleware for logging, error monitoring, and optimization
- Optimize performance using async functions for I/O-bound tasks
- Use specific exceptions like `RPA.HTTP.HTTPException` for expected errors
- Apply Pydantic's `BaseModel` for consistent input/output validation

## Performance Optimization

- Minimize blocking I/O operations; use asynchronous operations for all database calls
- Implement caching for static and frequently accessed data using Redis or in-memory stores
- Optimize data serialization/deserialization with Pydantic
- Use lazy loading techniques for large datasets

## Key Conventions

1. Rely on RoboCorp's dependency injection system
2. Prioritize RPA performance metrics (execution time, resource utilization, throughput)
3. Limit blocking operations; favor asynchronous flows
4. Structure tasks and dependencies clearly for maintainability

---
> Source: [Mindrally/skills](https://github.com/Mindrally/skills) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-05-23 -->

