Skip to content
Report library
Purpose / Data analysis

Revops Skill Security Audit

What the author says it does (original text)

When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes. Also use when the user mentions 'RevOps,' 'revenue operations,' 'lead scoring,' 'lead routing,' 'MQL,' 'SQL,' 'pipeline stages,' 'deal desk,' 'CRM automation,' 'marketing-to-sales handoff,' 'data hygiene,' 'leads aren't getting to sales,' 'pipeline management,' 'lead qualification,

Independent security check

Security risks found

Files checked
6
Risks found
5
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.No risks found
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.Risks found: 2
Medium risk

Default context-file reading can expose confidential marketing information to the AI context

Source references: 1
What we found

The Skill instructs the agent to read product-marketing files from several conventional locations before asking the user, without first confirming what is needed for the current task. Such files may contain positioning, customer, pricing, or launch strategy information.

Why this matters

If accessible, their contents may enter model context, logs, or generated documents even when the RevOps question does not require all of them. The source does not show network exfiltration, but it broadens exposure of sensitive business material.

This is a live Skill instruction: if a named file exists, the AI reads it before asking questions. Its contents therefore enter the model context even when the user only needs narrow RevOps advice. The source does not require prior scope confirmation or exclusion of sensitive fields. Risk depends on what the file contains and the AI service's data handling; this does not prove disclosure occurred. Users can ask for opt-in access, task-limited excerpts, and clear retention boundaries.

SKILL.md:14In the instructionsOpen original file
**Check for product marketing context first:**If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Medium risk

Recipes send lead data to Slack, an enrichment provider, and advertising audiences

Source references: 4
What we found

One cross-tool workflow enriches contacts with Clearbit and posts enriched data to Slack. Another adds scored leads to Facebook or Google Ads retargeting audiences. It does not require consent, data minimization, or channel-access checks first.

Why this matters

Once implemented, contact identity, behavior, and inferred commercial interest can be exposed to additional employees and third-party platforms, creating privacy, contractual, advertising-compliance, or account-governance risk.

These are setup recipes, not actions that run merely because the Skill is installed. If implemented, however, contacts are enriched through Clearbit, enriched data is posted to Slack, and threshold-qualified leads are added to Facebook or Google Ads audiences. These steps do not require consent checks, field minimization, retention limits, or review of Slack/ad-account access. Users can ask the author to identify transferred fields and processors and add consent and opt-out checks.

references/automation-playbooks.md:239In the instructionsOpen original file
**Trigger:** New form submission (Typeform, HubSpot, Webflow)**Actions:**1. Create/update contact in CRM2. Enrich with Clearbit (if available)3. Post to Slack #new-leads with enriched data4. Create task in project management tool (Asana, Linear)
Show 3 other places
references/automation-playbooks.md:267In the instructionsOpen original file
**Trigger:** CRM lead score crosses MQL threshold**Actions:**1. Update marketing automation platform status2. Add to retargeting audience (Facebook, Google Ads)3. Trigger SDR outreach sequence4. Log event in analytics (Mixpanel, Amplitude)
references/automation-playbooks.md:237In the instructionsOpen original file
### 1. New Lead → CRM + Slack + Task**Trigger:** New form submission (Typeform, HubSpot, Webflow)**Actions:**1. Create/update contact in CRM2. Enrich with Clearbit (if available)3. Post to Slack #new-leads with enriched data4. Create task in project management tool (Asana, Linear)
references/automation-playbooks.md:265In the instructionsOpen original file
### 4. Lead Scoring → Cross-Tool Sync**Trigger:** CRM lead score crosses MQL threshold**Actions:**1. Update marketing automation platform status2. Add to retargeting audience (Facebook, Google Ads)3. Trigger SDR outreach sequence4. Log event in analytics (Mixpanel, Amplitude)
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.Risks found: 1
Medium risk

Automated deduplication, merging, and archiving can cause lasting CRM data loss

Source references: 5
What we found

The Skill recommends weekly automated deduplication, with generic rules that prefer the CRM record and the most recent field activity. It also recommends archiving contacts after 12 months without activity, without requiring a complete backup, field-by-field conflict review, or recovery test.

Why this matters

False matches can merge different people, and a newer incorrect value can overwrite accurate information. Archiving may also hide records still needed for contracts, support, renewals, or legal retention.

The Skill recommends weekly automated deduplication with generic precedence rules for conflicting fields, plus archiving contacts inactive for 12 months. If applied directly, merging can overwrite older but correct values, while archiving can remove still-useful contacts from normal workflows. The risk is narrower than outright “data loss”: edge cases receive manual review and archiving is not deletion. Still, no backup, full conflict review, or restore test is specified. Users can require candidate-only reports, pre-merge snapshots, and tested recovery.

