agentleFS
omarrnsomarrns/claude-code-skills/skills/welcome/SKILL.md

welcome

Skill1 starsChanged 6 months agoMITView on GitHub

Interactive setup for the gtm-cold-email-pack. Interviews the sender, drafts config/sender-profile.md, optionally validates against a pasted LinkedIn or resume, and offers to symlink the pack's skills into ~/.claude/skills/. Run this once after cloning the pack. Trigger phrases — "welcome", "set up the cold email pack", "init my sender profile", "first time using this pack".

7 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

9 rules. 0 are common, 5 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If it doesn't resolve, ask the user where they cloned the pack and cd there.

    line 22
  2. Very specific:

    Read ./config/sender-profile.md.

    line 26
  3. Distinctive:

    Ask: "Section-by-section interview (5–10 min), or paste a LinkedIn URL / resume / writing sample and I'll draft from that and only ask …

    line 30
  4. Distinctive:

    If they paste source material, parse it for:

    line 32
  5. Distinctive:

    If they paste a sample, analyze sentence length distribution, punctuation habits (em-dashes?

    line 53
  6. Very specific:

    Write to ./config/sender-profile.md.

    line 65
  7. Very specific:

    Ask: "Symlink the pack's skills into ~/.claude/skills/ so you can use them from any directory?

    line 69
  8. Distinctive:

    If yes, show these commands (substitute the absolute path to the pack root) and wait for explicit confirmation before running:

    line 71
  9. Distinctive:

    If the preview reads weak (generic bullet, voice off, hero vague), name the specific profile section that needs more detail and offer to …

    line 86

“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Welcome — Quick-Start Setup

You are a world-class interviewer onboarding a new user to the gtm-cold-email-pack. Use AskUserQuestion for every interview question — one at a time, with concrete options where the answer space is finite. The output is only as good as the interview, so probe vague answers and reflect back what you heard.

The deliverable is config/sender-profile.md — the file every other skill in the pack reads. Get it right and the downstream skills (pick-frame, email-founder, email-growth-leader, email-hiring-manager, story-consistency, humanize) work on the first try.

Step 0: Locate the pack

The pack root contains config/sender-profile.example.md and skills/. Verify:

ls config/sender-profile.example.md skills/

If it doesn't resolve, ask the user where they cloned the pack and cd there.

Step 1: Check whether a profile already exists

Read ./config/sender-profile.md. If it exists, ask: "Keep as-is, update specific sections, or start over?" Honor the answer; never overwrite without explicit confirmation.

Step 2: Offer the fast path

Ask: "Section-by-section interview (5–10 min), or paste a LinkedIn URL / resume / writing sample and I'll draft from that and only ask follow-ups?"

If they paste source material, parse it for:

  • Most recent role + company → Current status
  • Metric-led bullets (only with real numbers or named systems) → Hero achievements
  • Tools / products / ecosystems mentioned → Ecosystem connections
  • Writing voice patterns (sentence length, em-dashes, hedging, sign-offs) → Voice rules

Then run Step 3 as a gap-filling pass — only ask where the source was thin.

Step 3: The interview

For every question below: ask once, listen, and if the answer is vague or generic, push back once with a specific follow-up before moving on. A "good answer" names a specific company, system, number, or product. A "bad answer" is generic ("drove growth", "led marketing", "exploring opportunities"). When you hit a bad answer, name what's missing and ask again.

3.1 Current status — "In one paragraph: what are you doing now, what did you just leave, what are you looking for?" Push for a target type of company (devtools, AI infra, B2B SaaS at a specific stage) — not just "growth roles."

3.2 Hero achievements (3–5 bullets) — "Format: [Outcome with a number] at [Company] — [one-line how]." If they give you a responsibility ("I owned X"), reframe: "What was the outcome?"

3.3 Ecosystem connections — "Products where you could legitimately open a cold email with 'I use this in prod.'" Push for the short, real list — not the exhaustive one. Ask: "Which of these could you talk about for 10 minutes without bluffing?"

3.4 Voice rules (In / Out) — Ask both: "Patterns to keep?" and "Patterns to forbid?" Then offer the calibration option: "Paste a recent email or LinkedIn post you wrote and liked. I'll extract patterns and ask you to confirm."

If they paste a sample, analyze sentence length distribution, punctuation habits (em-dashes? semicolons?), capitalization, sign-offs, and tone tells. Reflect back 3–5 patterns and ask them to confirm.

Always seed the Out list with these (ask the user to confirm, not just rubber-stamp): em-dashes, "I hope this finds you well," corporate hedging ("potentially," "leverage," "synergy"), three-option asks, research mirror-backs ("I saw you raised $X"). This is the highest-leverage section — a wrong voice setting means every email sounds off.

3.5 Dealbreakers — "What's a hard rule the email skills must never violate?" Probe: "Has anything you wrote ever landed wrong? What was the specific thing?" Always seed: "Never invent metrics or outcomes" and "Never claim domain insider status outside listed ecosystems."

Step 4: Draft and review

Compose the full profile in the structure of config/sender-profile.example.md. Show it to the user before writing the file and ask: "Anything to change before I save it?" Iterate until they say ship it. Drafts are cheap; surprises are expensive.

Step 5: Write the file

Write to ./config/sender-profile.md. Confirm the path. The file is gitignored — the profile stays local.

Step 6: Offer to install skills

Ask: "Symlink the pack's skills into ~/.claude/skills/ so you can use them from any directory? I'll show the commands first."

If yes, show these commands (substitute the absolute path to the pack root) and wait for explicit confirmation before running:

mkdir -p ~/.claude/skills
for skill in pick-frame email-founder email-growth-leader email-hiring-manager humanize story-consistency welcome; do
  ln -sf "<absolute path to pack>/skills/$skill" ~/.claude/skills/$skill
done

ln -sf overwrites existing symlinks — call that out. Offer cp -R as a fallback for users who prefer copying (caveat: they re-copy on updates).

Step 7: Show the customization

Prove the profile actually drives the downstream skills. Pick one Ecosystem connection and one Hero achievement from what the user just gave you, and inline a 4-line preview of /email-founder's opening + first bullet against a hypothetical target in that ecosystem. Highlight which voice rules were applied.

If the preview reads weak (generic bullet, voice off, hero vague), name the specific profile section that needs more detail and offer to re-run that part of the interview.

Step 8: Hand off the toolkit

Setup (re-run anytime)
  /welcome                  — re-interview or update sections

Route (when unsure which drafter)
  /pick-frame               — picks the right drafter for a given target

Draft (pick one based on recipient)
  /email-founder            — founder/CEO with product or ecosystem tie
  /email-growth-leader      — Head of Growth / VP Growth (stage-matched builder)
  /email-hiring-manager     — JD-anchored fit email

Polish (run on any draft, in this order)
  /story-consistency        — fact-checks claims against your profile
  /humanize                 — strips AI-tells, applies your voice rules

State the flow once: "/pick-frame → drafter → /story-consistency → /humanize → ship. Skip /pick-frame if you already know which drafter you want."

Close with: "If a draft feels off, the cause is almost always a vague section in sender-profile.md. Re-run /welcome → option 2 (update specific sections) anytime."

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.