Skip to main content

Dependencies between items

When multiple agents work in parallel, they will step on each other unless you define what blocks what. Dependencies make that explicit so agents respect execution order automatically. Without clear dependencies, you end up with merge conflicts, duplicated work, and agents implementing features on top of code that does not exist yet.

Dependencies allow you to define blocking relationships between work items. When an item depends on another, Almirant makes this relationship visible so that both the team and the AI can make informed decisions about the order of work execution.

Dependency types

Almirant uses a bidirectional dependency model based on blocker/blocked relationships:

RelationshipMeaningExample
blocksItem A blocks item B"Implement users API" blocks "Create profile screen"
blocked byItem B is blocked by item A"Create profile screen" is blocked by "Implement users API"

Both relationships are two sides of the same dependency. When creating a dependency from either item, the inverse relationship is automatically established.

Creating a dependency

From the interface

  1. Open the detail view of a work item.
  2. Go to the Dependencies section.
  3. Select Add dependency.
  4. Search for the related work item by its title or taskId (e.g., A-T-15).
  5. Select the relationship type: "this item blocks..." or "this item is blocked by...".
  6. Confirm.

The dependency appears in the detail view of both involved items.

Via MCP

Use the add_work_item_dependency tool providing the IDs of both items and the relationship type.

Viewing dependencies

A work item's dependencies are displayed in:

  • Detail view -- Dedicated section showing blocking items and blocked items.
  • Board card -- Visual indicator when an item has active dependencies.

Each dependency shows:

  • The taskId and title of the related item.
  • The relationship type (blocks / blocked by).
  • The current status of the related item (derived from its column).

Batch query

When you need to review the dependencies of multiple items at once (for example, when planning a sprint), you can use the batch query to get all relationships for a set of work items in a single operation.

Impact on workflow

Dependencies provide key information for work management:

  • Blocking visibility -- Quickly identify which items cannot progress because they depend on others that are not yet completed.
  • Informed prioritization -- Items that block others should be prioritized to unblock pending work.
  • AI context -- When the AI queries an item's context, dependencies help it determine whether it makes sense to start working on it or whether it should focus first on the blocking items.
Best practice

A blocked item should not be moved to "In Progress" while its blocking items are not completed. Although Almirant does not prevent the movement, dependencies serve as a visual and contextual indicator to avoid premature work.

Removing a dependency

  1. Open the work item detail view.
  2. In the Dependencies section, locate the relationship to remove.
  3. Click the delete button next to the dependency.
  4. Confirm the removal.

The relationship is removed from both items simultaneously.

For developers

For Developers

MCP tools

ToolDescriptionMain parameters
get_work_item_dependenciesGets the dependencies of a work itemworkItemId
add_work_item_dependencyCreates a dependency between two itemsworkItemId, dependsOnWorkItemId, type
remove_work_item_dependencyRemoves a dependencyworkItemId, dependsOnWorkItemId
get_dependencies_batchGets dependencies for multiple items at onceworkItemIds

Example: Add a dependency

Tool: add_work_item_dependency
Parameters:
workItemId: "blocked-item-uuid"
dependsOnWorkItemId: "blocking-item-uuid"
type: "blocked_by"

This establishes that the first item is blocked by the second. The inverse relationship (the second blocks the first) is created automatically.

Example: Batch query dependencies

Tool: get_dependencies_batch
Parameters:
workItemIds: ["uuid-1", "uuid-2", "uuid-3", "uuid-4"]

Returns a map with the dependencies of each item, useful for visualizing the blocking graph of an entire sprint.

Example: View dependencies of an item

Tool: get_work_item_dependencies
Parameters:
workItemId: "item-uuid"

Returns two lists:

  • blocks: items that this item blocks.
  • blockedBy: items that block this item.