Common Workflows
Practical patterns for using AgentGate in everyday project management. Examples use MCP tool names — the same operations are available via the CLI.
Starting a Session
Every session should begin with prime to understand the current project state:
prime()
This returns in-progress issues, pending changes waiting for review, failed changes that need attention, and tips for effective tool use.
For multi-project awareness:
prime() # Default project
prime(project_key: "OTHER") # Another project
Finding Issues
By status:
issues_list(status: "in_progress")
issues_list(status: "open")
issues_list(status: "done", limit: 5)
By assignee:
issues_list(assignee: "me")
issues_list(assignee: "unassigned")
By label:
issues_list(labels: ["urgent", "backend"])
By parent (children of an Epic):
issues_list(parent: "PROJ-100")
With JQL:
issues_list(jql: "project = PROJ AND text ~ 'marketplace'")
issues_list(jql: "project = PROJ AND priority = High AND status != Done")
issues_list(jql: "project = PROJ AND updated >= -24h ORDER BY updated DESC")
Paginating large result sets:
result = issues_list(limit: 10)
# result includes nextPageToken when hasMore is true
issues_list(next_page_token: "token_from_previous_result")
Reading Issue Details
Basic details:
issues_show(key: "PROJ-123")
Full context (parent chain, siblings, children, links, recent comments):
issues_context(key: "PROJ-123", children_depth: 2)
Just the children:
issues_children(key: "PROJ-100")
issues_children(key: "PROJ-100", recursive: true) # Full tree
Creating Issues
Simple issue:
changes_create(
type: "create",
proposed: {
summary: "Fix login timeout on mobile",
issueType: "Bug",
priority: "High",
description: "Users on iOS report 30s timeout on login..."
},
reason: "Reported by 3 users in the last week"
)
Epic with child Stories:
changes_create(
type: "create",
proposed: {
summary: "User Authentication Overhaul",
issueType: "Epic",
children: [
{ summary: "Implement OAuth 2.0 login", issueType: "Story" },
{ summary: "Add password reset flow", issueType: "Story" },
{ summary: "Write authentication tests", issueType: "Task" }
]
},
reason: "Q2 security initiative"
)
Approving the parent creates the Epic and all children with correct parent links.
Issue with links:
changes_create(
type: "create",
proposed: {
summary: "Investigate performance regression",
issueType: "Task",
links: [
{ type: "is blocked by", direction: "inward", targetKey: "PROJ-100" },
{ type: "relates to", direction: "outward", targetKey: "PROJ-99" }
]
}
)
Updating Issues
changes_create(
type: "update",
issue_key: "PROJ-123",
proposed: {
summary: "Updated title",
priority: "High",
labels: ["backend", "urgent"]
},
reason: "Reprioritizing based on customer escalation"
)
Transitioning Issues
issues_transition(
key: "PROJ-123",
status: "In Progress",
reason: "Starting work on this"
)
To see available transitions first:
issues_transitions(key: "PROJ-123")
Adding Comments
comment(
key: "PROJ-123",
body: "Investigated the root cause. The timeout is caused by..."
)
Assigning Issues
issues_assign(key: "PROJ-123", assignee: "me")
issues_assign(key: "PROJ-123", assignee: null) # Unassign
Working with Attachments
Download:
issues_attachments_download(key: "PROJ-123")
issues_attachments_download(key: "PROJ-123", attachment_id: "123")
Upload (max 2MB):
issues_attachments_upload(key: "PROJ-123", file_path: "/path/to/report.pdf")
Managing Pending Changes
changes_list(status: "pending") # What's waiting for review
changes_show(id: "chg-abc123") # View details and diff
changes_update(id: "chg-abc123", # Modify before review
proposed: { priority: "Highest" },
reason: "Escalated by customer"
)
changes_cancel(id: "chg-abc123") # Cancel if no longer needed
Sprint Management Pattern
A typical sprint management session:
1. prime() # Get project overview
2. issues_list(status: "in_progress") # What's being worked on
3. issues_list(assignee: "unassigned", status: "open") # What needs assignment
4. issues_assign(key: "PROJ-45", assignee: "me") # Pick up work
5. issues_transition(key: "PROJ-45", status: "In Progress")
6. comment(key: "PROJ-45", body: "Starting analysis...")
7. # ... do the work ...
8. issues_transition(key: "PROJ-45", status: "Done")
Board Audit Pattern
Review the full project state and identify issues needing attention:
1. prime() # Overview
2. issues_list(status: "in_progress") # Active work
3. issues_list(jql: "status != Done ORDER BY updated ASC", limit: 10) # Stale issues
4. issues_list(labels: ["NEEDS_HUMAN"]) # Blocked on humans
5. changes_list(status: "failed") # Failed changes to retry