본문으로 건너뛰기
cccskills
무료GitHub에 공개

kelly-sales-outreach

Run a Busabase-backed sales prospecting and first-touch outreach desk with a bundled Hono App-in-Skill deployable to AirApp. Use whenever the user invokes $kelly-sales-outreach or /kelly-sales-outreach, wants to enter a product or service and discover its ideal customers, asks to continuously find target accounts or public business contacts, needs evidence-based ICP scoring and personalized outreach drafts, or wants to review and send cold outreach safely. Four subcommands - setup, profile, research, send - plus the desk itself. Every first-touch message requires human approval; one company receives one initial email; guessed addresses, purchased lists, secret exposure, automated spam, and unreviewed external sends are forbidden.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(61)

  • SKILL.md10.8 KB
  • .gitignore54 B
  • agents/openai.yaml371 B
  • assets/screenshots/blocked.webp130 B
  • assets/screenshots/profile.webp130 B
  • assets/screenshots/sent.webp130 B
  • assets/screenshots/thumbs/blocked.webp130 B
  • assets/screenshots/thumbs/profile.webp130 B
  • assets/screenshots/thumbs/sent.webp130 B
  • assets/screenshots/thumbs/to-send.webp130 B
  • assets/screenshots/to-send.webp130 B
  • busabase.json1.5 KB
  • collateral/.gitkeep97 B
  • content/_folder.json149 B
  • content/companies/base.json3.1 KB
  • content/kelly-sales-outreach-app/_node.json171 B
  • content/kelly-sales-outreach-app/.busabaseignore194 B
  • content/kelly-sales-outreach-app/.gitignore32 B
  • content/kelly-sales-outreach-app/app/base-ui.css21.7 KB
  • content/kelly-sales-outreach-app/app/index.html725 B
  • content/kelly-sales-outreach-app/app/js/app.js37.8 KB
  • content/kelly-sales-outreach-app/app/js/busabase-client.js928 B
  • content/kelly-sales-outreach-app/app/js/config.js4.9 KB
  • content/kelly-sales-outreach-app/app/js/connect-gate.js1.4 KB
  • content/kelly-sales-outreach-app/app/js/providers/busabase-provider.js6.7 KB
  • content/kelly-sales-outreach-app/app/js/providers/demo-provider.js7.7 KB
  • content/kelly-sales-outreach-app/app/js/providers/index.js278 B
  • content/kelly-sales-outreach-app/app/js/runtime.js3.8 KB
  • content/kelly-sales-outreach-app/app/js/sales-outreach-model.js10.4 KB
  • content/kelly-sales-outreach-app/app/styles.css36.6 KB
  • content/kelly-sales-outreach-app/app/styles/editorial.css30.7 KB
  • content/kelly-sales-outreach-app/app/vendor/busabase-airapp-gate.css6.1 KB
  • content/kelly-sales-outreach-app/app/vendor/busabase-airapp-gate.js11.2 KB
  • content/kelly-sales-outreach-app/app/vendor/busabase-airapp.js556.0 KB
  • content/kelly-sales-outreach-app/app/vendor/busabase-sdk.js849.5 KB
  • content/kelly-sales-outreach-app/package.json1.1 KB
  • content/kelly-sales-outreach-app/pnpm-lock.yaml5.2 KB
  • content/kelly-sales-outreach-app/pnpm-workspace.yaml71 B
  • content/kelly-sales-outreach-app/scripts/check-editorial.mjs6.1 KB
  • content/kelly-sales-outreach-app/scripts/check.mjs10.3 KB
  • content/kelly-sales-outreach-app/server.js3.6 KB
  • content/kelly-sales-outreach-app/test/resource-provisioning.test.mjs14.8 KB
  • content/kelly-sales-outreach-app/test/sales-outreach-model.test.mjs5.7 KB
  • content/leads/base.json1.1 KB
  • content/leads/records.ndjson827 B
  • content/profile/base.json2.6 KB
  • package-lock.json6.5 KB
  • package.json312 B
  • pnpm-lock.yaml4.5 KB
  • pnpm-workspace.yaml50 B
  • references/research-playbook.md3.3 KB
  • references/sales-outreach-schema.md3.7 KB
  • scripts/build_one_pager.mjs4.2 KB
  • scripts/configure_smtp.mjs3.4 KB
  • scripts/import_leads.mjs6.2 KB
  • scripts/lib.mjs14.9 KB
  • scripts/publish_airapp.mjs1.6 KB
  • scripts/render_pdf.mjs6.8 KB
  • scripts/send_emails.mjs7.5 KB
  • scripts/setup.mjs4.7 KB
  • scripts/sync-content.mjs2.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Kelly Sales Outreach

