agentsclimarketplace

Fathom core workflow b

Skill jeremylongshore/claude-code-plugins-plus-skills/plugins/saas-packs/fathom-pack/skills/fathom-core-workflow-b

425 plugins, 2,810 skills, 200 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.

Install
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill fathom-core-workflow-b

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

'Sync Fathom meeting data to CRM and build automated follow-up workflows.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

2.5 KB, 426 tokens by cl100k_base, as published. Nobody here has run it

Fathom Core Workflow: CRM Sync & Follow-Up

Overview

Automate post-meeting workflows: sync meeting notes to CRM opportunities, send follow-up emails with action items, and maintain a meeting history database.

Instructions

Meeting-to-CRM Sync

def sync_meeting_to_crm(meeting: dict, crm_client):
    summary = meeting.get("summary", "")
    action_items = meeting.get("action_items", [])
    participants = meeting.get("participants", [])

    # Find matching CRM contact/opportunity by participant email
    for email in participants:
        contact = crm_client.find_contact(email=email)
        if contact:
            crm_client.log_activity(
                contact_id=contact["id"],
                type="meeting",
                subject=meeting["title"],
                body=f"Summary: {summary}\n\nAction Items:\n" +
                     "\n".join(f"- {a['text']}" for a in action_items),
                date=meeting["created_at"],
            )

Automated Follow-Up Email

def generate_followup_email(meeting: dict) -> str:
    actions = meeting.get("action_items", [])
    action_list = "\n".join(f"- {a['text']}" for a in actions)

    return f"""Hi team,

Thanks for the meeting: {meeting['title']}

Summary:
{meeting.get('summary', 'No summary available')}

Action Items:
{action_list if action_list else '- None recorded'}

Best regards"""

Meeting History Database

CREATE TABLE fathom_meetings (
    id VARCHAR PRIMARY KEY,
    title VARCHAR NOT NULL,
    created_at TIMESTAMP NOT NULL,
    duration_seconds INTEGER,
    summary TEXT,
    participant_count INTEGER,
    action_item_count INTEGER,
    synced_to_crm BOOLEAN DEFAULT FALSE,
    synced_at TIMESTAMP
);

Resources

Next Steps

For error troubleshooting, see fathom-common-errors.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.