一键导入
cleanup-deals
Standardize deal pipelines, remove test deals, and address deals with missing amounts or close dates. Coordinates with Salesforce sync if applicable.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Standardize deal pipelines, remove test deals, and address deals with missing amounts or close dates. Coordinates with Salesforce sync if applicable.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
User-invoked skill to upload one or more local Markdown files to Travis's Google Drive as native Google Docs (not as .md attachments) using the gws CLI. Default destination is the "Claude-Uploads" folder at Drive root. Trigger phrases include "upload to drive", "convert to google doc", "send this to claude-uploads", "publish these to drive", "drop these markdown files into drive", "make google docs from these". For batches of 2+ files, dispatch one parallel subagent per file.
Edit a LinkedIn draft before its copy lands in the Jira CSV. Two quick passes (hook/tightness, then a hard compliance gate) plus a scaled score. Enforces linkedin-writing-guide.md so voice/policy rules are checked by a fresh pass, not self-graded by the drafter. Use inside linkedin-process.md (Step 4.5) or standalone on any drafts/ file.
When the user wants webinar promotional emails — the 3-email sequence (intro at T-10d, value reiteration at T-3d, last reminder at T-1d) for both Cerkl and the partner, plus the 1:1 sales outreach snippet reps paste into active deals. Trigger phrases include "promo emails", "webinar emails", "email sequence", "promotional emails", "draft the emails", "T-10 email", "day-before email", "last reminder email", "sales outreach snippet", "sales email template", "something for sales to send", "1:1 rep outreach". Run this AFTER the brief is filled out.
Sub-agent brief for the Deal Report's inference pass — reads ONE flagged deal's cleaned email threads + structural metrics and returns sentiment, the open next-step, and a short risk narrative. Invoked only on deals the rules band watch/at_risk (or a deal Travis names). Never sets the band; explains it.
When the user wants to convert a rendered HTML file to a PDF, when a process is generating a print-format deliverable (one-pager, slide handout, designed report), when the final step of a render pipeline needs to produce a .pdf sibling. Triggers on phrases like "render to PDF," "save as PDF," "convert to PDF," "print this." Built-in verify gate: runs html-overflow-detector first; if the HTML has layout overflow, the PDF is NOT written and the caller is told to apply remediation. Invoked automatically by one-pager-process.md as the final step after md-to-html.
Render the full Canva asset pack for one webinar by dispatching one parallel sub-agent per manifest in the event's canva-manifests/ folder. Each sub-agent invokes template-fill against its assigned manifest and returns the Canva edit URL. The orchestrator appends each URL to its manifest YAML (primary source-of-truth) and mirrors the URL into the Drive MAP's Deliverable column (bonus for the internal team). Trigger phrases: 'render the canva assets for [webinar]', 'kick off canva render for rachel', 'run the asset pack render', 'fill all the webinar templates'. Inputs: event-folder path + headshot Canva asset ID. Output: chat-printed roll-up of role → URL + warnings + manual_drag_required list.
| name | cleanup-deals |
| description | Standardize deal pipelines, remove test deals, and address deals with missing amounts or close dates. Coordinates with Salesforce sync if applicable. |
| license | MIT |
| metadata | {"author":"tomgranot","version":"1.0","category":"ongoing-maintenance"} |
Standardize deal data to make pipeline reporting accurate. Test deals, missing amounts, and stale opportunities distort forecasts and pipeline metrics.
.envhubspot-api-client installed via uvIf deals are synced from Salesforce:
hs_salesforceopportunityid property.Pull deal metrics via the API:
from hubspot import HubSpot
from hubspot.crm.deals import PublicObjectSearchRequest
api_client = HubSpot(access_token=os.getenv("HUBSPOT_API_TOKEN"))
# Deals missing amount
no_amount = PublicObjectSearchRequest(
filter_groups=[{
"filters": [{
"propertyName": "amount",
"operator": "NOT_HAS_PROPERTY"
}]
}]
)
# Deals missing close date
no_close = PublicObjectSearchRequest(
filter_groups=[{
"filters": [{
"propertyName": "closedate",
"operator": "NOT_HAS_PROPERTY"
}]
}]
)
Record: total deals, deals per pipeline stage, deals missing amount, deals missing close date, stale deals (open with no activity in 60+ days).
amount and work with sales to fill in values or mark as lost.amount and closedate as mandatory deal properties to prevent future gaps.