Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

shimony-uriel
Copy link
Contributor

@shimony-uriel shimony-uriel commented Oct 21, 2025

Overview

Adds a new discovery tool that identifies monday-dev sprints boards and their associated tasks boards in a user's account. This tool is essential for agents to find the correct board IDs needed for sprint management operations.

What This Tool Does

The get-monday-dev-sprints-boards tool:

  • Discovers Board Pairs: Scans recently used boards (up to 100) to find valid monday-dev sprint/tasks board pairs
  • Bidirectional Discovery: Can identify pairs from either direction:
    • From sprints board → tasks board (via sprint_tasks column)
    • From tasks board → sprints board (via task_sprint column)
  • Returns IDs: Provides board IDs, names, and workspace information needed for sprint operations

Key Features

🔍 Board Detection

  • Validates boards by checking for all required monday-dev columns
  • Extracts board relationships directly from column settings
  • Handles both boardIds array and boardId single value formats

⚠️ Multi-Workspace Awareness

  • Detects when multiple board pairs exist across different workspaces
  • Warns agents to confirm which pair/workspace to use before operations
  • Prevents cross-pair operation failures

📊 Comprehensive Reporting

  • Provides structured output with board IDs, names, and workspace info
  • Includes technical reference guide for common sprint operations
  • Offers helpful troubleshooting guidance when no boards are found

🛡️ Error Handling

  • Gracefully handles missing boards, null entries, and missing workspace data
  • Returns clear error messages with actionable next steps
  • Differentiates between "no boards" vs "no valid sprint boards" scenarios

Test Coverage

TBD

Technical Details

  • Tool Type: Read-only (idempotent, non-destructive)
  • API Call: Single GraphQL query fetching 100 most recent boards
  • Required Columns Detection:
    • Sprints Board: name, sprint_link, sprint_tasks, auto_sprint_status
    • Tasks Board: name, task_sprint, task_estimate, task_assignee

Files Added/Modified

  • get-sprints-boards-tool.ts - Main tool implementation (276 lines)
  • get-sprints-boards-tool.graphql.ts - GraphQL query

Benefits for Agents

  1. Self-Service Discovery: No need to ask users for board IDs upfront
  2. Prevents Errors: Ensures correct board pairs are used together
  3. Context-Aware: Understands workspace boundaries and warns about multiple pairs
  4. Actionable Guidance: Provides next steps when boards aren't found

Related Tools

Works in conjunction with:

  • get-sprints-metadata-tool (requires sprints board ID)
  • get-sprint-summary-tool (requires both board IDs)
  • Platform API tools for CRUD on sprint/task

Copy link
Collaborator

@damian-rakus damian-rakus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just minor comments + can you include the screenshots of tool invocation (can be part of flow with another tool) - can be in Slack DM


return board.columns
.filter((col): col is NonNullable<typeof col> => col !== null)
.find((col) => col.id === columnId && col.type === 'board_relation') || null;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use enum ColumnType.BoardRelation instead of "board_relation" string?

`;
}

private generateTechnicalReference(): string {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Out of curiosity what is it? If it's placeholder for future set of tools I believe we can remove it as each tool will provide description + schema that should include pre-requisites.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants