Prioritize rep-ready pipeline by ranking accounts, suppressing in-flight motion, selecting the best reachable contact, and producing a connector-grounded account action view plus a concise planning-only action package from CRM, user-provided lists, saved context, and optional enrichment evidence.
net_new, expansion, or mixed, suppresses accounts already in motion, and returns a small set of executable Suggested Focus rows. Its primary output is a connector-grounded account action view that can be opened in Codex when connected source records or useful source links are available. It plans and drafts only: it does not execute outreach, create records, update CRM, or send messages unless the user explicitly asks for that in a separate step.sales:user-context in preflight mode by loading [$sales:user-context](../user-context/SKILL.md) and running its preflight script before searching connectors, retrieving evidence, or drafting output. Do not look for a callable MCP tool named sales:user-context.sales_preflight envelope as authoritative for saved context, source-category mapping, final obligations, and conditional guidance.final_obligations unless the response is clarification-only. If an obligation is an onboarding reminder and the account-prioritization output also needs a skill-owned final continuation, satisfy both in one final natural continuation instead of rendering a standalone onboarding reminder plus a second CTA.context_gap_note only when missing setup or inaccessible sources materially limits the prioritization.context.sources from the sales_preflight envelope to resolve each attempted semantic source category to available apps, connectors, and helper skills. Defer connector fallback, source preferences, durable source rules, and helper-skill loading mechanics to sales:user-context. Do not prompt about categories this skill does not attempt.crm_account_truth: live CRM data, CRM export, or user-provided CRM-equivalent account truth that includes candidate accounts, owner scope, pipeline view, customer status, or opportunity/account recordsaccount_set: candidate accounts, owner scope, territory, ICP, segment, pipeline view, or other account universe to prioritize; default open pipeline deals when the user does not specifyranking_basis: what "best" means for this run, such as deal value, likelihood to close soon, product or usage signal, expansion potential, named-account priority, or mixed rep actionability; default deal value / ACVmotion_goal: net_new, expansion, or mixed; default mixedbatch_size; default 5capacity_window; default to batch_sizesignal_preferenceproduct_focusexclude_accountsuploaded_examplesaccount_set=open pipeline deals, ranking_basis=deal value / ACV, motion_goal=mixed, and the user's saved CRM preference as source of truth.Scope instead of blocking.crm: account truth, owner scope, territory or book, customer status, open opportunities, stage, amount, forecast posture, recent activity, contacts, account hierarchy, suppression signals, and CRM-backed account lists.calendar: recent or upcoming external meetings that suppress, down-rank, or explain active motion.meeting_notes: recent customer-call context, objections, decision process, urgency, stakeholder coverage, and continuity signals that materially change ranking or next action.document_store: account plans, territory docs, named-account lists, ICP guidance, sales plays, saved team priorities, or source-of-truth ranking/suppression conventions.data_enrichment: account fit, contact availability, tech stack, funding, hiring, and other account trigger context when CRM or user-provided CRM-equivalent truth is thin.external_messaging: recent customer engagement, timing, objections, stakeholder continuity, or duplicate-motion signals.internal_messaging: active seller/team motion, internal blockers, owner ambiguity, deal-desk or account-team signals, and suppression evidence when the user wants internal context.crm is required as the source of account truth for the standard account action view. If live CRM is unavailable, use a CRM export or user-provided CRM-equivalent account truth only after making clear that live CRM was unavailable. If neither live CRM nor CRM-equivalent truth exists, stop and offer to connect/install CRM when possible, or ask for a CRM export, account list with CRM fields, owner scope, territory, or account context.data_enrichment only after the CRM account universe or CRM-equivalent export is anchored. It can improve fit, contactability, and why-now context, but it must not create the candidate universe by itself or overwrite CRM/user-provided CRM truth.calendar, meeting_notes, external_messaging, internal_messaging, and document_store whenever they are available and plausibly relevant to suppression, active-motion detection, timing, risk, contact choice, deal context, or next action. If checked and no relevant evidence appears, note the no-match only when it affects confidence.Low confidence or partial status for weaker but still actionable rows; return fewer than N only when fewer viable candidates remain after suppression/blocking, and say why.crm truth and existing internal motion before enrichment or drafting.calendar, meeting_notes, external_messaging, and internal_messaging as timing, suppression, and why-now signals; do not use them to create the candidate account universe or overwrite CRM/user-provided account truth.crm or user-provided truth.crm, CRM export, or user-provided CRM-equivalent inputs, stop and explain the blocker briefly.## Prioritize Accounts
This skill helps decide which accounts to work now and why. It can use account lists, territories, CRM, firmographic/enrichment context, calendar, recent engagement, pipeline data, saved ICP guidance, and user-provided priorities. It produces a source-grounded account action view plus a ranked account list with reasons, confidence, suppressions, key contacts or gaps, and recommended next actions.
Definitions:
- ICP: ideal customer profile, the criteria that define what a strong-fit account looks like for the sales motion.
- Suppression: a reason to deprioritize or exclude an account for now, such as active motion, unclear ownership, or unsafe duplicate outreach.
Prioritize accounts for pipeline focus.@Sales prioritize these target accounts for pipeline focus this week.@Sales rank my territory accounts by where I should spend time next.@Sales use this ICP and account list to pick the best ten outreach targets.prioritize-accounts is the active workflow must end with exactly one user-visible next action, phrased as a natural sentence or question in the ordinary prose of the response. This is a final-response gate, not a journey preference. It applies even when the response is only a short answer, local rewrite, one-paragraph summary, confirmation, readback, source-gap note, partial result, status after creating/updating/posting/writing/linking an artifact, or explanation of what changed. Before sending, inspect the final visible assistant-written content: if it does not end with a concrete next action, add the earliest valid continuation below or explicitly choose one of the allowed omission reasons.DONT_NOTIFY, or another active parent flow owns the final CTA. Required-input and clarification responses are not omission cases; make the unresolved question the final natural continuation.sales_preflight final obligations include a core-onboarding reminder, fold the reminder into this same final natural continuation. Do not render a separate onboarding reminder plus a second CTA.| State | Use when | Final continuation |
|---|---|---|
| 1. Review the account ranking | The first substantive ranking or Suggested Focus list has just been produced. | Anything you'd change in the ranking, suppression rules, or Suggested Focus list before we act on it? |
| 2. Review the revised ranking | The user asked for any change to criteria, suppression rules, rows, contact choices, scoring, source weighting, or formatting. Make the change in chat first. | Anything else you'd change? If that looks right, want me to turn the accepted ranking into outreach drafts, CRM next actions, an owner tracker, or a spreadsheet? |
| 3. Prepare the activation artifact | The user accepts the ranking, says no changes are needed, says a revision looks good, or asks to operationalize the list. | Offer to produce the most useful next artifact or draft action, prioritizing outreach drafts, CRM next actions, an owner/action tracker, contact-selection guidance, or a spreadsheet over broad suggestions. |
| 4. Review the artifact or draft | Outreach drafts, CRM-ready actions, a tracker, contact-selection guide, or spreadsheet exists, or the user asks to change it. | Anything you'd change before I save, share, or write the approved account actions? |
| 5. Save, share, or write approved account action | A reviewed artifact or draft exists and does not need edits. | Offer the specific supported action, such as saving the spreadsheet, sharing the owner tracker, creating reviewed outreach drafts, or writing approved CRM next actions. Do not post, send, or write CRM changes unless the user explicitly asks for that action or approves the reviewed draft/update. |
Prepare the activation artifact. If the previous continuation offered to prepare an artifact or draft, produce that artifact or draft for review; do not interpret the acknowledgement as approval to post, send, or write externally. If the previous continuation offered to save, share, or write a specific reviewed action, a lightweight affirmative can authorize that specific action when the available tool supports it. Execute the accepted action, then render the next valid natural continuation.assets/account-priority-pane.template.html${TMPDIR:-/tmp}/prioritize-accounts/index.html%TEMP%\prioritize-accounts\index.html/private/tmp in Windows-facing output. URL-encode spaces if emitting a file:// URL.Suggested Focus, Monitor, Suppress Or Block, Evidence Gaps, and Source & Run Details contracts below. Serialize Suggested Focus rows under the existing workNow payload key for template compatibility.< with \u003c.__PRIORITIZE_ACCOUNTS_DATA_JSON__ with the escaped JSON.Next Step Guidance.{
"title": "Prioritize Accounts",
"generatedAt": "2026-05-29T19:30:00Z",
"source": {
"label": "Salesforce/CRM",
"status": "Connected sources used"
},
"scope": {
"accountSet": "Open pipeline deals",
"rankingBasis": "Deal value / ACV",
"sourceOfTruth": "Salesforce/CRM plus recent meetings",
"sourceScope": "Salesforce/CRM plus recent meetings",
"actionOwner": "Rep-owned next actions",
"accountOwner": "Rep-owned next actions",
"ownershipActionModel": "Rep-owned next actions",
"motionGoal": "mixed",
"batchSize": 5,
"capacityWindow": 5,
"sourcesChecked": ["crm", "calendar", "meeting_notes"],
"evidenceLanes": ["crm", "calendar", "meeting_notes"],
"assumptions": "Assumption-based only when applicable"
},
"workNow": [
{
"rank": 1,
"account": "Acme Corporation",
"accountUrl": "https://example.my.salesforce.com/001000000000000",
"motion": "expansion",
"whyNow": "Source-grounded timing reason.",
"primaryContact": "Dana Price, VP Operations",
"secondaryContact": "Lee Chen, Director Data Platform",
"oppRecommendation": "work account before opp",
"nextStep": "Confirm security reviewer and send pilot success criteria.",
"sequenceAngle": "Pilot success criteria tied to expansion timeline.",
"confidence": "High",
"status": "ready_now"
}
],
"monitor": [
{
"account": "Beta Inc.",
"accountUrl": "https://example.my.salesforce.com/001000000000001",
"motion": "net_new",
"reasonToMonitor": "Good fit, but no immediate trigger.",
"triggerToRevisit": "New executive hire or product signal.",
"status": "monitor"
}
],
"suppressOrBlock": [
{
"account": "Gamma LLC",
"accountUrl": "https://example.my.salesforce.com/001000000000002",
"motion": "expansion",
"suppressorOrBlocker": "Recent external meeting already in motion.",
"evidence": "CRM activity and calendar meeting.",
"status": "suppressed"
}
],
"evidenceGaps": [
"Missing direct contact path for some otherwise strong accounts."
]
}
Suggested Focus, Monitor, Suppress Or Block, Evidence Gaps, and Source & Run Details. Keep the view and any chat fallback semantically identical. If local file creation is impossible, or if no useful source search/linking is available, render the structured package directly and state why the account action view could not be created.net_new, expansion, or mixed.capacity_window or batch_size.references/request-schema.yaml only when structured input validation, YAML normalization, or machine-readable field shape matters.Default Intake Behavior.crm as the required account truth source for the standard run.Monitor solely because confidence is lower; use confidence and status labels instead.net_new, expansion, or unknown_branch.crm-backed evidence for customer status, current owner, open opportunities, recent or upcoming meetings, and current stage of any existing motion.net_new and expansion logic in the same row. Pick one branch and state it.partial or blocked instead of guessing.references/suppression-and-fallbacks.md when suppression, blocking, monitoring, or fallback-lane behavior needs more detail than these rules.why_now;crm contact truth first.crm is thin, use user-provided contacts, document_store account context, public research, or user-provided market intelligence as fallback.meeting_notes, external_messaging, and internal_messaging only as corroboration or continuity lanes, not as the sole source of contact fit.crm first for account and opportunity truth.calendar, meeting_notes, external_messaging, internal_messaging, document_store, and data_enrichment context that could improve prioritization, suppression, timing, confidence, or next action.calendar to suppress or down-rank accounts with meetings already in flight.external_messaging, internal_messaging, and meeting_notes only when they materially change timing, urgency, contact choice, or the sequence angle.Suggested FocusMonitorSuppress Or BlockEvidence GapsSource & Run DetailsSuggested Focus first in the account action view. Sellers should see the priority accounts, why-now evidence, contacts, recommendations, and suggested next steps before run metadata. Put source of truth, sources checked, account set, ranking basis, counts, assumptions, and last-updated details at the bottom in Source & Run Details.Source & Run Details, name the resolved account set, ranking basis, source of truth, action owner, batch size or capacity window, and main sources checked. If the run used assumptions, label the result as assumption-based. If the source was broadened after a no-results guard, label it as partial rather than a definitive "best accounts" result.rank to 1, 2, 3, and so on in the serialized view payload, where 1 is the highest-priority account to work first. The chat fallback can rely on table order, but the view should display the priority number as plain text.| Account | Why Now | Primary Contact | Secondary Contact | Opp Recommendation | Suggested Next Step | Sequence Angle | Confidence | Status |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
net_new or expansion, but do not render Motion as a column in the account action view or chat fallback.accountUrl when a CRM, document, spreadsheet, or other source-of-truth record URL is available. In Salesforce, prefer the UI record URL for the Account. The account name renders as a clickable link when this field is populated.Jun 1 or Jun 1, 2026 instead of 2026-06-01. Machine fields such as generatedAt may remain ISO because the view formats them for display.Why Now must be source-grounded. If it is not well supported, the row should not be in Suggested Focus.Secondary Contact may be None when multithreading is not supported by evidence.Opp Recommendation should be concise and practical, for example work account before opp, create opp after discovery, or expand existing motion later.Suggested Next Step must be an immediate rep action and should be populated from nextStep or suggestedNextStep in the serialized payload. This is an assistant recommendation, not a CRM field value.Sequence Angle should summarize the outreach hook, not render a full sequence.Confidence should be a plain-language rating such as High, Medium, or Low.Status must be ready_now or partial in Suggested Focus; move blocked and suppressed rows to later sections.Monitor row schema:| Account | Reason To Monitor | Trigger To Revisit | Status |
| --- | --- | --- | --- |
Suppress Or Block row schema:| Account | Suppressor Or Blocker | Evidence | Status |
| --- | --- | --- | --- |
Evidence Gaps for a flat list of the most important missing inputs, connector truth, or account gaps that limited the run.assets/account-priority-pane.template.html using Account Action View Output only when useful source search/linking is available. The account action view is the primary presentation in that case. In the chat response, return the view link first and then a concise readout of the ranking, source of truth, and evidence gaps. Render the full chat tables only when the user asks for plain text, when no useful source search/linking is available, when local file creation is impossible, or when a parent flow explicitly requires chat-only output.(no useful link available) when that absence matters.external_messaging, include a clickable Markdown link to each created draft using the URL returned by the app. If only copy is drafted in chat, say no email draft was created.