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

# Best Practices

> Recommendations and proven patterns for getting the most out of Duvo Agents.

This section collects recommendations and proven patterns for building reliable Agents, designing effective workflows, and scaling automation across your team.

Start here:

<CardGroup cols={2}>
  <Card title="Writing Effective AOPs" icon="pen-line" href="/best-practices/writing-effective-aops">
    The highest-leverage thing you control when building an Agent.
  </Card>

  <Card title="Choosing How Your Agent Starts" icon="play" href="/best-practices/choosing-how-runs-start">
    Manual Starts, schedules, triggers, and Queues each fit a different shape of work.
  </Card>

  <Card title="Designing Work Around Queues and Cases" icon="layers" href="/best-practices/queues-and-cases">
    Producer/consumer design so every Case ends somewhere definite.
  </Card>

  <Card title="Connecting Agents with Queues" icon="workflow" href="/best-practices/connecting-agents-with-queues">
    Split a growing process into stages connected by Queues — every item gets its own Run, the thousandth processed as reliably as the first.
  </Card>

  <Card title="Where Knowledge Belongs" icon="brain" href="/best-practices/where-knowledge-lives">
    AOP, Skills, Files, or Memory: four places to teach an Agent something, each with different scope.
  </Card>

  <Card title="Iterating on a Live Agent" icon="git-branch" href="/best-practices/iterating-on-a-live-agent">
    Editing the active revision changes production immediately. Fork a draft, test on real work, make it active deliberately.
  </Card>

  <Card title="Let a Skill Do the Math" icon="calculator" href="/best-practices/let-a-skill-do-the-math">
    When results must be exact and auditable, package the calculation as a script inside a custom Skill.
  </Card>

  <Card title="Wrap a REST API in a Skill" icon="plug" href="/best-practices/wrap-a-rest-api-in-a-skill">
    No native Connection, but the system has an HTTP API? Package the call as a script inside a custom Skill.
  </Card>

  <Card title="Browsing That Survives UI Changes" icon="globe" href="/best-practices/browsing-that-survives-ui-changes">
    Depend on what things are, not where they are — stable anchors, recorded Skills, and verify-after-write habits.
  </Card>

  <Card title="Connections and Logins That Don't Break" icon="key" href="/best-practices/reliable-connections">
    Set up access that survives teammates, departures, and expired credentials.
  </Card>

  <Card title="One Builder, Many Users" icon="users" href="/best-practices/sharing-access-across-a-team">
    Why an Agent works for its builder and fails for everyone else — the two access gates and the sharing model.
  </Card>

  <Card title="When the Agent Should Ask, Not Act" icon="user-check" href="/best-practices/when-to-ask-a-human">
    Approval gates fire only where the AOP asks. Which actions earn one, whose inbox it lands in, and designing for the wait.
  </Card>

  <Card title="Make Every Run Auditable" icon="search-check" href="/best-practices/auditable-runs">
    Automatic Evaluations, durable outputs, and the alerting surface — so "what did the Agent do?" is a link, not an investigation.
  </Card>

  <Card title="Tips and Patterns" icon="lightbulb" href="/best-practices/tips-and-patterns">
    A cross-referenced index of practical guidance from across the docs.
  </Card>
</CardGroup>

<Note>
  We're actively expanding this section. Check back for more detailed guidance.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.