A meeting happens: a design review, sprint refinement, bug triage, customer escalation, tech-debt discussion. Real work gets identified — “we should add validation to the import flow,” “we need a spike on whether the auth library handles X,” “Maria’s bug is reproducible and we know why.” Everyone leaves on the same page. Then the bridge breaks. The PM or EM is the bottleneck. They translate the discussion into tickets from memory, an hour or three later, between two other meetings. Predictably: some tickets never get created. The tickets that do are vaguer than the discussion was. Acceptance criteria get skipped because writing them takes the time and feels least urgent. Bug reports lose the precise reproduction steps that the triage call established. Spikes — the time-boxed investigation work — fall through entirely because they feel optional. The cost compounds. Backlog health degrades. Refinement meetings get longer because they’re doing the work the original meeting should have produced. Engineers ramp slower on tickets because the context that would have helped them isn’t there. This guide is a specific instance of the workflows pattern, applied to the meeting → tracker bridge. It builds on the Linear integration and the built-inDocumentation Index
Fetch the complete documentation index at: https://docs.tryearmark.com/llms.txt
Use this file to discover all available pages before exploring further.
Ticket Generator template — generalizing to multiple ticket types (story, spike, bug report, epic) for any tracker your team works out of.
Foundation
Confirm your tracker’s ticket types
The templates below are written to drop into your tracker’s conventions. Walk through your tracker first:| Tracker | Common ticket types |
|---|---|
| Linear | Issue (default), with labels for type — feature, bug, spike, chore, improvement |
| Jira | Story, Task, Spike, Bug, Epic, Sub-task |
| GitHub Issues | Issue with labels for type; PR templates for code-tied work |
| Productboard | Insight (research/discovery), Feature, Component, Note |
| Jira Product Discovery | Discovery item with custom fields |
| Shortcut / Asana / ClickUp | Story / Task variants per tool |
Which meetings produce tickets
A small set of recurring meetings should reliably produce tickets:| Meeting type | Likely ticket types |
|---|---|
| Sprint planning | Stories, tasks, sub-tasks |
| Backlog refinement | Stories with acceptance criteria; epics broken into stories |
| Bug triage | Bug reports |
| Customer escalation calls | Bug reports, occasional feature requests |
| Design review | Stories for design changes; spikes for open questions |
| Architecture review | Spikes; sometimes epics |
| Tech-debt discussions | Chores; tech-debt items |
| Customer discovery (early) | Productboard insights; discovery items |
| Customer discovery (validated) | Stories or epics |
| Retros | Chores, process improvements; sometimes spikes |
Ownership
The meeting owner owns ticket creation. Always. Even if multiple people will work on the tickets, one person — usually the PM running the meeting, the EM convening the triage, or the tech lead in the design review — is accountable for the meeting → tracker conversion. For customer escalation calls: the CSM or implementation engineer on the call owns it.The four templates
Template A — User story with acceptance criteria
The workhorse. For feature work, improvements, and any committable engineering work that has a user-visible outcome.Template B — Spike (investigation ticket)
For time-boxed exploratory work. The most underutilized ticket type at most companies. The most common engineering failure pattern is “we needed to investigate X first, but never did, and now we’re blocked.” Spikes prevent that.Template C — Bug report
For bug triage calls, customer escalations, and incident discussions. Different shape than a user story — the priority is reproducibility and clarity, not user-value framing.Template D — Epic + story breakdown
For meetings that discussed a larger piece of work — a feature, an initiative, an architectural change — that needs to be broken into multiple stories.Save them as workspace templates
Start with the built-in Ticket Generator, then customize
The built-in
Ticket Generator template (see the library) is the natural starting point. Run it on a real refinement meeting, then iterate the prompt in the Composer toward Template A above — adding the out-of-scope section, the open-questions section, and the provenance line.Save Template A first; add the others as they're needed
Most teams need user stories on every refinement. Bugs are second most common. Save Story and Bug first; add Spike and Epic as you encounter the cases.
Save with Workspace visibility
Ticket creation is a team standard. Workspace visibility means every PM, EM, and tech lead produces tickets in the same shape — which materially helps engineering. See Custom templates.
Run it on a single meeting
Pre-seed the meeting with the right template
Match the template to the meeting type:
- Refinement or design review → Template A (user story)
- Architecture review or open-question discussion → Template B (spike)
- Bug triage or customer escalation → Template C (bug report)
- Feature kickoff or initiative discussion → Template D (epic + stories)
State the right things during the meeting
Four habits sharpen output dramatically:
- State acceptance criteria out loud. “We’d consider this done when X, Y, and Z.”
- Name what’s out of scope explicitly. “We’re not going to handle Z in this work.” The single most valuable habit in refinement-shaped meetings.
- Confirm priority and rough size. “P1, probably 3 days.” Even rough sizing helps.
- For bugs, walk through reproduction steps in the meeting. Don’t summarize — actually walk through the steps. The model captures them in the order they happened.
Three-minute-per-ticket cleanup
For each ticket the template produced:
- Read it as if you were the engineer who will pick it up. Is the work clear?
- Confirm acceptance criteria are grounded. Anything the template inferred should be either confirmed (and the “inferred” flag removed) or kicked to refinement.
- Tighten the title. Tickets live in lists; titles need to be scannable. Under 80 characters; lead with the verb or symptom.
- Confirm labels and priority.
- Verify the source link. Provenance only works if the link does.
Paste into the tracker — same day
The longer the gap between meeting and tracker, the more drift happens. For Linear, the keyboard flow (C to create, paste, save, repeat) makes rapid ticket creation easy — a meeting that produced six tickets becomes six minutes of ticket creation. For other trackers, the markdown output pastes cleanly.
Handling meetings that produce many tickets
Some meetings — particularly customer escalation calls and large refinements — produce 6–12 tickets in a single session. Three rules for handling the volume cleanly. Generate first, prune second. Let the template generate every plausible ticket, even borderline ones. Then in the cleanup, decide what’s a real ticket and what isn’t. The cleanup question for each item: “Is this committed engineering work, or is it something we discussed?” Committed work keeps; discussed-but-no-commitment either gets downgraded to an open question on a related ticket, or dropped. Merge what should be one; split what should be two. The model sometimes produces two tickets that are really one (same goal, different implementation detail — merge them). The opposite failure is more common: a single ticket whose acceptance-criteria checklist is 12 items long is almost always two stories pretending to be one. Distinct tickets should have distinct user outcomes. Sequence the output. For Template D’s epic + stories output especially, the cleanup should add a suggested sequence: which story is the spine that everything else depends on, which stories are parallel, which require something to be learned first (implying a spike before them). The model often picks this up from the meeting; if not, add it.Refinement runs in half the time when the tickets already exist
The single largest downstream effect of this workflow is on refinement meetings. Refinement exists to sharpen tickets that already exist — to estimate, identify dependencies, surface technical risks. When refinement starts with already-shaped tickets that have context, acceptance criteria, out-of-scope, and open questions, it focuses on engineering specifics rather than reconstructing what tickets mean. Audit your refinement meetings monthly. If they’re still spending the first fifteen minutes clarifying what tickets mean, the tickets aren’t being created with enough context. Tighten the templates or the meeting habits. For customer escalations specifically, the closing loop is:- Tickets created same-day
- Ticket links sent to the customer or CSM with status: “we’ve logged this; here’s the link”
- When the fix ships, the engineer or PM updates the customer-facing status
Common pitfalls
- Skipping the cleanup pass. The model occasionally produces tickets that aren’t real work, or merges what should be two distinct tickets, or invents acceptance criteria. The cleanup catches these.
- Over-ticket creation. Not every “we should think about” deserves a ticket. The bar is “committed engineering work.” Speculative items belong as open questions on existing tickets.
- Vague titles. Tickets live in lists; lists get scanned. Lead with verbs or symptoms; cap at 80 characters.
- Skipping out-of-scope sections. Most tickets omit this. Most refinement friction comes from ambiguity about scope. Keep the out-of-scope section in every story.
- Inventing acceptance criteria. The model can synthesize plausible-sounding criteria that weren’t discussed. Either ground them in the conversation or flag as “(inferred — confirm in refinement)” and leave them open.
- No provenance linking. Tickets without a link back to source meetings lose context within weeks. Bake the source line into every template.
- Treating spike tickets as optional. Spikes that don’t get filed become future blockers. File them with the same discipline as stories.
- Bug reports without repro steps. A bug ticket without reproduction is functionally useless. If repro is unclear, write “Repro steps incomplete — follow up needed” and create a task to clarify before the bug enters refinement.
- Pasting the entire template output into the wrong field. Most trackers have separate fields for description, acceptance criteria, and notes. Take the thirty seconds to put each section in the right field.
- Letting tickets age in newly-created status. A ticket created and never triaged effectively doesn’t exist. Either move into the next refinement cycle or kill explicitly.
- Creating tickets for work that should go to another team. Don’t file it in yours; route it to theirs with a brief note. Keep your backlog honest about your team’s work.
Where to go next
- Workflows — the general shape this is an instance of
- Linear integration — the single-tool version of this workflow for Linear
- Cursor integration — for tickets that flow into coded prototypes
- Templates — the built-in
Ticket Generatorand other engineering-output templates - Custom templates — visibility, sharing, and edit permissions
- Composer — for tuning the prompt before saving as a workspace template
- Before a meeting — pre-seeding the template on refinement, design reviews, escalations
- Action items workflow — for the lighter case where you only need todos, not full tickets
- Structured meeting notes workflow — when you want decisions and open questions captured alongside the engineering work
- Meeting-to-prototype workflow — for the case where the next step is a prototype before tickets get cut

