S

Knowledge Pack Files

SideButton Marketing Website Knowledge Pack Files

Browse the source files that power the SideButton Marketing Website MCP server knowledge pack.

Available free v1.0.3 Browser
$ sidebutton install sidebutton.com
Download ZIP
portal-queue/_skill.md
18.2 KB

What This Is

Dispatch Queue page -- a work queue for scheduling workflow jobs to be dispatched to agents. Items can be added manually via the "+ Add Item" form, by pasting batch Jira tickets in Chat, or automatically via Automations. Each queue item specifies a workflow, optional agent assignment, ticket URL/key, effort level, and optional hint. Items progress through states: Waiting (10s delay) -> Queued -> Dispatching -> Dispatched -> Completed, or Failed/Cancelled. The page has filter tabs, search, workflow/agent filter dropdowns, and an inline "Add to Queue" form panel.

URL Patterns

PatternDescription
/portal/queueDispatch queue (all items)
/portal/queue?status=waitingFiltered to waiting items
/portal/queue?status=queuedFiltered to queued items
/portal/queue?status=dispatchedFiltered to dispatched items
/portal/queue?status=failedFiltered to failed items
/portal/queue?status=cancelledFiltered to cancelled items
/portal/queue?agent={id}Filtered to items for a specific agent
/portal/queue?automation_id={id}Filtered to items from a specific automation

Page Structure

+--[Sidebar]--+--[Main Content]------------------------------------------+
|  Chat       |  H1: "Dispatch Queue"    [+ Add Item] [Cancel All]*       |
|  Agents     |  "N items"                                                |
|  Jobs       |                                                           |
|  Queue *    |  [Add to Queue form panel] (toggleable)                   |
|  Automations|    Ticket URL or Key [textbox]                            |
|  Workflows  |    Hint (optional) [textarea]                             |
|  Settings   |    Workflow [dropdown]                                    |
|             |    Agent (optional) [dropdown]  Effort [dropdown]         |
|             |    "Item will wait 10s..."     [Add to Queue] button      |
|             |                                                           |
|             |  [Filter: All | Waiting N | Queued N | Dispatched | Failed | Cancelled] |
|             |  [Search tickets...] [Workflow ▾]                         |
|             |  * Cancel All only visible when items exist               |
|             |                                                           |
|             |  ITEM                          AGENT         STATUS       |
|             |  [Queue items list with infinite scroll]                  |
|             |  OR "Queue is empty" / "No {status} items" empty state    |
+-------------+-----------------------------------------------------------+

Key Elements

Header

ElementSelector / RefNotes
Page headingheading "Dispatch Queue"H1
Item countBelow heading"N items" format
Add Item buttonbutton "+ Add Item"Blue outlined button, top-right, toggles form panel
Cancel All buttonbutton "Cancel All"Red text button, next to Add Item, cancels all queued/waiting items. Hidden when queue is empty — only renders when items exist

Add to Queue Form (toggleable panel)

ElementSelector / RefNotes
Add to Queue headingheading "Add to Queue"Form panel header
Close form buttonUnnamed button (X icon)Closes the form panel
Ticket URL inputtextbox with placeholder "SCRUM-42 or https://...atlassian.net/browse/SCRUM-42"Accepts Jira key or full URL
Hint textareatextbox labeled "Hint (optional)"Placeholder: "Extra instructions for the agent, e.g. focus on login module, skip tests..."
Workflow dropdowncombobox labeled "Workflow"Default "— Select Workflow —", native <select>. Options show workflow description as display text (not short name)
Agent dropdowncombobox labeled "Agent (optional)"Default "Auto-assign", native <select>. Shows agent status and roles
Effort dropdowncombobox labeled "Effort"Native <select>. Defaults to account's Default Effort Level from Settings > General (e.g. "Medium (Sonnet)" or "High (Opus)")
Entry Path dropdowncombobox labeled "Entry Path"Native <select>, conditionally hidden — only shown when workflow defines entry paths. Hidden by default with 0 options
10s delay noteBelow form"Item will wait 10s before entering the dispatch queue"
Add to Queue submitbutton "Add to Queue"Cyan/blue button, submits form

Filter & Search Bar

