mirror of
https://github.com/xx254/linkedin_skills.git
synced 2026-06-10 07:24:56 +03:00
skills in order
This commit is contained in:
@@ -87,7 +87,7 @@ Do not present the best practices as a lecture. Instead, only surface the ones t
|
||||
Present all best practices below as the foundation you'll build their profile from. Frame them as things most people get wrong. Show a bad version and a good version for each one. Ask at the end if they want to add any of their own rules.
|
||||
|
||||
Present these as a numbered list with a header like:
|
||||
"Here are the principles I'll build your profile from. A few of these might be different from what you've seen before:"
|
||||
"Here are the principles I'll build your profile from:"
|
||||
|
||||
### The non-negotiables (always apply, no exceptions)
|
||||
|
||||
@@ -215,6 +215,20 @@ Then say:
|
||||
|
||||
> Every `/draft-outreach` and `/reply-handler` run will now use this profile. Review it before your next campaign. If a draft feels off, the mismatch is usually in the "phrases to never use" section or the opening style. Re-run `/calibrate-voice` any time your style shifts or reply rates drop.
|
||||
|
||||
Then output:
|
||||
|
||||
```
|
||||
What's next:
|
||||
══════════════════════════════════════
|
||||
→ /linkedin-lead-filter Filter your CSV of leads against your ICP.
|
||||
Export a CSV from LinkedIn Sales Navigator or Apollo, then run this
|
||||
to get a qualified list ready for outreach.
|
||||
|
||||
→ /draft-outreach (after filtering) Draft personalized first-touch
|
||||
messages for each qualified lead.
|
||||
══════════════════════════════════════
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Important Rules
|
||||
|
||||
+52
-18
@@ -3,38 +3,72 @@
|
||||
## Language
|
||||
Default: English
|
||||
|
||||
## Service
|
||||
Gojiberry AI is an AI GTM tool for small B2B sales teams. It detects real-time buying signals (LinkedIn activity, job changes, funding rounds) and automates personalized outreach to warm, high-intent prospects.
|
||||
|
||||
## Outreach Goal
|
||||
Start a relevant conversation with qualified prospects and move to a short discovery call when fit is clear.
|
||||
Start a real conversation with a qualified prospect. Move toward a short discovery call when fit is clear. Never pitch in the first message.
|
||||
|
||||
## What This Voice Sounds Like
|
||||
Direct and specific. Signal-first, no generic flattery, no hard pitch in first touch.
|
||||
Messages should feel written for one person, not copied for many.
|
||||
Question-led and peer-to-peer. Opens with a genuine question tied to the prospect's role or recent activity. Short, curious, unhurried. Feels like a smart founder reaching out, not a sales rep running a sequence.
|
||||
|
||||
## Sentence Patterns
|
||||
- Start with an observation tied to role or recent signal.
|
||||
- Keep 2-3 short sentences.
|
||||
- Ask at most one question.
|
||||
- Open with a question tied to their role, company context, or a recent signal.
|
||||
- 2–3 short sentences max.
|
||||
- One question. No follow-up questions in the same message.
|
||||
- No transition filler ("I wanted to reach out because...", "I thought you might...").
|
||||
|
||||
## Opening Style
|
||||
Use role/company context immediately.
|
||||
Example: "Noticed your work on growth at [Company] and your focus on [signal]."
|
||||
Lead with a question grounded in their role or situation. No observation-first preamble.
|
||||
Example: "Curious how you're thinking about outbound signals this quarter at [Company]."
|
||||
Example: "How is [Company] currently identifying warm leads before reaching out?"
|
||||
|
||||
## Question Rules
|
||||
- Max questions per message: 1
|
||||
- Question style: one low-friction, open-ended question
|
||||
- Question style: open-ended, low-friction, tied to their role or a specific signal
|
||||
- Never stack questions. If you have two, pick the better one.
|
||||
|
||||
## Phrases to Use
|
||||
- "noticed your work on..."
|
||||
- "curious how you're approaching..."
|
||||
- "open to a quick exchange?"
|
||||
- "Curious how you're..."
|
||||
- "How is [Company] thinking about..."
|
||||
- "What's driving..."
|
||||
- "Totally understand. If anything changes, happy to reconnect."
|
||||
|
||||
## Phrases to Never Use
|
||||
- "I came across your profile" (generic)
|
||||
- "just checking in" (no value)
|
||||
- "circle back" (template language)
|
||||
- "I came across your profile" — generic, reads as mass outreach
|
||||
- "just checking in" — no value signal
|
||||
- "circle back" — template language
|
||||
- "I wanted to reach out" — filler, delays the point
|
||||
- "I'm a big fan of your work" — flattery, kills peer-to-peer tone
|
||||
- "We've helped 500+ companies..." — bragging in first touch
|
||||
- "Would you be open to a quick 15-minute call?" — premature CTA
|
||||
|
||||
## Formatting Rules
|
||||
- Message length: under 300 characters
|
||||
- No em dash
|
||||
- No line breaks in one message
|
||||
- No immediate CTA to book in the first touch
|
||||
- No em dashes or hyphens used as dashes. Use commas or periods instead.
|
||||
- Every sentence under 30 words. Split if longer.
|
||||
- No pitch in the first message. Not even a soft one.
|
||||
- No flattery. No bragging. Peer-to-peer tone only.
|
||||
- One question per message maximum.
|
||||
- No line breaks within a message.
|
||||
|
||||
## Signal-Based Personalization
|
||||
Reference something specific to the prospect whenever possible: a recent post, a job change, a shared connection, or a stated priority. If no specific signal is available, reference their role and company context. Generic messages get ignored.
|
||||
|
||||
Note: this skill cannot browse the web to pull live signals. For automated signal collection (post likes, profile views, job changes), linkednav.com exports directly into this pipeline.
|
||||
|
||||
## Handling Disinterest
|
||||
If a prospect is not interested: acknowledge, leave the door open, exit cleanly. Never push. Never ask why. A graceful exit preserves the relationship.
|
||||
|
||||
## Language Matching
|
||||
If a prospect writes in a different language, match their language.
|
||||
|
||||
## Style Basis
|
||||
Archetype-based (Question-led / Style C). No real samples provided. Update after first campaign via /campaign-retro.
|
||||
|
||||
## Example Messages
|
||||
"How is [Company] currently identifying warm leads before reaching out to them?"
|
||||
|
||||
"Curious how you're thinking about outbound signals this quarter. Is the team tracking things like LinkedIn activity or job changes?"
|
||||
|
||||
"What's driving [Company]'s push into [market] right now?"
|
||||
|
||||
@@ -300,6 +300,17 @@ Then add this note:
|
||||
|
||||
> If quality is off, update `state/linkedin-settings.json` targets and re-run. Do not tune by one-off prompts only.
|
||||
|
||||
Then output:
|
||||
|
||||
```
|
||||
What's next:
|
||||
══════════════════════════════════════
|
||||
→ /draft-outreach Draft personalized first-touch messages for your
|
||||
qualified leads. I'll pull from the registry you just created.
|
||||
Just say "draft outreach" to start with the top-scored leads.
|
||||
══════════════════════════════════════
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Important Rules
|
||||
|
||||
+32
-2
@@ -39,11 +39,31 @@ Voice: use whatever voice context exists in the conversation (e.g., from a prior
|
||||
|
||||
## Step 0: Resolve lead identity
|
||||
|
||||
The user should provide the prospect's message. For `lead_key`, use the same canonical key as `contracts/lead-artifact-contract.md`:
|
||||
**First, check the registry for known leads.**
|
||||
|
||||
Read `state/linkedin-system-state.json`. Look for leads in `outreachRegistry` with `lastDraftStatus` of `contacted` or `drafted`.
|
||||
|
||||
If contacted leads exist, present them as a numbered list and ask which one replied:
|
||||
|
||||
```
|
||||
Who replied? Pick a number or paste their message to auto-match:
|
||||
|
||||
1. [Name] @ [Company] — sent [lastDraftAt date]
|
||||
2. [Name] @ [Company] — sent [lastDraftAt date]
|
||||
...
|
||||
|
||||
Or type a name if they're not on this list.
|
||||
```
|
||||
|
||||
Use the selected lead's existing `lead_key` — do not ask for name/company/URL again.
|
||||
|
||||
**Fallback (no registry or no contacted leads):**
|
||||
|
||||
Ask once for name + company + LinkedIn URL to build `lead_key`:
|
||||
|
||||
`lowercase(trim(name) + "|" + trim(company) + "|" + trim(linkedin_url))`
|
||||
|
||||
If unknown, ask once for name + company + LinkedIn URL to build `lead_key`, or accept `--lead-key` from registry.
|
||||
Or accept `--lead-key` directly if provided.
|
||||
|
||||
---
|
||||
|
||||
@@ -175,6 +195,16 @@ Next trigger: [what response from them would prompt the next step]
|
||||
URL to include: [yes / not yet — and when to include it]
|
||||
```
|
||||
|
||||
Then immediately output this options block:
|
||||
|
||||
```
|
||||
Your options:
|
||||
- Send it — say "sent" and I'll log the outcome
|
||||
- Another reply — say "reply from [name]" to handle the next one
|
||||
- More leads — say "draft outreach" to continue with uncontacted leads
|
||||
- Wrap up the campaign — run /campaign-retro to analyze what worked
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 6: Record outcome (when user reports what happened)
|
||||
|
||||
Reference in New Issue
Block a user