Turn one product or service description into a repeatable customer-development loop: infer the best initial ICP, find companies showing relevant business signals, identify one public business contact, draft a message grounded in those signals, and let the human approve every first touch.

Subcommands

InvocationWhat to do
/kelly-sales-outreach setupCreate or adopt the Busabase Folder and three Bases, then verify them.
/kelly-sales-outreach profileRead product/service material, store the offer, derive an explicit ICP hypothesis, and optionally build a factual one-page PDF.
/kelly-sales-outreach researchDiscover and qualify target accounts and public business contacts, then draft one personalized first-touch email per company.
/kelly-sales-outreach sendConfigure the seller's mailbox in Vault and send only the individually approved queue.
/kelly-sales-outreachOpen the desk and report the current bounded next step.

Run setup, profile, research, then send the first time. Afterwards, research repeats by period. Never repeat a first-touch email to a company that is already queued, sent, or opted-out.

Dependencies

Before changing the app:

  1. Read $kelly-app-skill-creator for product behavior, responsive UI, and the canonical content/kelly-sales-outreach-app/ artifact.
  2. Read $busabase for target Space, ChangeRequests, review, merge, and Vault behavior.
  3. Read $busabase-app-creator for runtime, SDK, security, validation, and AirApp deployment.
  4. Read references/sales-outreach-schema.md before changing fields, statuses, or Vault keys.
  5. Read references/research-playbook.md before running research.

If a dependency is unavailable, finish deterministic local artifact work but stop before its Busabase or AirApp operation and name the missing dependency. Never introduce a second backend.

Product Boundary

  • The minimum input is the offer. Onboarding requires only offer-name and offer-summary. Do not force the user to know their ICP before the research loop begins; propose it from the offer and evidence, then let them edit it.
  • One company, one initial thread. Multiple public contacts are fallback candidates, not permission to blast several people at one company.
  • The human approves every first touch. App approval changes draft to queued; it does not itself send. The trusted script is a separate explicit execution step.
  • Every company and contact carries provenance. Require an exact public URL. Never generate likely address patterns or import purchased/scraped private lists. If no address is verifiable, keep the account blocked.
  • Honor opt-out immediately. opted-out is terminal for outreach. The sender re-reads status immediately before sending and stops on opt-out, already-sent, or non-queued state.
  • Use truthful personalization. Drafts may mention only stored offer claims and observed company signals. Do not invent urgency, customer logos, metrics, relationships, or research that did not happen.
  • Secrets stay trusted. SMTP values live in Vault or runtime environment and never reach browser source, logs, screenshots, or chat.
  • Stay within lawful public access. Do not bypass authentication, paywalls, robots controls, rate limits, or platform terms. Do not impersonate a person.

/kelly-sales-outreach setup

node scripts/setup.mjs
node scripts/setup.mjs --apply

Confirm the Space first. Setup is idempotent and resolves resources from the declared Folder; nobody copies Node IDs into config. Re-read after every ChangeRequest and report a pending CR rather than claiming the workspace exists.

/kelly-sales-outreach profile

Accept whatever the user has: website, deck, proposal, product notes, service menu, or a short description. Extract facts and ask only for a missing fact that materially changes targeting.