ElementSelector / RefNotes
Filter: Alllink "All"Green pill (bg-emerald-500/20 text-emerald-400) when active
Filter: Waitinglink "Waiting"Shows count in parentheses when items exist
Filter: Queuedlink "Queued (N)"Shows count of queued items in parentheses
Filter: Dispatchedlink "Dispatched"
Filter: Failedlink "Failed"
Filter: Cancelledlink "Cancelled"
Search ticketstextbox "Search tickets…"Filters items by ticket reference
Workflow filtercombobox labeled "Workflow" (in list header)"All workflows" default, native <select>. Shows all workflow types with descriptions as display text

Queue Item Row

ElementSelector / RefNotes
Ticket URL linkClickable link textFull Jira URL shown as clickable link (e.g. "https://aictpo.atlassian.net/browse/SCRUM-329")
Queue item IDGrey texte.g. "#1944"
Role badgeColored pillSE (blue), QA (purple), SD (slate), PM (slate), OPS (slate)
Workflow nameText after role badgee.g. "SE-Rca-Fix", "QA-Validate"
Effort badgeColored pillMAX (red), HIGH (orange), MEDIUM (slate)
Job linkLink text"Job #N" — links to /portal/jobs/{id} when dispatched
Agent avatarimgGreen circle with agent avatar
Agent name linklink "agent-name"Agent hostname, links to /portal/agents
Status badgeColored textCompleted (emerald), Queued (sky), Dispatched (emerald), Cancelled (slate), Failed (red), Waiting (amber)
Pulsing dotAnimated circleShown on Waiting and Queued items
Relative timeRight side"Nm ago", "Nh ago"
Cancel buttonbutton "Cancel"On waiting/queued items
Dispatch Now buttonbutton "Dispatch Now"On queued items, bypasses wait period
Retry buttonbutton "Retry"On failed items, retries same dispatch
Resend buttonbutton "Resend"On failed/cancelled/dispatched items, re-queues

Queue Item Row Visual Structure

[pulsing dot] [ticket URL link]
              #ID
              [ROLE badge] Workflow-Name [EFFORT badge] Job #link
                                                       [agent avatar + name]  [status badge] [time ago] [action btns]

Empty State

ElementNotes
Empty state iconRefresh/queue icon, grey
Empty state textContext-sensitive: "Queue is empty" on All tab; "No {status} items" on filtered tabs (e.g. "No dispatched items", "No failed items")
Empty state hint'Click "+ Add Item" or paste batch Jira tickets in Chat'

Data Model

Queue Item

FieldTypeDescription
idnumberQueue item ID
account_idnumberAccount that owns this item
user_idnumberUser who created this item
rolestringWorkflow role: "se" / "qa" / "sd" / "pm"
workflow_idstringSelected workflow identifier (e.g. "se-work", "qa-validate")
agent_idnumber (nullable)Assigned agent ID or null (auto-assign)
preferred_agent_idnumber (nullable)Preferred agent for dispatch
ticket_urlstringJira ticket URL or key
ticket_keystringExtracted Jira key (e.g. "SCRUM-329")
effort_levelstring"max" / "high" / "medium"
prioritynumberDispatch priority ordering
hintstring (nullable)Optional extra instructions for the agent
entry_pathstring (nullable)Agent entry path override
statusstring"waiting" / "queued" / "dispatching" / "dispatched" / "completed" / "failed" / "cancelled"
errorstring (nullable)Error message on failed items
job_idnumber (nullable)Linked job ID once dispatched
eligible_atstring (datetime, nullable)Hold-until timestamp for waiting items (countdown timer)
sourcestringOrigin: "portal" / "mcp" / "slack" / "chat" / "api" / "automation"
automation_idnumber (nullable)ID of automation that triggered this item (if source=automation)
created_atstring (datetime)When item was added
dispatched_atstring (datetime, nullable)When item was dispatched

Workflow Options (Add Item form dropdown)

The Queue dropdown shows all available workflows. Display text is the workflow description (not a short name). The same options appear in both the form dropdown and the list filter dropdown.

