一键导入
install-prospector
// Create a B2B SaaS sales research agent — asks domain-specific questions and scaffolds a Trinity-compatible prospector agent customized to your sales stack
// Create a B2B SaaS sales research agent — asks domain-specific questions and scaffolds a Trinity-compatible prospector agent customized to your sales stack
Add a memory system to an agent — file awareness, knowledge graph, structured state, or multi-session tracking
Modify an existing playbook based on conversation context or explicit instructions. Use when user wants to update, fix, extend, or refine a playbook they already have.
Create a new skill or playbook. Guides through requirements gathering and generates the appropriate template based on complexity.
Create an executive chief of staff agent — asks about your tools, team, and priorities, then scaffolds a Trinity-compatible agent for daily briefings, meeting prep, and decision tracking
Scaffold a new Trinity-compatible Claude Code agent from scratch on any topic. Creates directory, CLAUDE.md, skills, and Trinity files — ready for development.
Create a content writer agent — asks about your brand voice, platforms, and topics, then scaffolds a Trinity-compatible ghostwriter agent that writes in your voice
| name | install-prospector |
| description | Create a B2B SaaS sales research agent — asks domain-specific questions and scaffolds a Trinity-compatible prospector agent customized to your sales stack |
| argument-hint | [destination-path] |
| disable-model-invocation | false |
| user-invocable | true |
| allowed-tools | Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion |
| metadata | {"version":"1.2","created":"2026-04-04T00:00:00.000Z","author":"Ability.ai"} |
Create a B2B SaaS sales research agent powered by Claude Code and compatible with Trinity for remote deployment, scheduling, and orchestration.
What you'll get:
Built by Ability.ai — the agent orchestration platform.
If the user provided a destination path as an argument, use it. Otherwise, ask:
Use AskUserQuestion:
~/prospector — Home directory (recommended)./prospector — Current directoryDefault to ~/prospector if no preference.
Expand ~ to the actual home directory using:
echo "$HOME"
Validate the destination does not already exist:
ls -la [destination] 2>/dev/null
If it exists, warn the user and offer:
Ask these 4 questions to customize the agent. Each answer directly shapes the generated files.
Use AskUserQuestion:
Store the answer — it customizes: research depth, data points prioritized, scoring criteria in CLAUDE.md and /score-fit.
Use AskUserQuestion:
Store the answer — it customizes: .env.example (API keys), .mcp.json.template (tool configs), research instructions in skills.
Use AskUserQuestion:
Store the answer — it customizes: output format guidance in CLAUDE.md, field mapping notes in research skill.
Use AskUserQuestion:
Store the answer — it customizes: which data points get top billing in research output, scoring weight in /score-fit.
mkdir -p [destination]/.claude/skills/research-company
mkdir -p [destination]/.claude/skills/score-fit
mkdir -p [destination]/.claude/skills/update-dashboard
Write [destination]/CLAUDE.md with the following content, customized based on wizard answers.
ICP-specific customization rules:
Tool-specific customization rules:
CRM-specific customization rules:
Priority-specific customization rules:
# CLAUDE.md
## Identity
You are **Prospector** — a B2B SaaS sales research agent that helps SDRs and BDRs deeply understand target companies before outreach.
You specialize in researching [ICP segment from Q1] companies. You pull data from [tools from Q2], synthesize it into actionable intelligence, and format it so your team can use it immediately.
You think like a top-performing SDR who does their homework. Every piece of research you surface should answer: "Why should we reach out to this company, and what should we say?"
## Core Capabilities
| Skill | Purpose |
|-------|---------|
| `/research-company` | Deep-dive company research — [priority from Q4], plus supporting data |
| `/score-fit` | Score a company against your [ICP from Q1] criteria |
| `/update-dashboard` | Refresh Trinity dashboard with current prospecting metrics |
## Research Sources
[For each tool selected in Q2, add a line:]
- **[Tool name]** — [How the agent uses this tool for research]
[If no tools selected, add:]
- **Web research** — Public sources, company websites, press releases, job boards
## How to Work With This Agent
### Quick Start
1. Run `/research-company Acme Corp` to get a full company brief
2. Run `/score-fit Acme Corp` to see how well they match your ICP
3. Use the research to personalize your outreach
### Development Workflow
Build this agent iteratively:
1. **Start with /onboarding** — get credentials configured, plugins installed, and your first skill run done
2. **Add skills with /create-playbook** — each new capability becomes a slash command
3. **Refine skills with /adjust-playbook** — improve based on real usage
4. **Deploy when ready** — run `/trinity:onboard` to go live on Trinity
### Deploying to Trinity
When you're ready to run this agent remotely (scheduled tasks, always-on, API access), run `/trinity:onboard` from this directory. It configures Trinity compatibility and publishes the agent to your instance.
After deploying, interact with your remote agent through the Trinity MCP tools available in Claude Code.
Learn more at [ability.ai](https://ability.ai)
### Recommended Plugins
/plugin install agent-dev@abilityai # Create new skills, add memory /plugin install trinity@abilityai # Deploy to Trinity
## Project Structure
prospector/ CLAUDE.md # This file — agent identity and instructions dashboard.yaml # Trinity dashboard metrics template.yaml # Trinity metadata .env.example # Required environment variables .gitignore # Git exclusions .mcp.json.template # MCP server config template .claude/ skills/ research-company/SKILL.md # Company research skill score-fit/SKILL.md # ICP fit scoring skill update-dashboard/SKILL.md # Dashboard metrics updater
## Artifact Dependency Graph
```yaml
artifacts:
CLAUDE.md:
mode: prescriptive
direction: source
description: "Agent identity and behavior — single source of truth"
research-company/SKILL.md:
mode: prescriptive
direction: source
description: "Company research workflow — core capability"
score-fit/SKILL.md:
mode: prescriptive
direction: source
description: "ICP scoring criteria and methodology"
dashboard.yaml:
mode: descriptive
direction: target
sources: [update-dashboard/SKILL.md]
description: "Trinity dashboard layout and metrics — updated by /update-dashboard"
template.yaml:
mode: prescriptive
direction: source
description: "Trinity deployment metadata"
[Customize based on CRM from Q3:]
[If Salesforce:] Structure research output to align with Salesforce Account fields — Industry, Annual Revenue, Number of Employees, Description, and custom fields your team uses.
[If HubSpot:] Structure research output to align with HubSpot Company properties — industry, revenue, employee count, description, and lifecycle stage signals.
[If Pipedrive:] Structure research output to align with Pipedrive Organization fields — keep it concise and pipeline-focused.
[If None:] Output clean markdown briefs with clear sections. Prioritize scannability — SDRs read fast.
| Skill | Schedule | Purpose |
|---|---|---|
/research-company | On-demand | Run before calls, demos, or outreach sequences |
/score-fit | On-demand | Score new inbound leads or prospect lists |
/update-dashboard | 0 */6 * * * (every 6 hours) | Keep Trinity dashboard metrics current |
---
## STEP 5: Generate Skills
### 5a. /research-company
Write `[destination]/.claude/skills/research-company/SKILL.md`:
**Customize based on wizard answers:**
- ICP segment determines research depth and focus areas
- Tools determine where to look for data
- Priority determines what gets top billing in the output
- CRM determines output structure
```yaml
---
name: research-company
description: Deep-dive research on a B2B SaaS company — pulls data from available sources and synthesizes an actionable brief
argument-hint: "<company-name>"
allowed-tools: Read, Write, Bash, WebSearch, WebFetch, AskUserQuestion
user-invocable: true
metadata:
version: "1.0"
created: 2026-04-04
author: prospector
---
# Research Company
## Purpose
Research a B2B SaaS company and produce an actionable brief for SDR/BDR outreach preparation.
## Process
### Step 1: Identify the Company
If no company name was provided as an argument, use AskUserQuestion:
- **Question:** "Which company should I research?"
- **Header:** "Company"
- **Options:**
1. Let me type the company name
2. Paste a URL (company website, LinkedIn, Crunchbase)
### Step 2: Gather Data
Research the company using available sources. Search the web for:
[Customize this list based on ICP and priority from wizard answers]
**[If priority is Funding & financials:]**
1. **Funding history** — rounds, amounts, investors, valuation signals
2. **Revenue indicators** — employee count trends, job postings, pricing page analysis
3. **Burn rate signals** — recent layoffs, office downsizing, aggressive hiring
4. **Financial health** — profitability signals, runway estimates
**[If priority is Tech stack & tools:]**
1. **Known tech stack** — from job postings, BuiltWith, GitHub, case studies
2. **Tools they use** — integrations page, partner listings, review sites
3. **What they might replace** — complaints on G2/Capterra, outdated tech mentions
4. **Integration opportunities** — where your product fits in their stack
**[If priority is Org structure & key people:]**
1. **Leadership team** — C-suite, VPs, directors with LinkedIn profiles
2. **Org structure** — department sizes, reporting lines, recent reorgs
3. **New hires** — recent executive hires signal strategic shifts
4. **Decision-makers** — who owns budget for your product category
**[If priority is Recent news & triggers:]**
1. **Product launches** — new features, pivots, market expansion
2. **Press coverage** — media mentions, awards, analyst reports
3. **Leadership changes** — new CEO/CRO/CTO = new priorities
4. **Pain signals** — negative reviews, outage reports, regulatory issues
Then gather supporting data across all other categories.
### Step 3: Synthesize Brief
Produce a structured research brief:
One-liner: [What they do in ≤15 words] ICP Fit: [High / Medium / Low] — [one sentence why]
[Detailed findings for the user's top priority]
[If available — rounds, investors, estimated revenue]
[If available — known technologies, integrations]
[Relevant contacts — name, title, LinkedIn URL, notable background]
[Last 6 months — news, launches, hires, changes]
[List URLs used for this research]
### Step 4: Save Brief
Write the brief to `[agent-directory]/research/[company-name-slugified].md`.
```bash
mkdir -p research
Report the file location to the user.
research/[company].md
### 5b. /score-fit
Write `[destination]/.claude/skills/score-fit/SKILL.md`:
**Customize scoring criteria based on ICP segment from Q1:**
- **SMB SaaS** → weight: team size <100, recent funding, founder-led, modern tech stack
- **Mid-Market SaaS** → weight: 100-1000 employees, Series B+, departmentalized, growth signals
- **Enterprise SaaS** → weight: 1000+ employees, established procurement, multi-year contracts, global presence
```yaml
---
name: score-fit
description: Score a company against your ICP criteria to prioritize outreach
argument-hint: "<company-name>"
allowed-tools: Read, Write, Bash, WebSearch, WebFetch, Glob, AskUserQuestion
user-invocable: true
metadata:
version: "1.0"
created: 2026-04-04
author: prospector
---
# Score Fit
## Purpose
Score a B2B SaaS company against your ICP criteria to help prioritize outreach.
## Process
### Step 1: Get Company
If no company name was provided as an argument, use AskUserQuestion:
- **Question:** "Which company should I score?"
- **Header:** "Company"
- **Options:**
1. Let me type the company name
2. Score from existing research (check `research/` directory)
If scoring from existing research, read the most recent brief from `research/`.
### Step 2: Gather or Load Data
If a research brief exists in `research/[company].md`, load it. Otherwise, do a lightweight research pass (company website, LinkedIn, Crunchbase) to gather enough data to score.
### Step 3: Score Against ICP
[Customize criteria based on ICP segment from Q1]
**[If SMB SaaS:]**
Score on a 1-5 scale for each criterion:
| Criterion | Weight | What to look for |
|-----------|--------|-------------------|
| Team size | 20% | <100 employees, ideally 10-50 |
| Funding stage | 20% | Seed to Series A, recently funded = bonus |
| Tech stack fit | 20% | Modern stack, likely to adopt new tools |
| Growth signals | 20% | Hiring, product launches, expanding |
| Founder accessibility | 20% | Founder-led sales, active on LinkedIn/Twitter |
**[If Mid-Market SaaS:]**
| Criterion | Weight | What to look for |
|-----------|--------|-------------------|
| Company size | 20% | 100-1000 employees |
| Funding/revenue stage | 20% | Series B-D, $10M-$100M ARR signals |
| Department structure | 20% | Clear department owning your product area |
| Growth trajectory | 20% | Revenue growth, hiring in relevant teams |
| Competitive landscape | 20% | Using a competitor or underserved in your category |
**[If Enterprise SaaS:]**
| Criterion | Weight | What to look for |
|-----------|--------|-------------------|
| Company size | 15% | 1000+ employees |
| Budget signals | 20% | Known tech spend, procurement team exists |
| Strategic alignment | 25% | Your product fits their stated initiatives |
| Champion access | 20% | Can you reach a decision-maker or influencer? |
| Timing signals | 20% | Contract renewals, fiscal year, reorg, new leadership |
### Step 4: Generate Scorecard
Overall Score: [X]/5 — [Excellent / Good / Moderate / Weak / Poor] Fit
| Criterion | Score | Evidence |
|---|---|---|
| [criterion] | [1-5] | [one-line evidence] |
| ... | ... | ... |
[2-3 sentences: should the SDR prioritize this company? Why or why not?]
[Specific action: research deeper, reach out to [person], skip, revisit in Q[X]]
### Step 5: Save Scorecard
Append or write the scorecard to `research/[company-name-slugified]-score.md`.
## Outputs
- ICP fit scorecard with 1-5 scoring per criterion
- Overall recommendation (prioritize / deprioritize / revisit)
- Saved to `research/[company]-score.md`
Write [destination]/dashboard.yaml:
title: "Prospector"
refresh: 300
updated: "[today's date ISO]"
sections:
- title: "Status"
layout: grid
columns: 3
widgets:
- type: status
label: "Agent Status"
value: "Active"
color: green
- type: metric
label: "Last Activity"
value: "—"
description: "Most recent research or scoring run"
- type: metric
label: "Prospects Researched"
value: "0"
description: "Total company briefs generated"
- title: "Pipeline"
layout: grid
columns: 3
widgets:
- type: metric
label: "Companies Researched"
value: "0"
description: "Total in research/"
- type: metric
label: "ICP Fit Scores"
value: "0"
description: "Companies scored"
- type: list
title: "Recent Research"
items: []
max_items: 5
- title: "Quick Links"
layout: list
widgets:
- type: link
label: "Trinity Dashboard"
url: "https://ability.ai"
external: true
Write [destination]/.claude/skills/update-dashboard/SKILL.md:
---
name: update-dashboard
description: Refresh dashboard.yaml with current metrics from prospecting data
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
user-invocable: true
metadata:
version: "1.0"
created: 2026-04-04
author: prospector
---
# Update Dashboard
Refresh `dashboard.yaml` with current metrics gathered from prospecting data.
## Process
### Step 1: Gather Metrics
Read the agent's data sources:
- `research/*.md` (excluding `*-score.md`) — count company briefs, find most recent by file modification date
- `research/*-score.md` — count ICP fit scorecards
- Recent git activity: `git log --oneline -5`
Calculate:
- Total companies researched (count of non-score .md files in research/)
- Total ICP scores (count of *-score.md files in research/)
- Last activity date (most recent file modification in research/)
- Latest 5 research entries for the activity list
### Step 2: Update Dashboard
Read the current `dashboard.yaml`, update widget values:
- "Last Activity" → most recent file date in research/
- "Prospects Researched" → count of research briefs
- "Companies Researched" → same count
- "ICP Fit Scores" → count of score files
- "Recent Research" → last 5 research briefs (company name + date)
- `updated` → current ISO timestamp
Write the updated `dashboard.yaml`.
### Step 3: Confirm
Dashboard refreshed:
## Notes
- On Trinity remote, the dashboard path is `/home/developer/dashboard.yaml`
- This skill is designed to run on a schedule (every 6 hours recommended)
- Keep execution fast — read local files only, no web searches
## Outputs
- Updated `dashboard.yaml` with current metrics
Write [destination]/template.yaml:
name: prospector
display_name: Prospector
description: |
B2B SaaS sales research agent for [ICP from Q1] companies.
Pulls data from [tools from Q2], synthesizes actionable briefs,
and scores companies against your ICP criteria.
avatar_prompt: A sharp-eyed young professional in smart business casual — navy blazer over a crisp white shirt, no tie. Short styled hair, confident half-smile. Sitting at a modern desk with dual monitors showing company dashboards and org charts. Warm office lighting with a city skyline visible through floor-to-ceiling windows. The scene conveys intelligence, preparation, and quiet ambition. Digital art, clean lines, professional color palette.
resources:
cpu: "2"
memory: "4g"
Write [destination]/.env.example:
# Prospector — Environment Variables
# Copy this to .env and fill in your values
[If Apollo selected:]
# Apollo.io API key — get from https://app.apollo.io/#/settings/integrations/api
APOLLO_API_KEY=
[If LinkedIn Sales Navigator selected:]
# LinkedIn credentials (for Sales Navigator access)
# Note: LinkedIn doesn't offer a public API — Prospector uses web research as a supplement
LINKEDIN_EMAIL=
LINKEDIN_PASSWORD=
[If Crunchbase selected:]
# Crunchbase API key — get from https://data.crunchbase.com/docs/using-the-api
CRUNCHBASE_API_KEY=
[If ZoomInfo selected:]
# ZoomInfo API credentials — get from your ZoomInfo admin
ZOOMINFO_USERNAME=
ZOOMINFO_PASSWORD=
[If no tools selected:]
# No API keys required — Prospector uses web research
# Add API keys here as you integrate more tools
Write [destination]/.gitignore:
# Credentials — never commit
.env
.mcp.json
# Research output (optional — uncomment to track research in git)
# research/
# OS files
.DS_Store
Thumbs.db
# Claude Code
.claude/settings.local.json
Write [destination]/.mcp.json.template:
{
"mcpServers": {}
}
Note: MCP server entries should be added here as the user integrates specific tools. The base template starts empty since Prospector primarily uses web research and CLI tools.
cd [destination] && git init && git add -A && git commit -m "Initial agent scaffold: prospector"
Use AskUserQuestion:
gh repo create prospector --private --source=. --push (recommended)gh repo create prospector --public --source=. --pushIf option 1 or 2, run the command. If gh is not available, show manual instructions.
Display this summary:
## Prospector Installed
Your B2B SaaS sales research agent is ready.
### What Was Created
| File | Purpose |
|------|---------|
| `CLAUDE.md` | Agent identity — customized for [ICP] research |
| `.claude/skills/research-company/SKILL.md` | Deep-dive company research |
| `.claude/skills/score-fit/SKILL.md` | ICP fit scoring |
| `.claude/skills/update-dashboard/SKILL.md` | Dashboard metrics updater |
| `dashboard.yaml` | Trinity dashboard with prospecting metrics |
| `template.yaml` | Trinity deployment metadata |
| `.env.example` | API key template for [tools] |
| `.gitignore` | Excludes credentials and OS files |
| `.mcp.json.template` | MCP server config template |
### Next Steps
1. **Open Prospector:**
cd [destination] && claude
2. **Try your first research:**
/research-company [a company you're prospecting]
3. **Score a lead:**
/score-fit [company name]
4. **Install recommended plugins:**
/plugin install agent-dev@abilityai /plugin install trinity@abilityai
5. **Deploy to Trinity** (when ready):
/trinity:onboard
6. **Add cross-session durability** (recommended):
/agent-dev:add-git-sync
Happy prospecting!
| Situation | Action |
|---|---|
| Destination exists | Warn, offer to pick a different path |
| Git not installed | Skip git init, advise brew install git |
| User unsure about questions | Provide sensible defaults, allow skipping |
| gh CLI not available | Show manual GitHub repo creation instructions |
| No research tools selected | Default to web-only research — still fully functional |