Agent skill
psp-kickoff
Adaptive router for the PSP skill pack.
From cmj-hub/claude-psp · 5 skills · 2 · pushed 2026-09-09
What it does when it runs
Adaptive router for the PSP skill pack. Detects state (brand-config? SOUL.md? primary PSP drafted? secondary PSPs? vocabulary refreshed?) and picks the next-best step. Loaded by the main psp skill on bare invocation. Inspired by the coldoutboundskills kickoff pattern.
Read from the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- Read
- Grep
- -
- Bash
- Actions present in the files
- shell
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/cmj-hub/claude-psp.git /tmp/claude-psp git -C /tmp/claude-psp sparse-checkout set "skills/psp-kickoff" mkdir -p ~/.claude/skills/psp-kickoff cp -R "/tmp/claude-psp/skills/psp-kickoff/." ~/.claude/skills/psp-kickoff/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
Or take the whole library
This repo ships a .claude-plugin manifest, so Claude Code can install all 5 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.
/plugin marketplace add cmj-hub/claude-psp /plugin
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from cmj-hub/claude-psp/blob/970cb1702ffdf35663b81946f64f46aa30507cf5/skills/psp-kickoff/SKILL.md, which is licensed MIT (skill frontmatter). 377 words, 7 headings.
PSP Kickoff — adaptive router
State-aware router for PSP work. Operators don't ship outreach on day 1 — they walk a sequence: ICP precision → primary PSP → vocabulary mining → secondary PSPs → operationalize signal hunting → refresh.
Activation
Loaded by psp on bare invocation, or:
- "Where do I start with PSPs"
- "What's next for my PSP work"
- "I'm new to PSPs"
State detection
state = {
"has_brand_config": file_exists("brand-config.json"),
"has_soul": file_exists("SOUL.md"),
"has_primary_psp": brand_config.psp_drafts.primary and brand_config.psp_drafts.primary.pain != "",
"has_secondary_psp": brand_config.psp_drafts.secondary is not None,
"vocabulary_ok": len(brand_config.psp_drafts.primary.vocabulary or []) >= 4,
"signals_sourced": any value true in brand_config.signal_sources,
"psp_age_days": days_since(brand_config.psp_drafts.primary.refreshed_at),
}
| State | Route to |
|---|---|
!has_brand_config OR !has_soul | psp-onboarding |
has_config AND !has_primary_psp | psp-construct (build primary PSP) |
has_primary_psp AND !vocabulary_ok | "Vocabulary list <4 phrases — let's mine more. Need help?" |
vocabulary_ok AND !signals_sourced | "Pick signal sources. Run psp signal-hunt." |
signals_sourced AND psp_age_days > 90 | "PSP last refreshed >90 days ago — re-run onboarding refresh" |
signals_sourced AND psp_age_days < 90 | "PSP is fresh + operational. Want to build a secondary PSP? Or push downstream into claude-evp + claude-cold-email?" |
Welcome flow
> /psp
Welcome. Let's figure out where you are.
[Detected: brand-config.json missing]
You're at step 1 of 6:
1. ⬜ Onboarding — capture ICP + 1 primary PSP draft (15 min) ← YOU ARE HERE
2. ⬜ Mine 8+ vocabulary phrases from real buyer writing
3. ⬜ Pick signal sources + cadence
4. ⬜ Run first signal hunt → 5-10 candidates
5. ⬜ Build secondary PSP for the next-priority segment
6. ⬜ Plug into claude-evp + claude-cold-email downstream
Step 1 takes ~15 minutes. Ready? (y/n)
Status check mode
/psp status:
# PSP program status
Brand config: ✓ brand-config.json
SOUL: ✓ SOUL.md (3 stories)
Primary PSP: ✓ "Series-B SaaS pipeline-gap" (refreshed 12 days ago)
Vocabulary: ✓ 8 phrases mined
Signal sources: ✓ LinkedIn + Crunchbase + 2 RSS feeds
Secondary PSP: ⬜ Not yet built
Recommended next step:
→ Build secondary PSP for your next-priority segment, OR
→ Push primary PSP into claude-evp (lock the EVP) + claude-cold-email (ship outreach)
References
../psp-onboarding/SKILL.md../psp-construct/SKILL.md../psp-signal-hunt/SKILL.md
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- cold-email-kickoff by growthenginenowoslawski · 705
- operator-pass-kickoff by JMC-Go-to-market · 3
- evp-kickoff by cmj-hub · 2
Need help setting it up?
This page tells you what psp-kickoff does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.