Display Text (description)ValueRole
Drive a ticket to completion — plan, dispatch SE/QA, track PRs, merge, validate, close. Idempotent.pm-drivePM
Full sprint lifecycle — plan, manage, close. Phase-detecting and idempotent.pm-sprintPM
Git pull on all repos and reinstall skill packspull-reposOPS
Re-review PR after developer addresses prior QA feedback — does NOT test live siteqa-followupQA
Test the live site against ticket scope — no PR, tests production directlyqa-new-ticketQA
Regression test affected modules on the live/deployed site after mergeqa-regressionQA
Review PR code against ticket acceptance criteria — does NOT test live siteqa-validateQA
Find the lowest-coverage module, explore it in the browser, improve its skill filessd-coverageSD
Read review feedback, apply changes to existing PR, push updatesse-followupSE
Investigate bug, trace root cause, report findings without fixingse-rcaSE
Investigate bug, trace root cause, implement fix, create PRse-rca-fixSE
Read ticket, understand context, implement fix, create PR, report backse-workSE

Agent Options (Add Item form dropdown)

Display NameValueNotes
Auto-assign"" (empty)Default, system picks best available agent
{display_name} ({name}) ({status} — {roles})Agent ID numbere.g. "dev-agent-1 (online — se, qa, sd, pm)" value="6864"

Effort Levels

ValueDisplayModel
maxMax (Opus)Claude Opus
highHigh (Opus)Claude Opus
mediumMedium (Sonnet)Claude Sonnet

States & Variations

StateTriggerVisual IndicatorActions Available
Empty queue (All)No items, All tab"Queue is empty" message with icon
Empty queue (filtered)No items matching filter"No {status} items" message with icon (e.g. "No dispatched items")
Cancel All hiddenNo items in queueCancel All button not rendered
Form hiddenDefault / click XOnly filter tabs and queue list visible
Form visibleClick "+ Add Item"Form panel appears above filter tabs
Item waitingJust added (10s hold via eligible_at)"Waiting" amber badge, pulsing dot, countdown timerCancel
Item queuedPast eligible_at or no hold"Queued" sky-blue badge, pulsing dotCancel, Dispatch Now
Item dispatchingBeing sent to agent"Dispatching" badge
Item dispatchedAgent picked it up"Dispatched" emerald badge, green dot, linked to JobResend
Item completedJob finished"Completed" emerald badge
Item failedDispatch error"Failed" red badge, red dot, inline error messageRetry, Resend
Item cancelledUser cancelled"Cancelled" slate badgeResend
Filtered viewClick filter tab or use dropdownItem count updates, URL gains ?status= param
Search activeType in search boxList filtered by ticket reference
Agent-filtered?agent={id} URL paramOnly items for that agent shown
Automation-filtered?automation_id={id} URL paramOnly items from that automation shown

Visual Badge Colors

Badge TypeValueColor
Role: QAqaPurple (bg-purple-400/10 text-purple-400)
Role: SEseBlue (bg-blue-400/10 text-blue-400)
Role: SDsdSlate (bg-slate-400/10 text-slate-400)
Role: PMpmSlate (bg-slate-400/10 text-slate-400)
Role: OPSopsSlate (bg-slate-400/10 text-slate-400)
Effort: MaxmaxRed (bg-red-400/10 text-red-400)
Effort: HighhighOrange (bg-orange-400/10 text-orange-400)
Effort: MediummediumSlate (bg-slate-400/10 text-slate-400)
Status: CompletedEmerald (bg-emerald-400/10 text-emerald-400)
Status: QueuedSky (bg-sky-400/10 text-sky-400)
Status: DispatchedEmerald (bg-emerald-400/10 text-emerald-400)
Status: FailedRed
Status: WaitingAmber
Status: CancelledSlate (bg-slate-500/10 text-slate-400)

Common Tasks