Store:

  • offer name and plain-language summary;
  • value proposition and verifiable proof points;
  • target industries and regions;
  • likely buyer roles;
  • an explicit ideal-customer hypothesis covering size, stage, pain, trigger, exclusions, and why this offer wins now;
  • public research channels;
  • optional collateral filename and sender address.

Distinguish facts supplied by the user from hypotheses inferred by the Agent. Put uncertainty into the ICP text instead of presenting it as known. Never fabricate proof. When useful, generate a factual one-page asset:

node scripts/build_one_pager.mjs
node scripts/build_one_pager.mjs --apply

The dry run writes HTML. --apply renders collateral/<offer>-one-pager.pdf and records the filename. The file is optional for sending.

/kelly-sales-outreach research

Research in bounded rounds of 20-30 accounts. Use the offer profile to form a testable ICP, then seek companies with observable signals rather than merely matching industry keywords.

For every company record:

  • canonical name, key, website, industry, region, and approximate size;
  • exact company source URL;
  • ICP score and a concrete match reason;
  • observed pain/buying signals and capture date;
  • evidence type: first-party, public-directory, or market-signal;
  • one concise, plain-text first-touch subject/body grounded in that evidence.

For every contact record:

  • company key, valid business email, optional public name, buyer role;
  • exact public source URL and confidence;
  • no guessed email patterns.

Use references/research-playbook.md for score calibration, sources, personalization, and failure handling. Import is idempotent:

node scripts/import_leads.mjs findings.json
node scripts/import_leads.mjs findings.json --apply

Do not overwrite existing company rows. This preserves approvals, sends, opt-outs, edits, and stable #n references.

/kelly-sales-outreach send

Configure the user's own mailbox. Never ask for a mailbox password in chat; use an app password/authorization code through SMTP_PASS or --pass.

SMTP_PASS=xxx node scripts/configure_smtp.mjs --host smtp.example.com --user seller@example.com --apply
node scripts/send_emails.mjs
node scripts/send_emails.mjs --test-to seller@example.com --apply
node scripts/send_emails.mjs --apply

The dry run prints sender, optional collateral readiness, SMTP readiness by key, and exact recipients without printing secret values. --test-to sends one approved message to an inbox the user controls and writes nothing to Busabase.

For each real send, re-read the account immediately before sendMail. Require:

  • current status exactly queued;
  • no sent-at and no opted-out-at;
  • exact approved recipient, subject, and body;
  • SMTP readiness;
  • configured collateral exists, if a filename is present.

On success write sent and sent-at. On failure leave it queued and report the company-specific error. Never silently retry in a way that can duplicate mail.

Operating Loop

Research

Run by explicit request or agreed period. Store capture date, source, coverage, and uncertainty. Deduplicate by company key and company/email pair.

Plan

Rank first-party evidence before directory evidence, then ICP score. The desk gives stable #n references and lets the human edit recipient, subject, and body. Missing evidence/contact/draft is blocked, not guessed.

Action

Human approval queues one exact first touch. The trusted sender performs the external side effect with duplicate prevention and records the result.

Retrospective

When the user supplies replies, meetings, conversions, objections, or opt-outs, compare outcomes with the stored ICP and signals. Propose changes to profile, score weights, sources, and copy as reviewed updates. Do not silently rewrite targeting rules from a single outcome. Automated follow-up sequences and inbox reply ingestion are out of scope for v1.

App Contract

  • Keep the canonical Hono project in <skill-root>/content/kelly-sales-outreach-app/; use the same source locally and in AirApp.
  • Store persistent profile, accounts, contacts, decisions, and execution state only in Busabase through busabase-sdk.
  • Local OAuth appears only in an explicitly requested standalone preview; hosted AirApp uses its ambient Busabase session.
  • Browser writes go through ChangeRequests and may auto-merge only in a standalone local runtime.
  • Demo data is explicit, deterministic, non-persistent, and cannot send.
  • Keep the desktop sidebar/list/detail shell, true mobile list/detail flow, hash routes, and responsive Help & Settings from the creator contract.

