Install
$ agentstack add skill-aiagentwithdhruv-skills-onboarding-kickoff ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Post-Kickoff Client Onboarding
Goal
Automated onboarding workflow that runs after kickoff call. Generates leads, creates campaigns, and sets up auto-reply system.
Inputs (from kickoff call)
Required:
client_name: Company nameclient_email: Primary contact emailservice_type: What service they providetarget_location: Geographic areaoffers: Three offers (pipe-separated)target_audience: Who they're targetingsocial_proof: Credentials/results
Optional:
lead_limit: Number of leads (default: 500)value_proposition: Additional context
Scripts
./scripts/gmaps_lead_pipeline.py- Lead generation./scripts/casualize_company_names_batch.py- Name casualization./scripts/instantly_create_campaigns.py- Campaign creation./scripts/onboarding_post_kickoff.py- Full orchestration./scripts/update_sheet.py- Sheet updates
Process
Step 1: Generate Lead Search Query
Format: {service_type} in {target_location} Example: "plumbers in Austin TX"
Step 2: Scrape and Enrich Leads
python3 ./scripts/gmaps_lead_pipeline.py \
--search "{service_type} in {target_location}" \
--limit {lead_limit} \
--sheet-name "{client_name} - Leads" \
--workers 5
Step 3: Casualize Company Names
python3 ./scripts/casualize_company_names_batch.py \
--sheet-url "{sheet_url}" \
--column "business_name" \
--output-column "casualCompanyName"
Step 4: Create Instantly Campaigns
python3 ./scripts/instantly_create_campaigns.py \
--client_name "{client_name}" \
--client_description "..." \
--offers "{offers}" \
--target_audience "{target_audience}" \
--social_proof "{social_proof}"
Step 5: Upload Leads to Campaigns
Distribute leads evenly across 3 campaigns via Instantly API.
Step 6: Add Knowledge Base Entry
Add entry to auto-reply knowledge base sheet for intelligent response handling.
Step 7: Send Summary Email
Send completion email to client with:
- Campaign links and leads counts
- Lead spreadsheet URL
- Auto-reply configuration details
- Next steps
Output
{
"status": "success",
"client_name": "...",
"sheet_url": "...",
"lead_count": 50,
"campaigns": [...],
"leads_uploaded": true,
"knowledge_base_updated": true,
"summary_email_sent": true
}
Timing
- Full workflow: ~10-15 minutes for 50 leads
- Lead scraping uses 5 workers by default
Error Handling
- < 10 leads found: Warn but continue
- 0 leads found: Error (bad search query)
- Instantly API error: Capture, note for manual fix
- Sheet/email failures: Log but complete workflow
Schema
Inputs
| Name | Type | Required | Description | |------|------|----------|-------------| | client_name | string | Yes | Company name | | client_email | string | Yes | Primary contact email | | service_type | string | Yes | What service they provide | | target_location | string | Yes | Geographic area | | offers | string | Yes | Three offers (pipe-separated) | | target_audience | string | Yes | Who they're targeting | | social_proof | string | Yes | Credentials/results | | lead_limit | integer | No | Number of leads (default: 500) |
Outputs
| Name | Type | Description | |------|------|-------------| | status | string | success/failure | | sheet_url | string | Lead spreadsheet URL | | lead_count | integer | Number of leads generated | | campaigns | array | Campaign IDs created | | summary_email_sent | boolean | Whether summary was emailed |
Credentials
| Name | Source | |------|--------| | APIFY_API_TOKEN | .env | | ANTHROPIC_API_KEY | .env | | INSTANTLY_API_KEY | .env |
Composable With
Skills that chain well with this one: gmaps-leads, casualize-names, instantly-campaigns, welcome-email
Cost
~$5-10 for 500 leads + campaigns
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: aiagentwithdhruv
- Source: aiagentwithdhruv/skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.