1. Add item to queue

  1. Click "+ Add Item" button to open form panel
  2. Enter Ticket URL or Key (e.g. "SCRUM-42" or full Jira URL)
  3. Optionally add Hint text
  4. Select Workflow from dropdown (required — default is "— Select Workflow —")
  5. Optionally select Agent (defaults to Auto-assign)
  6. Select Effort level (defaults to account's Default Effort Level from Settings > General)
  7. Click "Add to Queue" (cyan button)
  8. Item appears in list with "Waiting" status, transitions to "Queued" after 10s

2. Filter queue items by status

  1. Click filter tab (All / Waiting / Queued / Dispatched / Failed / Cancelled)
  2. Active tab shows green/blue pill, URL updates with ?status= param

3. Search queue items

  1. Type ticket reference in "Search tickets..." textbox
  2. List filters to matching items

4. Filter by workflow

  1. Use Workflow dropdown in list header (shows workflow descriptions as display text)
  2. Combines with status filter tabs

5. Cancel a queued item

  1. Find item with "Queued" or "Waiting" status
  2. Click "Cancel" button on the item row

6. Force-dispatch a queued item

  1. Find item with "Queued" status
  2. Click "Dispatch Now" button to skip waiting and dispatch immediately

7. Retry a failed item

  1. Find item with "Failed" status
  2. Click "Retry" to retry the same dispatch, or "Resend" to re-queue as new

8. Resend a dispatched/cancelled item

  1. Find item with "Dispatched" or "Cancelled" status
  2. Click "Resend" to re-queue the item

9. Cancel all items

  1. Click "Cancel All" (red text button in header)
  2. All queued/waiting items are cancelled

10. Batch dispatch via Chat

  1. Go to Chat page
  2. Paste Jira ticket URLs/keys
  3. Items are automatically queued

Tips

  • Items have a 10-second waiting period (via eligible_at timestamp) before entering the dispatch queue
  • Auto-assign lets the system pick the best available agent
  • Effort level maps to LLM model: Max/High use Opus, Medium uses Sonnet
  • Default effort follows the account's Default Effort Level from Settings > General (not hardcoded)
  • Batch Jira tickets can be pasted in Chat as an alternative to manual queue addition
  • The Ticket URL field accepts both Jira keys (e.g. "SCRUM-42") and full URLs
  • Queue items track their source (portal, mcp, slack, chat, api, automation) for tracing
  • Items triggered by automations have an automation_id linking back to the automation
  • Ticket references appear as clickable full URLs in item rows (not just keys)
  • Search and Workflow filter can be combined with status filter tabs
  • Queue supports ?agent={id} and ?automation_id={id} URL params for pre-filtering
  • List uses infinite scroll — scroll to bottom to load more items

Gotchas

  • 10s delay: New items start in "Waiting" status for 10 seconds (via eligible_at) before becoming "Queued"
  • Workflow dropdown values: The combobox values use short slugs (e.g. se-work, qa-validate, pm-drive) but display full workflow descriptions as text
  • All workflow types available: The queue form now shows all workflows (SE, QA, PM, SD, OPS) — not limited to SE/QA
  • Cancel All conditionally hidden: The "Cancel All" button is NOT rendered when the queue is empty — only appears when items exist
  • Agent filter removed: The list header only has a Workflow filter dropdown — no Agent filter dropdown (unlike previously documented)
  • Entry Path conditionally hidden: A hidden "Entry Path" <select> exists in the form but only becomes visible when the selected workflow defines entry paths
  • Agent display in dropdown: Agents show display_name, hostname, status, and roles: e.g. "dev-agent-1 (online — se, qa, sd, pm)"
  • Agent value is numeric ID: The agent dropdown value is a numeric ID, not the agent name
  • Hint optional: The Hint field label says "(optional)"
  • No edit: Once added, queue items cannot be edited — only cancelled or resent
  • Effort default follows account setting: The Effort dropdown defaults to the account's Default Effort Level from Settings > General — not hardcoded to a specific value
  • Two Workflow dropdowns: The form has a Workflow dropdown for adding items; the list header has a separate Workflow dropdown for filtering — both show description text and same workflow options
  • All dropdowns are native <select>: Use select_option tool, not click-based interaction
  • Retry vs Resend on failed items: Retry attempts the same dispatch again; Resend creates a new queue entry
  • Error messages inline: Failed items show the error message text inline in the row
  • Cancel All is destructive: Cancels all queued/waiting items at once — no confirmation dialog
  • Dispatching status: There is a transient "dispatching" status between "queued" and "dispatched" — items in this state are being sent to the agent
  • Source tracking: Queue items track their origin (portal/mcp/slack/chat/api/automation) — useful for debugging dispatch chains