本文へ移動
cccskills
無料GitHub で公開

kelly-campaigns

Outbound email-marketing desk (Busabase App-in-Skill) for building segments, drafting campaigns, newsletters, and sequences, running pre-send deliverability and subject-line QA, and approving every send before it is scheduled. Structured around the SEND discipline — Setup, Engage, Nurture, Deliver — with an email-quality-auditor gate (EQS score + SHIP/FIX/BLOCK verdict). Use when the user invokes $kelly-campaigns or /kelly-campaigns, or mentions email marketing, campaigns, newsletters, drip/welcome/win-back sequences, broadcasts, segments, subject-line A/B tests, deliverability (SPF/DKIM/DMARC/spam score/inbox placement), or wants to review and approve marketing email before it is sent. This is OUTBOUND marketing to a subscriber list, distinct from kelly-email inbox triage (incoming mail). 出站邮件营销:策划分群、起草营销活动 / 新闻邮件 / 邮件序列,发送前做可送达性与主题行质检,人工审批后再排期发送。

インストール方法を見る

含まれるファイル(69)

  • SKILL.md14.4 KB
  • agents/openai.yaml265 B
  • assets/screenshots/campaigns-zh-CN.webp130 B
  • assets/screenshots/campaigns.webp130 B
  • assets/screenshots/deliverability-zh-CN.webp130 B
  • assets/screenshots/deliverability.webp130 B
  • assets/screenshots/overview-zh-CN.webp130 B
  • assets/screenshots/overview.webp130 B
  • assets/screenshots/performance-zh-CN.webp130 B
  • assets/screenshots/performance.webp130 B
  • assets/screenshots/thumbs/campaigns-zh-CN.webp130 B
  • assets/screenshots/thumbs/campaigns.webp130 B
  • assets/screenshots/thumbs/deliverability-zh-CN.webp130 B
  • assets/screenshots/thumbs/deliverability.webp130 B
  • assets/screenshots/thumbs/overview-zh-CN.webp130 B
  • assets/screenshots/thumbs/overview.webp130 B
  • assets/screenshots/thumbs/performance-zh-CN.webp130 B
  • assets/screenshots/thumbs/performance.webp130 B
  • busabase.json851 B
  • content/_folder.json111 B
  • content/kelly-campaigns-app/_node.json131 B
  • content/kelly-campaigns-app/.busabaseignore194 B
  • content/kelly-campaigns-app/app/app.js26.6 KB
  • content/kelly-campaigns-app/app/demo-visuals.css1.5 KB
  • content/kelly-campaigns-app/app/demo-visuals.js3.4 KB
  • content/kelly-campaigns-app/app/i18n/messages.js10.1 KB
  • content/kelly-campaigns-app/app/index.html4.7 KB
  • content/kelly-campaigns-app/app/js/busabase-client.js226 B
  • content/kelly-campaigns-app/app/js/campaign-views.js16.6 KB
  • content/kelly-campaigns-app/app/js/campaigns-model.js6.5 KB
  • content/kelly-campaigns-app/app/js/config.js4.8 KB
  • content/kelly-campaigns-app/app/js/connect-gate.js1.6 KB
  • content/kelly-campaigns-app/app/js/demo-visuals-data.js4.6 KB
  • content/kelly-campaigns-app/app/js/providers/busabase-provider.js9.1 KB
  • content/kelly-campaigns-app/app/js/providers/demo-provider.js23.0 KB
  • content/kelly-campaigns-app/app/js/providers/index.js270 B
  • content/kelly-campaigns-app/app/js/runtime.js3.4 KB
  • content/kelly-campaigns-app/app/styles/base-ui.css13.0 KB
  • content/kelly-campaigns-app/app/styles/editorial.css30.7 KB
  • content/kelly-campaigns-app/app/styles/layers.css33 B
  • content/kelly-campaigns-app/app/styles/shell.css8.8 KB
  • content/kelly-campaigns-app/app/styles/style-picker.css4.0 KB
  • content/kelly-campaigns-app/app/styles/style-picker.js13.1 KB
  • content/kelly-campaigns-app/app/styles/workflow.css22.3 KB
  • content/kelly-campaigns-app/app/vendor/busabase-airapp-gate.css6.1 KB
  • content/kelly-campaigns-app/app/vendor/busabase-airapp-gate.js11.2 KB
  • content/kelly-campaigns-app/app/vendor/busabase-airapp.js556.0 KB
  • content/kelly-campaigns-app/app/vendor/busabase-sdk.js849.5 KB
  • content/kelly-campaigns-app/package.json1.1 KB
  • content/kelly-campaigns-app/pnpm-lock.yaml5.2 KB
  • content/kelly-campaigns-app/pnpm-workspace.yaml50 B
  • content/kelly-campaigns-app/scripts/check-editorial.mjs6.1 KB
  • content/kelly-campaigns-app/scripts/check.mjs5.7 KB
  • content/kelly-campaigns-app/server.js3.1 KB
  • content/kelly-campaigns-app/test/campaigns-model.test.mjs4.6 KB
  • content/segments/base.json757 B
  • content/sends/base.json3.9 KB
  • content/sends/records.ndjson4.6 KB
  • content/settings/base.json926 B
  • content/suppression/base.json1.2 KB
  • package.json420 B
  • pnpm-lock.yaml4.3 KB
  • pnpm-workspace.yaml50 B
  • README.md3.7 KB
  • references/campaigns-schema.md6.8 KB
  • scripts/execute_decisions.mjs6.7 KB
  • scripts/publish_airapp.mjs3.1 KB
  • scripts/setup.mjs6.4 KB
  • scripts/sync-content.mjs2.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Kelly Campaigns

