agentleFS
JakeschincariolJakeschincariol/closer-skill/pipeline/SKILL.md

pipeline

Skill33 starsChanged 11 days agoMITView on GitHub

Pipeline Manager. Keeps every deal moving on one board, the CRM the other ten Closer skills share: contacts, deals, stages (lead, contacted, replied, call-booked, proposal, contract-sent, won, lost), every email and call, next steps and a do-not-contact list, all in one plain closer/pipeline.json in your project. Shows the board, one deal's history, moves deals between stages, and validates the file after every change. Use when the user says "pipeline", "board", "my deals", "CRM", "where are we with X", "move X to proposal", "we won X", "we lost X", "set up the closer skill", or wants to replace Salesforce or HubSpot.

29 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use status, resume and 6 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • AnthropicSkill

    status

    Case status summary by audience — client-facing (plain language), internal (for the professor), or court-ready (formal caption format per local rules). Same facts, different framing and depth. Use when a student needs to update the client, brief the professor, or prepare a court status report.

    Also in 5 projects that use this

  • genomewalkerSkill

    resume

    Resume a thread by loading its ~800-token context capsule

    Also in 3 projects that use this

  • genomewalkerSkill

    explore

    RLM-style recursive memory exploration - dynamically navigate the memory graph

    Also in 3 projects that use this

  • AnthropicSkill

    analyze

    Answer data questions -- from quick lookups to full analyses. Use when looking up a single metric, investigating what's driving a trend or drop, comparing segments over time, or preparing a formal data report for stakeholders.

    Also in 3 projects that use this

  • dubwoahSkill

    ask

    Answer questions about the codebase without generating or modifying any code. Use when the user wants to understand how something works, find where something is defined, or explore the project structure. Invoked with /ask.

    Also in 3 projects that use this

  • ibahgatSkill

    autopilot

    Run autonomous multi-stage execution loops until acceptance criteria pass or blockers are reached.

    Also in 3 projects that use this

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 22 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:

    Every command takes --file (default closer/pipeline.json).

    line 34
  2. Distinctive:

    Ask the user for: their name, business name, the email they sell from, a postal address (the law needs one in cold email), their time zone, …

    line 38
  3. Very specific:

    If they are moving from Salesforce, HubSpot or a spreadsheet, ask them to export contacts and open deals as CSV, then add each with …

    line 42
  4. Very specific:

    Every outgoing email, LinkedIn message or SMS must carry approval: the user's yes, word for word.

    line 58
  5. Very specific:

    When the user says something changed ("we lost Lakeline, bad timing"), deals.py move with the reason in their words.

    line 68
  6. Distinctive:

    Never deletes a contact or an activity: history is the record.

    line 82
  7. Distinctive:

    Never marks something sent that was not, or won that was not signed.

    line 84
  8. Distinctive:

    Stop at the first "no" or any sign of disinterest.

    line 91
  9. Distinctive:

    Never invent a number, a result, a client or a deadline.

    line 92

“Common” is measured: kept by at least 6 in 10 of the 22 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

pipeline

The board every other Closer skill reads and writes. It replaces the CRM: one JSON file in the user's project, no account, no seats, no monthly bill.

${CLAUDE_SKILL_DIR} below is this skill's folder (where this SKILL.md lives).

python3 "${CLAUDE_SKILL_DIR}/deals.py" init --name "You" --company "Your Agency" \
    --email hello@youragency.studio --address "100 Congress Ave, Suite 400, Austin, TX 78701" \
    --offer "booking-ready websites and Google Ads" --price "\$2,500" \
    --plan_b "\$399 monthly plan instead, with no setup fee" \
    --value_line "Most practices win the cost back with 2 new patients a month."
python3 "${CLAUDE_SKILL_DIR}/deals.py" board --today 2026-10-29
python3 "${CLAUDE_SKILL_DIR}/deals.py" show --deal harbor-lane-website
python3 "${CLAUDE_SKILL_DIR}/deals.py" move --deal lakeline-website --stage lost \
    --reason "timing: busy season, said ask again in the fall"
python3 "${CLAUDE_SKILL_DIR}/deals.py" validate

Every command takes --file (default closer/pipeline.json).

First run

  1. Ask the user for: their name, business name, the email they sell from, a postal address (the law needs one in cold email), their time zone, what they sell, the price, a smaller second option, and one true line about what it pays back. Do not guess any of these.
  2. deals.py init with those answers.
  3. If they are moving from Salesforce, HubSpot or a spreadsheet, ask them to export contacts and open deals as CSV, then add each with deals.py contact and deals.py deal. Map their stages onto the eight below and show the mapping before writing anything.

The file

me          who you are and what you sell (offer, price, plan_b, value_line, proof, address)
contacts    id, name, title, company, email, phone, website, source, notes, do_not_contact
deals       id, contact_id, title, stage, value, currency, close_date, created, next_step, lost_reason
activities  id, date, contact_id, deal_id, channel, type, direction, subject, text, approval
suppression email addresses that must never be emailed again

Stages, in order: lead, contacted, replied, call-booked, proposal, contract-sent, won, lost. Value is what the deal is worth in its first year (a $399/month plan is 4788). Every outgoing email, LinkedIn message or SMS must carry approval: the user's yes, word for word. validate fails without it, so nothing can be logged as sent that the user did not approve. A lost deal needs a lost_reason: it is what /win-back reads later.

Steps, every morning

  1. deals.py board. Read it to the user stage by stage, biggest deals first, with each next step.
  2. Point at anything marked [quiet N days] and say which skill moves it: /follow-up for no reply, /scheduler when they replied with a time, /proposal-writer after a call, /contract-writer when they picked an option.
  3. When the user says something changed ("we lost Lakeline, bad timing"), deals.py move with the reason in their words.

Example from the reel

On Thursday, October 29, 2026, after the call with Dana Ortiz of Harbor Lane Dental, the board says CONTRACT-SENT (1, $4,788) Website + Google Ads, monthly Harbor Lane Dental next: Dana signs the agreement. show --deal harbor-lane-website lists the opening email on Oct 19, three follow-ups, her reply on Oct 27, the booked call, the 24-minute call and the agreement at 2:31 PM. The whole state is pipeline.example.json beside this file (illustrative: the agency, Dana and the businesses are fictional).

What it never does

  • Never deletes a contact or an activity: history is the record. A person who asked to stop stays in the file as do-not-contact so no skill can email them again.
  • Never marks something sent that was not, or won that was not signed.

Consent and truth

  • Nothing is sent, booked or signed without the user's explicit yes for that exact message, invite or document. Claude drafts, the user says "yes", then it goes out from the user's own accounts. One yes per message. Never "yes to all".
  • Stop at the first "no" or any sign of disinterest. A request to stop is honoured forever, across every skill.
  • Never invent a number, a result, a client or a deadline. Fill in only what is true and ask when something is missing.

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.