SKILL.md:243In the instructionsOpen original file
- **Matching rules** — Email domain + company name + phone as primary match keys- **Merge priority** — CRM record wins over marketing automation; most recent activity wins for fields- **Scheduled dedup** — Run weekly automated dedup with manual review for edge cases
Show 4 other places
SKILL.md:263In the instructionsOpen original file
- Review and merge duplicates- Validate email deliverability on stale contacts- Archive contacts with no activity in 12+ months- Audit lifecycle stage distribution (look for bottlenecks)
references/routing-rules.md:134In the instructionsOpen original file
2. **Assign account owners** in CRM (1 rep per account)3. **Match logic:** Any lead from a target account domain routes to account owner4. **Matching rules:**   - Email domain match (primary)   - Company name fuzzy match (secondary, requires manual review)   - IP-to-company resolution (tertiary, for anonymous visitors)
SKILL.md:241In the instructionsOpen original file
### Dedup Strategy- **Matching rules** — Email domain + company name + phone as primary match keys- **Merge priority** — CRM record wins over marketing automation; most recent activity wins for fields- **Scheduled dedup** — Run weekly automated dedup with manual review for edge cases
SKILL.md:261In the instructionsOpen original file
### Quarterly Audit Checklist- Review and merge duplicates- Validate email deliverability on stale contacts- Archive contacts with no activity in 12+ months- Audit lifecycle stage distribution (look for bottlenecks)- Verify enrichment data accuracy on a sample set
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.No risks found
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.Risks found: 2
Medium risk

Scores and timers can automatically start outreach and reassign lead ownership

Source references: 4
What we found

The recipes automatically promote contacts and trigger sales handling at a fixed score, while overdue contacts can be reassigned and given urgent tasks. Neither ownership changes nor sequence enrollment requires human approval.

Why this matters

A bad score, missing activity record, or timing error could cause inappropriate or duplicate outreach and disrupt existing customer relationships, account ownership, and commission attribution.

These are example HubSpot workflows a user would have to implement; the Skill does not itself operate the CRM. Once implemented, a score of 65 automatically changes lifecycle state, suppresses nurture, and invokes an alert workflow that may enroll the contact in a sales sequence; after 48 hours it can rotate ownership. No human approval precedes these business-state or ownership changes, creating plausible misrouting, duplicate contact, or unwanted outreach. Users can require draft/approval mode and restrict automatic enrollment and reassignment.