Overview

Kelly Campaigns is a Busabase Cloud App-in-Skill. Its canonical product surface is the AirApp in Busabase, not a separate local-data product. The same Hono source supports an explicitly requested local preview with OAuth connection bootstrap. Use this skill as Kelly's outbound email-marketing operator: it keeps a dashboard over audience segments, drafted sends (campaign broadcasts, newsletter issues, and sequence steps), pre-send deliverability and subject-line QA, and post-send performance. The skill builds segments, drafts email copy, runs deliverability and quality checks, and prepares sends; the human reviews, edits, and approves each send in the app before anything is scheduled or sent.

This is outbound marketing to a subscriber list. It is distinct from kelly-email, which triages an incoming inbox. Keep them separate: kelly-email is about mail you received; kelly-campaigns is about mail you send to many people.

Default behavior is AirApp-first. Unless the user explicitly asks only for explanation, update Busabase directly and give the user the clickable AirApp URL. Start localhost only when local preview/debugging is explicitly requested; it uses the same Busabase resources and never offers another data provider. Use chat-only mode only when the user says "纯聊天", "chat only", "不要打开 UI", or similar; in that mode present numbered sends (Send #1) and take verdicts in the conversation.

This skill is an implementation of the App-in-Skill pattern — a Codex/agent skill paired with a small companion UI for review and approval. See the spec paper: https://mr-kelly.github.io/research/app-in-skill-specification-for-pairing-agent-skills-with-a-local-companion-ui.pdf.

Mandatory Dependencies

  1. Read and follow $kelly-app-skill-creator for product behavior, visual quality, responsive layout, and the complete canonical content/kelly-campaigns-app/ artifact.
  2. Read and follow $busabase for connection, target Space, node discovery, ChangeRequests, review, and merge behavior.
  3. Read and follow $busabase-app-creator for resource modeling, AirApp runtime limits, security, validation, and deployment.

If a dependency is unavailable, preserve this skill's local artifact and product contracts, stop before the unavailable Busabase operation, and report the exact missing dependency. Do not invent a second data backend.

The SEND Discipline

Work is organized around four phases. Every send is tagged with the phase it belongs to, and the app groups by phase.

  • Setup — the sending foundation: authentication and deliverability, audience segments, list growth, list hygiene.
  • Engage — the creative: email copy, subject lines, HTML render / dark-mode, dynamic personalization.
  • Nurture — the lifecycle: sequences (welcome, drip, win-back), newsletter cadence and monetization, preference/frequency management, reactivation.
  • Deliver — getting it into the inbox: send experiments (A/B), inbox-placement monitoring, cold outbound, and the pre-send quality gate.

Capability taxonomy (16 sub-skills)

PhaseSub-skills
Setupdeliverability-qa · list-segment-builder · list-growth-designer · list-hygiene-monitor
Engageemail-creative-builder · subject-line-lab · email-render-builder · dynamic-content-personalizer
Nurtureemail-sequence-designer · newsletter-monetization-planner · preference-frequency-manager · reactivation-specialist
Deliversend-experiment-designer · inbox-placement-monitor · cold-outbound-sequencer · email-quality-auditor ⛩ (the quality gate)

The quality gate — email-quality-auditor ⛩

Before any send can be scheduled, it passes the SEND framework, which produces an EQS (Email Quality Score, 0–100) and a SHIP / FIX / BLOCK verdict:

  • S — Sender & auth: SPF, DKIM, DMARC pass; correct from-identity.
  • E — Engagement risk: segment quality, expected open/complaint behavior, re-permission for cold/lapsed lists.
  • N — Not spammy: spam score, trigger words, link/image balance, working unsubscribe + physical address.
  • D — Deliverability: inbox readiness against policy floors, IP/domain warm-up, render and dark-mode.

Verdicts: SHIP (ready to schedule), FIX (deliverable but revise first), BLOCK (hard stop — e.g. failing DKIM or a spam score above policy). The gate never sends; a human still approves. A send whose deliverability risk is high (SPF/DKIM/DMARC failing, spam score ≥ 5, or inbox readiness below 0.6 — see deliverabilityInfo() in content/kelly-campaigns-app/app/js/campaigns-model.js) is refused scheduling even if it carries an approved status.

App UI Screenshots

<table> <tr> <td width="50%"><img src="assets/screenshots/overview.webp" alt="Kelly Campaigns overview"></td> <td width="50%"><img src="assets/screenshots/campaigns.webp" alt="Kelly Campaigns queue"></td> </tr> <tr> <td><strong>Overview</strong><br>Send calendar plus list health — subscribers, bounce, churn, and complaint rates.</td> <td><strong>Campaigns</strong><br>Draft and approval queue across campaigns, newsletters, and sequence steps.</td> </tr> <tr> <td width="50%"><img src="assets/screenshots/deliverability.webp" alt="Kelly Campaigns deliverability QA"></td> <td width="50%"><img src="assets/screenshots/performance.webp" alt="Kelly Campaigns performance"></td> </tr> <tr> <td><strong>Deliverability</strong><br>Pre-send QA — SPF/DKIM/DMARC, spam score, and the EQS SHIP/FIX/BLOCK gate.</td> <td><strong>Performance</strong><br>Open, click, and unsubscribe rates by campaign.</td> </tr> </table>

Boundary

  • The skill may build segments, draft sends, run deliverability/quality checks, and write it all to Busabase.
  • The AirApp reads and writes Busabase records only. It must never send email, call an ESP, mutate a subscriber list, or perform any other external side effect.
  • Sending is always approval-required (outbound + volume). Real scheduling/sending is performed by the configured ESP by the skill, only after the user approves the specific send in the app or in chat. scripts/execute_decisions.mjs only marks an approved send done in Busabase and reports the handoff operation the ESP still needs to perform; it performs no sending itself.
  • Treat subscriber data as sensitive. Never commit real subscriber lists, ESP credentials, or Busabase credentials.

Busabase Resources

Four Bases under one application Folder (kelly-campaigns), declared in content/kelly-campaigns-app/app/js/config.js and the generated template sidecars under content/:

  • segments: audience segments — id, name, description, audience size.
  • sends: the review queue — campaign/newsletter/sequence-step/cold-outbound sends: type, phase, subject/preview/body, segment + audience size, deliverability, subject A/B variants, the quality-gate (EQS + SHIP/FIX/BLOCK), workflow status, and the human verdict fields decision-note / decided-at.
  • suppression: the consent/suppression list — recipients or whole segments removed by unsubscribe, hard bounce, or complaint.
  • settings: one row per kind — kelly-campaigns-profile (operator/brand/ESP/from-identities/sending-policy/style-tone/list-health) and kelly-campaigns-lock.

Resources provision lazily through an idempotent Busabase ChangeRequest the first time the app runs in a Space; see references/campaigns-schema.md for exact field shapes. Metrics, the pre-send deliverability-risk derivation, and the consent/suppression pre-send check are computed client-side from the sends/suppression Bases on every read — they are never stored. The EQS score and SHIP/FIX/BLOCK verdict are authored per send by the email-quality-auditor gate and stored on the record.

First Run And Onboarding

On invocation, check the kelly-campaigns-profile settings row for readiness. If it is absent, guide setup before doing real marketing work.

Ask for non-secret setup details only: operator profile (name, role, company, timezone), brand (name, homepage, unsubscribe URL), ESP provider name, from-identities (from-name/from-email/reply-to and when to use each), segments, sending policy (approval-required, daily/hourly caps, min inbox readiness, max spam score), risk keywords, and style/tone. Never ask the user to paste secret values into chat. Busabase authentication is ambient inside the deployed AirApp; ESP credentials belong to the trusted handoff process's own environment, never Busabase.

Local App

Default behavior is AirApp-first — give the user the clickable AirApp URL. Start pnpm --dir content/kelly-campaigns-app dev only when local preview/debugging is explicitly requested.

Required app views (hash routes):

  • #/overview: send desk. Human-attention counts, upcoming sends for the next weeks, list health (subscriber count, bounce/complaint/churn rates, avg open/click), and a SEND-phase breakdown.
  • #/campaigns and #/campaigns/<send_id>: the review queue over drafted sends in workflow states needs_review, changes_requested, approved, done, blocked. Each item shows a stable row ref (Send #1), type + phase + quality-gate verdict badges, the segment and audience size, deliverability risk, subject + preview text, an editable body draft, an A/B subject picker when variants exist, a Review note textarea, and Approve / Request changes / Block buttons that write the verdict directly onto the send record.
  • #/deliverability: pre-send QA table — SPF/DKIM/DMARC pass flags, spam score, inbox readiness, and the SEND verdict per send, plus the read-only suppression list, so weak auth or spammy copy is caught before scheduling.
  • #/performance: open/click/unsub/bounce by sent campaign.
  • #/settings: sanitized config summary — operator, brand, ESP + secret readiness, from-identities, segments, sending policy, and onboarding state. Never expose secret values.

Keep the sidebar workflow filters (All / Needs Review / Approved / Done / Blocked) as the primary nav, plus the views above.

Demo mode:

  • ?demo=1 (or ?demo=overview) opens a deterministic mock program ("Northwind Coffee") for documentation and screenshots.
  • ?demo=overview, ?demo=campaigns, ?demo=deliverability, ?demo=performance, and ?demo=detail select named mock scenes; detail deep-links to a send detail.
  • lang=en or lang=zh forces UI chrome language for screenshots.
  • Demo mode never reads or writes Busabase.

UI language: support English and Chinese chrome with Auto default. Keep subject lines, body copy, segment names, and drafts in their original language.

Review Workflow

Read references/campaigns-schema.md before editing the app or its domain logic.

A human verdict (approve / request_changes / block / revise) writes the new status plus decision-note / decided-at (and, for approve, the edited body / chosen chosen-variant) directly onto the send record through busabase-sdk. From a standalone local preview the write merges immediately (trusted operator); from the deployed AirApp it creates a pending ChangeRequest for the trusted process to merge.

Normal Workflow

  1. Detect mode. Default to App UI.
  2. When Kelly asks for a campaign, newsletter, or sequence: build/refresh the relevant segment, draft the send(s) into Busabase's sends Base with status: "needs_review", the correct type and SEND phase, a clear reason, risk badges, a deliverability object, subject variants when A/B is intended, and run the email-quality-auditor gate to attach quality-gate (EQS + verdict). Metrics, deliverability risk, and the consent/suppression check recompute automatically on every read.
  3. Give Kelly the AirApp URL (or local preview URL) to review the queue, deliverability, and quality gates.
  4. For a send moved to changes_requested, re-draft it per the review comment, re-run the gate, and write it back to needs_review.
  5. On "schedule approved sends": run node scripts/execute_decisions.mjs --apply to re-read approved sends from Busabase, re-check the quality gate/deliverability risk/suppression list, and mark each done. Then perform the actual scheduling/sending through the configured ESP with the approved, possibly user-edited body and chosen variant, one send at a time.
  6. Never schedule a send without an explicit approve decision, never schedule one whose gate is BLOCK or whose deliverability risk is high, and never re-schedule sends already recorded as scheduled/sent.

Safety Defaults

  • Treat every outbound send as approval-required (outbound + volume). Money offers, compliance-sensitive copy, cold outbound, and high send volume raise the bar further.
  • A BLOCK verdict or high deliverability risk is a hard stop; fix authentication or copy before the send is eligible.
  • Store only the minimum content needed for review; keep raw subscriber lists and PII out of Busabase (segments carry names + sizes, not rows).
  • Redact the ESP API key and any credential-like strings from logs, reports, and UI state; expose only boolean readiness for configured env vars.
  • Keep stable ids (send_id, segment_id) and ref numbers so repeated updates and executions are idempotent.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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月2日 更新

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月2日 更新

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月2日 更新

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月2日 更新

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月2日 更新

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月2日 更新

mr-kelly のスキルをすべて見る

このスキルの問題を報告する