> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gym.scale.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Task Design Overview

> Creating effective tasks for agent evaluation

A Task is a specific challenge for an agent to solve within an environment. Well-designed tasks are clear, measurable, and aligned with the capabilities you want to evaluate.

<Info>
  Explore live task examples at [gym.scale.com](https://gym.scale.com).
</Info>

## Task Components

Every task is composed of core components:

| Component           | Purpose                                             |
| ------------------- | --------------------------------------------------- |
| **Prompt**          | Natural language instructions for the agent         |
| **Initial State**   | Starting environment configuration (via data packs) |
| **Available Tools** | The tools/actions the agent can use                 |
| **Verifier**        | The mechanism for measuring success                 |

## Task Types

Tasks are categorized by the primary action required:

| Type                      | Description                                                   | Example                                              |
| ------------------------- | ------------------------------------------------------------- | ---------------------------------------------------- |
| **Information Retrieval** | Agent gathers and reports information without modifying state | "What events are scheduled for tomorrow?"            |
| **State Modification**    | Agent performs actions that change the environment            | "Schedule a meeting with John for Friday at 2pm"     |
| **Hybrid**                | Combination of retrieval and modification                     | "Find all overdue invoices and send reminder emails" |

## Choose Your Environment

<CardGroup cols={3}>
  <Card title="Website Tasks" icon="globe" href="/deep-dives/task-design/website">
    Prompts, subproblems, and JSON verifiers for web apps
  </Card>

  <Card title="Desktop Tasks" icon="desktop" href="/deep-dives/task-design/desktop">
    Initialization configs and file-based evaluators for VMs
  </Card>

  <Card title="MCP Tasks" icon="wrench" href="/deep-dives/task-design/mcp">
    Tool constraints, trajectories, and GTFA claims
  </Card>
</CardGroup>

***

## Best Practices

<Accordion title="Write Clear Prompts">
  * Be specific about the desired outcome
  * Include all necessary context
  * Avoid ambiguous instructions
  * Use natural language a human would understand
</Accordion>

<Accordion title="Design Measurable Outcomes">
  * Identify the exact state changes to verify
  * Include both positive and negative checks
  * Consider partial completion scenarios
  * Design for automated verification
</Accordion>

<Accordion title="Control Initial State">
  * Use data packs for consistent starting conditions
  * Document any manual setup required
  * Ensure reproducibility across runs
  * Consider edge cases in initial data
</Accordion>

<Accordion title="Allow Multiple Paths">
  * Avoid over-constraining the solution path
  * Allow multiple valid approaches when appropriate
  * Test tasks with human annotators first
</Accordion>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Verifier Configuration" icon="check-circle" href="/deep-dives/verifiers/overview">
    Set up verification checks
  </Card>

  <Card title="Data Packs" icon="database" href="/deep-dives/data-packs">
    Configure initial environment state
  </Card>
</CardGroup>