references/automation-playbooks.md:24In the instructionsOpen original file
**Name:** MQL SLA Breach Alert**Trigger:** Contact property "Lifecycle Stage" equals "MQL" AND "Days since last contacted" is greater than 0.5 (12 hours)**Actions:**1. Send internal email to contact owner: "SLA warning: [Contact Name] has not been contacted"2. If still no activity after 24 hours → send alert to sales manager3. If still no activity after 48 hours → reassign contact owner via rotation4. Create task for new owner: "Urgent: Contact [Contact Name] — reassigned due to SLA breach"**Outcome:** No MQL goes unworked for more than 48 hours
Show 3 other places
references/automation-playbooks.md:38In the instructionsOpen original file
**Name:** Auto-MQL on Score Threshold**Trigger:** Contact property "HubSpot Score" is greater than or equal to 65**Actions:**1. Set lifecycle stage to "Marketing Qualified Lead"2. Set "MQL Date" to current date3. Suppress from marketing nurture workflows4. Trigger MQL Alert workflow (recipe #1)**Outcome:** Leads automatically promote to MQL when they hit the scoring threshold**Notes:** Add suppression list for existing customers and competitors
references/automation-playbooks.md:14In the instructionsOpen original file
2. Send internal email notification to contact owner with lead context3. Create task: "Follow up with [Contact Name]" — due in 4 hours4. Send Slack notification to #sales-alerts channel5. Enroll in "MQL Follow-Up" sequence (if using HubSpot Sequences)**Outcome:** Every MQL gets assigned instantly with a clear SLA
references/automation-playbooks.md:9In the instructionsOpen original file
**Name:** MQL Notification and Task Creation**Trigger:** Contact property "Lifecycle Stage" is changed to "Marketing Qualified Lead"**Actions:**1. Rotate contact owner among sales team (round-robin)2. Send internal email notification to contact owner with lead context3. Create task: "Follow up with [Contact Name]" — due in 4 hours4. Send Slack notification to #sales-alerts channel5. Enroll in "MQL Follow-Up" sequence (if using HubSpot Sequences)**Outcome:** Every MQL gets assigned instantly with a clear SLA**Notes:** Set enrollment criteria to exclude leads already owned by a rep
Low risk

Generic negative scoring can wrongly exclude legitimate prospects

Source references: 3
What we found

The template applies penalties to competitor, educational, and personal email addresses and to student, intern, and consultant titles. If tied to automation, these proxies may control sales handling even though they do not reliably establish purchasing authority or legitimacy.

Why this matters

Poorly calibrated rules can deny responses to particular groups, discard valid opportunities, and make commercial decisions difficult to explain. They may also invite fairness or policy scrutiny in some regions or industries.

The template deducts points based on domain, email type, and job title, while an automation example changes status and starts sales handling at a score of 65. These proxies can therefore delay or prevent legitimate leads from reaching the threshold. The candidate omits safeguards in the notes: competitor domains are flagged for review, educational addresses may be valid, and personal-email treatment should be adjusted for SMBs. Risk chiefly arises if the template is automated unchanged. Users can require outcome validation, review of negatively scored records, and exceptions.

references/scoring-models.md:107In the instructionsOpen original file
| Signal | Points | Notes ||--------|--------|-------|| **Competitor email domain** | -50 | Auto-flag for review || **Student email (.edu)** | -30 | May still be valid in some cases || **Personal email (gmail, yahoo)** | -10 | Less relevant for B2B; adjust for SMB || **Unsubscribe from emails** | -20 | Reduce engagement score || **Bounce (hard)** | -50 | Remove from scoring || **Spam complaint** | -100 | Remove from all sequences || **Job title: Student/Intern** | -25 | Low buying authority || **Job title: Consultant** | -10 | May be evaluating for client || **No website visit in 90 days** | -15 | Score decay |
Show 2 other places
references/scoring-models.md:105In the instructionsOpen original file
## Negative Scoring Signals| Signal | Points | Notes ||--------|--------|-------|| **Competitor email domain** | -50 | Auto-flag for review || **Student email (.edu)** | -30 | May still be valid in some cases || **Personal email (gmail, yahoo)** | -10 | Less relevant for B2B; adjust for SMB || **Unsubscribe from emails** | -20 | Reduce engagement score || **Bounce (hard)** | -50 | Remove from scoring || **Spam complaint** | -100 | Remove from all sequences || **Job title: Student/Intern** | -25 | Low buying authority || **Job title: Consultant** | -10 | May be evaluating for client || **No website visit in 90 days** | -15 | Score decay || **Invalid phone number** | -10 | Data quality signal || **Careers page visitor only** | -30 | Likely a job seeker |
references/automation-playbooks.md:38In the instructionsOpen original file
**Name:** Auto-MQL on Score Threshold**Trigger:** Contact property "HubSpot Score" is greater than or equal to 65**Actions:**1. Set lifecycle stage to "Marketing Qualified Lead"2. Set "MQL Date" to current date3. Suppress from marketing nurture workflows4. Trigger MQL Alert workflow (recipe #1)**Outcome:** Leads automatically promote to MQL when they hit the scoring threshold**Notes:** Add suppression list for existing customers and competitors

Inside this skill

8 instruction sections

This Skill provides RevOps recommendations and configuration templates, asking for lifecycle, scoring, routing, pipeline, and dashboard documents. The supplied source contains no executable scripts or installation commands. Its main risks arise if a user or agent implements the recipes in CRM, Slack, advertising, or email systems.

View source
SKILL.md:297In the instructionsOpen original file
When delivering RevOps recommendations, provide:1. **Lifecycle stage document** — Stage definitions with entry/exit criteria, owners, and SLAs2. **Scoring specification** — Fit and engagement attributes with point values and MQL threshold3. **Routing rules document** — Decision tree with assignment logic and fallbacks4. **Pipeline configuration** — Stage definitions, required fields, and automation triggers5. **Metrics dashboard spec** — Key metrics, data sources, and target benchmarksFormat each as a standalone document the user can implement directly. Include platform-specific guidance when the CRM is known.

It first looks for and reads a product-marketing context file, then decides what additional information to request. This expands the local business material read by default for each RevOps request.

View source
SKILL.md:14In the instructionsOpen original file
**Check for product marketing context first:**If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.

The automation recipes describe implementation actions that change contact owners, lifecycle stages, tasks, email sequences, and external notifications—not merely analysis. If granted write access to CRM or communication tools, their effects can extend beyond read-only recommendations.

View source
references/automation-playbooks.md:10In the instructionsOpen original file
**Name:** MQL Notification and Task Creation**Trigger:** Contact property "Lifecycle Stage" is changed to "Marketing Qualified Lead"**Actions:**1. Rotate contact owner among sales team (round-robin)2. Send internal email notification to contact owner with lead context3. Create task: "Follow up with [Contact Name]" — due in 4 hours4. Send Slack notification to #sales-alerts channel5. Enroll in "MQL Follow-Up" sequence (if using HubSpot Sequences)**Outcome:** Every MQL gets assigned instantly with a clear SLA**Notes:** Set enrollment criteria to exclude leads already owned by a rep
Start here · InstructionsSKILL.md
revops
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source. 6 more sections are available in the original file.

File reference map

References: 4
Files making referencesReferenced content
Lines show actual file references, not execution order. Select a node to highlight its connections and inspect the files and source locations. Dashed lines include files that still need locating.
Files and check records6 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included
  • references/automation-playbooks.mdFull text included
  • references/lifecycle-definitions.mdFull text included
  • references/routing-rules.mdFull text included
  • references/scoring-models.mdFull text included
  • evals/evals.jsonFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions
  • evals/evals.jsonSupporting file
  • references/automation-playbooks.mdSupporting file
  • references/lifecycle-definitions.mdSupporting file
  • references/routing-rules.mdSupporting file
  • references/scoring-models.mdSupporting file
Lines read
1,460
File checksum (to compare versions)
1b7f75ff97c9823997fb562ae425b6ebec3f76a3d9475f2a3cf71262f8f7eea4