Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions jlc-vertrieb-mittelstand/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "jlc-vertrieb-mittelstand",
"version": "1.0.0",
"description": "B2B sales for the German Mittelstand — cold-outreach waves, trigger-based lead identification, sniper accounts, and a battle-tested cold-mail tuning pattern. Built by a BAFA-funded consultant in DACH for manufacturing accounts (30-250 employees).",
"author": {
"name": "Lepper Consulting",
"url": "https://lepperconsulting.de"
},
"homepage": "https://github.com/janjotel/jlc-vertrieb-mittelstand",
"license": "MIT",
"keywords": [
"sales",
"b2b",
"mittelstand",
"dach",
"outreach",
"cold-email",
"cold-call",
"trigger-based-selling",
"manufacturing"
]
}
22 changes: 22 additions & 0 deletions jlc-vertrieb-mittelstand/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Local settings (user-specific, should not be committed)
settings.local.json
.claude/settings.local.json
**/.claude/settings.local.json

# OS
.DS_Store
Thumbs.db

# Editors
.vscode/
.idea/
*.swp
*.swo
*~

# Node / Python misc (in case the user adds tooling later)
node_modules/
__pycache__/
*.pyc
.venv/
venv/
21 changes: 21 additions & 0 deletions jlc-vertrieb-mittelstand/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Lepper Consulting

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
74 changes: 74 additions & 0 deletions jlc-vertrieb-mittelstand/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# JLC Vertrieb Mittelstand — Cold-Outreach + Trigger-Based Selling for German B2B

A Claude plugin built for solo consultants and small sales teams running B2B outreach into the German **Mittelstand** (manufacturing SMEs, 30-250 employees, DACH region). Encodes the patterns that a BAFA-funded sales consultant in DACH refined across ~4 months of weekly outreach waves into roughly 60 manufacturing accounts.

It is not a generic sales plugin. It is opinionated about:

- **Wave-based cold outreach** — small, named, weekly batches (5-10 accounts) instead of bulk sequences
- **Trigger-driven lead identification** — fresh hooks (new VP Sales, hiring signals, funded news) over evergreen lists
- **Sniper accounts** — 2-3 named ICP fits per cycle with a per-account hand-built first touch, not a template merge
- **A tuning pattern** for cold mail that survived contact with real prospects — region-anchored, pain-first, brand-word prominent

## Why this plugin

Most sales tooling assumes a US-style funnel: high-volume sequencing, generic personalization tokens, CRM-first. That does not fit the DACH Mittelstand. German manufacturing buyers respond to: regional proximity, named pain with a verifiable source, a clear competence anchor, and an unhurried CTA.

This plugin captures the cadence, gates, and tuning rules built by a solo consultant with a B2B sales background (large industrial OEMs, 20+ years) and four months of live outreach iteration. It is offered as a contribution to the `anthropics/knowledge-work-plugins` catalogue so other solo consultants and small sales teams in DACH can start from a tested baseline rather than a blank template.

## What's inside

Four skills, each loaded automatically when relevant:

| Skill | Triggers when you say… |
|---|---|
| `cold-outreach-welle` | "build wave 7", "next outreach batch", "10 prospects this week" |
| `trigger-pipeline` | "find leads from this week's news", "VP-sales hiring signals", "trigger-based prospecting" |
| `sniper-leads` | "3 named accounts to chase", "top ICP fits in my region", "build a sniper list" |
| `outreach-tuning` | "tune my cold mail", "v2 my draft", "this mail feels generic" |

Plus:

- `examples/` — wave template, trigger types, pre-send checklist
- `docs/` — installation and end-to-end workflow

## Installation

### Cowork

