| Creating issues without deduplication check | Duplicate issues split tracking; team velocity metrics skewed | Search with a title filter (issues query with filter.title.eq field) before creating |
| Using state names in transitions | Case-sensitive; breaks when team renames state; locale issues | Use workflowState { id } query to get stable IDs; transition by ID |
| Fetching all team issues without filter | Thousands of results; rate limit hit; unusable output | Filter by state, assignee, cycle, or label in GraphQL query |
| Re-fetching team/project metadata per operation | Multiple identical API calls; rate limit waste; slow execution | Fetch team and project IDs once at session start; reuse for all subsequent calls |
| Ignoring pagination cursors | Only first page returned; missed issues cause incomplete reports | Use pageInfo { hasNextPage, endCursor } and paginate until hasNextPage: false |