Resources

ResourcePurpose
kelly-sales-outreach-profileOne offer, ICP hypothesis, proof, research channels, optional collateral, sender address, onboarding version, and Vault reference names.
kelly-sales-outreach-companiesTarget accounts with source evidence, pain signals, first-touch draft, review state, recipient, and send/opt-out timestamps.
kelly-sales-outreach-leadsPublic business contacts with company key, name/role, source URL, and confidence.
Vault SMTP_*Mail transport values readable only by trusted execution.

Screens

  • #/profile — product, service, proof, ICP, channels, optional collateral, sender, and SMTP readiness.
  • #/all, #/to-send, #/sent — account list/detail queue with evidence, contacts, editable draft, and exact approval action.
  • #/settings/<tab> — commands, guide, resources, and connection.

Stop Conditions

Stop rather than guess when the offer is missing; a company or contact lacks a public source; an address is inferred; a company is already sent or opted out; the draft contains unsupported claims; SMTP is unavailable; an explicit collateral file is missing; the target Space is ambiguous; or the required review/deployment dependency is unavailable.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Align all AI coding agents to a single source of truth. AGENTS.md for rules, .agents/skills/ for skills, symlinks for everything else. Use when setting up a repo for multiple agents, or when links are missing, broken, or out of date.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mr-kelly/skills52026년 10월 22일 업데이트

Read, answer and post on the Buda community forum at community.buda.im through its /api/v1/community REST API. Lists categories and posts, reads a thread with its replies, searches, and publishes posts and replies behind an explicit confirmation. Use when the user invokes $buda-community or /buda-community, asks what is happening in the Buda community, wants an unanswered question triaged or answered, or wants something posted or announced there.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mr-kelly/skills52026년 10월 22일 업데이트

Read, answer and post on the Busabase community forum at community.busabase.com through its /api/v1/community REST API. Lists categories and posts, reads a thread with its replies, searches, and publishes posts and replies behind an explicit confirmation. Use when the user invokes $busabase-community or /busabase-community, asks what is happening in the Busabase community, wants an unanswered question triaged or answered, or wants something posted or announced there.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mr-kelly/skills52026년 10월 22일 업데이트

kelly-ads

무료

Ad-campaign command desk (投放指挥台, Busabase App-in-Skill) for a cross-border e-commerce seller running Amazon Ads, Meta (FB/IG), TikTok Ads, and Google Ads. Use when the user invokes $kelly-ads or /kelly-ads, or asks about 投放, ad campaigns, ad spend, ACOS, ROAS, Amazon Ads, TikTok ads, Meta ads, Google Ads, search terms, negative keywords, bid adjustment, budget pacing, CPC spikes, rejected ads, ad anomaly detection, 广告优化, or reviewing agent-proposed adjustment cards (negative keyword, bid down/up, pause target, budget shift, creative refresh).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mr-kelly/skills52026년 10월 22일 업데이트

Busabase-backed App-in-Skill low-code agent configuration and governance console for a platform team. Use when the user invokes $kelly-agent-builder or /kelly-agent-builder, wants to review or edit a catalog of mock LLM agent configs, check quota usage, find configs that need attention, move a draft to live, pause a live agent, or archive an agent. Mock config/governance console only — it never provisions or calls any real agent.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mr-kelly/skills52026년 10월 22일 업데이트

Review board (Busabase App-in-Skill) that runs a fixed suite of mock test cases against a baseline vs candidate agent version and surfaces rubric-scored regressions before a release. Use when the user invokes $kelly-agent-eval or /kelly-agent-eval, wants to review agent-version regressions, compare baseline vs candidate quality, triage a release, or record a release approve/block decision. Deterministic mock rubric scores only — not a real LLM-judge call, and it never deploys anything.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mr-kelly/skills52026년 10월 22일 업데이트

mr-kelly의 스킬 모두 보기

이 스킬의 문제 신고