Install from [claude.com/plugins](https://claude.com/plugins/) once this plugin is added to a marketplace — or sideload by pointing Cowork at this repository directory.

### Claude Code

```bash
# Add a marketplace that includes this plugin, then:
claude plugin install jlc-vertrieb-mittelstand
```

Once installed, skills fire automatically when their triggers appear in conversation. No slash commands — the plugin is skills-only.

## Making it yours

Three things you will want to override:

1. **Your region anchor.** The skills reference "your region" rather than a specific city. Drop your actual region/city into a `settings.local.json` and the skills will consume it.
2. **Your competence anchor.** The substance line at the close of every cold mail (years in industry, certifications, references) is yours, not ours.
3. **Your ICP.** The hard gates here are calibrated for manufacturing SMEs 30-250 FTE in DACH. If you sell into a different segment, edit the gates in `skills/sniper-leads/SKILL.md` and `skills/cold-outreach-welle/SKILL.md`.

A starter `settings.local.json` example is included in `docs/installation.md`.

## What this plugin is NOT

- **Not a sequencer.** It does not send mail. It produces drafts you review and send manually. (Cold outreach into the Mittelstand rewards low volume + high care.)
- **Not a CRM.** It assumes you already track leads somewhere — Notion, a spreadsheet, anywhere.
- **Not enrichment.** It works fine alongside enrichment tools but does not depend on them.
- **Not US-style high-volume.** The cadence caps at ~30 cold touches per week per consultant. The patterns break above that.

## Author

[Lepper Consulting](https://lepperconsulting.de), Ravensburg/DACH. BAFA-certified sales consultant for the German Mittelstand. Background: 20+ years B2B sales at large industrial OEMs.

This plugin is an open-source contribution to the Anthropic knowledge-work-plugins catalogue — same shape as the official `sales` plugin, but opinionated for the DACH Mittelstand segment that the generic plugin does not cover.

## License

MIT — see [LICENSE](LICENSE).
94 changes: 94 additions & 0 deletions jlc-vertrieb-mittelstand/docs/installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Installation

## In Claude Cowork

If this plugin has been added to a marketplace you've subscribed to:

1. Open Cowork
2. Settings → Plugins → install `jlc-vertrieb-mittelstand`

If you want to sideload from a local clone:

1. Clone this repository
2. In Cowork: Settings → Plugins → Add local plugin → point at the cloned directory

The skills register automatically. No restart needed.

## In Claude Code

```bash
# Add the marketplace (replace with your marketplace if different)
claude plugin marketplace add [your-marketplace]

# Install
claude plugin install jlc-vertrieb-mittelstand
```

Verify:

```bash
claude plugin list
```

You should see `jlc-vertrieb-mittelstand` with four skills.

## Configuration

The plugin needs three pieces of personalization to produce useful output. Create a `settings.local.json` in any folder Cowork has access to (or at `jlc-vertrieb-mittelstand/.claude/settings.local.json` for Claude Code):

```json
{
"consultant": {
"name": "Your Name",
"brand": "Your Consultancy",
"region": "Your City / Region",
"brand_word": "Your tagline — e.g. 'Vertrieb neu denken'",
"substance_anchor": "20+ years B2B sales at [reference industry OEM], [certification], [optional]",
"calendar_link": "https://your-booking-link",
"language": "de"
},
"icp": {
"industries": ["machine building", "tooling", "metalworking", "plastics"],
"fte_min": 30,
"fte_max": 250,
"regions": ["DACH", "specific sub-region if narrower"]
},
"volume_cap": {
"cold_touches_per_week": 30
}
}
```

The plugin reads these values into its skills automatically. If `settings.local.json` is absent, the skills will ask interactively the first time they fire.

## Settings precedence

1. `settings.local.json` in the active Cowork folder (highest)
2. `settings.local.json` in `~/.config/jlc-vertrieb-mittelstand/`
3. `jlc-vertrieb-mittelstand/.claude/settings.local.json` (Claude Code default)
4. Interactive prompt (lowest — only when nothing else is found)

## Troubleshooting

**Skills don't fire when expected.**
Skill triggers are matched against your conversation. If you say "build outreach" the wave skill should fire; if it doesn't, try "build wave 7" or "next outreach batch" — the wave-language is what the skill listens for.

**Drafts come back generic.**
Check that `consultant.region` and `consultant.brand_word` are set in your settings. The V2 pattern depends on both being non-empty. The skill won't refuse to run without them — it will just produce template-quality output.

**ICP gates feel too tight.**
The gates are calibrated for manufacturing SME (30-250 FTE) in DACH. If you sell into a different segment, override in `settings.local.json` under `icp` — the skills consume those values.

**The plugin asks for things that should be set in settings.**
That's a fallback when `settings.local.json` is missing or under-filled. Answer once, then save the answers into `settings.local.json` so the prompt doesn't repeat.

## Uninstall

```bash
# Claude Code
claude plugin uninstall jlc-vertrieb-mittelstand
```

Or in Cowork: Settings → Plugins → toggle off.

Your `settings.local.json` is left intact; remove it manually if you want a fully clean uninstall.
113 changes: 113 additions & 0 deletions jlc-vertrieb-mittelstand/docs/workflow-overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# End-to-End Workflow

How the four skills fit together for a typical week of outreach.

## The weekly rhythm

```
Monday morning → trigger-pipeline (60-90 min)
Source 10-15 trigger hits, score against ICP,
short-list to 5-8 for the week's wave.

Monday late morning → sniper-leads (60 min)
If 2-3 of the trigger hits score 9-10,
lift them out and treat them as snipers
instead of folding them into the wave.

Mon-Tue afternoon → cold-outreach-welle (90-120 min)
Build 5-8 drafts for the wave. Each goes
through trigger-mining + email-verify
+ V2 tuning before it lands in Drafts.

Tuesday late → outreach-tuning (45-60 min)
Run every draft (wave + snipers) through
the 10-point checklist. Revise or drop.

Wed-Thu → SEND (manual — the plugin never auto-sends)
3-4 drafts per send-day, spaced across
Wednesday and Thursday.

Friday → reply watch + log
Check bounces, reply triage. Log results
in your CRM/pipeline. Identify wave-level
patterns for next week.
```

Total operating cost: 5-7 hours per week of senior consultant time.

Output: 5-10 cold touches per week + 2-3 sniper touches per week = ~10 cold-outreach touches sent per week, well under the 30-per-week volume cap.

## The skill-graph

```
┌──────────────────────┐
│ trigger-pipeline │
│ (source leads) │
└────┬─────────────────┘
│ scored, ICP-filtered candidates
┌────────┴───────────┐
│ │
v v
┌──────────────────┐ ┌──────────────────┐
│ cold-outreach- │ │ sniper-leads │
│ welle (5-10) │ │ (2-3, hand-made)│
└────┬─────────────┘ └────┬─────────────┘
│ wave drafts │ sniper drafts
│ │
v v
┌──────────────────────────────┐
│ outreach-tuning │
│ (V2 audit, 10-point check) │
└────┬─────────────────────────┘
│ tuned drafts
v
USER (manual send)
v
reply watch / next week's cycle
```

## What gets shared between skills

- **ICP definition** — the hard gates (industry / size / region / group / reachable) are the same across all four skills. Define them once in `settings.local.json`.
- **Region anchor** — used by `cold-outreach-welle`, `sniper-leads`, and enforced by `outreach-tuning`. One value, three readers.
- **Brand word** — same: defined once, used everywhere.
- **Substance anchor** — same.

## What stays per-skill

- **Wave gates** are wave-specific (volume cap, 50%-template rule, send-day spread)
- **Sniper scoring** is sniper-specific (the 8+/10 threshold)
- **Trigger taxonomy** lives only in `trigger-pipeline`
- **The 10-point checklist** lives only in `outreach-tuning`

## Typical pipeline math

For a single-consultant practice running this rhythm steady-state:

| Stage | Per week | Per month |
|---|---|---|
| Trigger hits sourced | 10-15 | ~50 |
| ICP-qualified (after gates) | 4-6 | ~20 |
| Drafts shipped (wave + sniper) | 5-8 | ~25 |
| Replies | 1-2 | 4-8 |
| Conversations booked | 0-1 | 2-4 |
| Audit-tier engagements | — | 1-2 |

These are realistic working numbers for a B2B sales advisory practice in DACH Mittelstand. Above-average response weeks happen; below-average weeks also happen. Treat the monthly number as the trend.

## When to break the rhythm

- **Hot follow-up:** if a reply comes in mid-week, drop the rhythm and respond same-day. The plugin's cadence is for cold; warm conversations supersede.
- **Anniversary cluster:** if your region has 5+ T4 anniversaries in the same quarter, you can run a dedicated wave around that single trigger.
- **Live event:** if a trade show is happening in your region, build a pre-event wave to all attending Mittelstand SMEs in your ICP — the event itself becomes the anchor.

## When to add tooling

The standalone tier (browser + manual sourcing) works up to roughly 30 touches per week. Above that, expect tooling spend:

- ~99 EUR/mo LinkedIn Sales Navigator at >50 candidates/week
- ~50-150 EUR/mo for a managed scraping channel (LinkedIn pages, press monitoring) at >100 candidates/week

Do not buy tooling earlier — the patterns matter more than the volume in the first 3-6 months.
Loading