ad-copy
免费Write platform-compliant ad copy for Meta, Google, TikTok, LinkedIn, Pinterest, Snapchat, Amazon, or X. Loads TOS rules automatically. Shows char counts and format preview.
中文简介正在准备中。当前显示原文说明。
Write content using the most recent brief. Loads framework rules, persona hooks, learned patterns, and skill contract. Auto-runs quality gate on completion.
中文简介正在准备中。当前显示原文说明。
安装前可以查看交给 AI 代理的指令内容。
Write a piece of content using the most recent brief from /content-brief. Loads the appropriate framework, persona, and learned patterns. Automatically runs the quality gate on completion.
source "$(dirname "$0")/../lib/preamble.sh"
Look for the most recent .json file in ~/.kai-marketing/briefs/. Read it and parse the JSON.
If no brief exists, tell the user: "No brief found. Run /content-brief {format} {site} \"{keyword}\" first."
If the brief is older than 7 days, warn: "Brief is {N} days old. Consider re-running /content-brief for fresh data."
Display a summary of the brief being used:
Using brief: {filename}
Format: {format}
Site: {site}
Keyword: {keyword}
Persona: {persona}
Angle: {angle}
Based on the brief's format field, read the corresponding framework files from the knowledge base:
| Format | Framework Files to Read |
|---|---|
| blog | knowledge/frameworks/content-copywriting/algorithmic-authorship.md |
| seo | knowledge/frameworks/content-copywriting/algorithmic-authorship.md + knowledge/frameworks/aeo-ai-search/aeo-ai-search-playbook-2026.md |
knowledge/channels/linkedin-articles.md | |
| email-lifecycle | knowledge/channels/email-lifecycle.md |
| cold-email | knowledge/channels/email-lifecycle.md + harness/references/cold-email-rules.md |
| meta-ads | knowledge/channels/meta-advertising.md |
| google-ads | knowledge/channels/paid-acquisition.md + harness/references/google-ads-rules.md |
| press | knowledge/channels/press-releases.md |
Also read:
knowledge/personas/{persona-slug}.mdharness/skill-contracts/{format-slug}.yaml~/.kai-marketing/marketing-defaults.md (if exists)~/.kai-marketing/voice.md (if exists)Using all the loaded context (framework rules, persona hooks, brief fields, learned patterns, voice profile, skill contract constraints), write the content piece.
Follow these rules strictly:
proof_available field as evidenceinternal_links naturallyctaSave the written content to ~/.kai-marketing/drafts/{date}-{slug}.md using the Write tool.
Run the quality gate on the draft:
kai-gate score ~/.kai-marketing/drafts/{date}-{slug}.md --format json
Display the scorecard to the user:
QUALITY GATE — {format}
═══════════════════════
Score: {score}/100 ({grade})
Algorithmic Authorship: {aa_score}%
GEO/AEO Signals: {geo_score}%
Content Structure: {cs_score}%
Four U's: {four_us}/16
Violations: {count}
{top 3 violations with fix suggestions}
If the gate passes (score >= threshold per skill contract):
/content-gate for full gate proposal, or publish directly."If the gate fails:
After gate pass, log to the CANONICAL content log (data/content_log.json) — this is the log the learning loop (performance_check, pattern_extract, weekly_report) actually reads. Do NOT append to ~/.kai-marketing/content-log.jsonl (legacy; fold old entries in with python3 -m scripts.content.migrate_legacy_log) and do NOT write ~/.kai-marketing/pending/*.json (orphaned — nothing reads them; canonical pending checks live in data/pending_checks/ and are created automatically).
The draft is not live yet, so log it WITHOUT a url (status becomes approved_unpublished; no 30-day check is scheduled until a real URL exists):
python3 - <<'PY'
from scripts.content.content_log import log_entry, compute_content_hash
body = open("{draft_path}").read()
entry = log_entry(
url=None, # never fabricate a URL
keyword="{keyword}",
site="{site}",
format="{format}",
title="{title}",
four_us={score},
notes="hook_type={hook_type}; draft={draft_path}",
content_hash=compute_content_hash(body),
campaign_id={campaign_id_or_None}, # cmp-YYYYMMDD-<slug> if part of a campaign
)
print(entry["id"])
PY
When the piece actually goes live, backfill the REAL url — this flips status to published and schedules the 30-day check in data/pending_checks/ automatically:
python3 -c "from scripts.content.content_log import mark_published; mark_published('{entry_id}', '{real_url}')"
/content-briefReads from: ~/.kai-marketing/briefs/{date}-{slug}.json
Writes to: ~/.kai-marketing/drafts/{date}-{slug}.md (scratch), data/content_log.json (canonical log; pending checks auto-created in data/pending_checks/ once a real URL is set)
Read by: /content-gate (if user wants full gate proposal), /content-report, the 30-day performance_check cron
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Write platform-compliant ad copy for Meta, Google, TikTok, LinkedIn, Pinterest, Snapchat, Amazon, or X. Loads TOS rules automatically. Shows char counts and format preview.
中文简介正在准备中。当前显示原文说明。
Render video ads using Remotion. Scaffolds a project from brand tokens + creative brief, generates scene compositions for 4 archetypes, renders to MP4 in multiple formats.
中文简介正在准备中。当前显示原文说明。
Research competitor ads using Meta Ad Library, Google Ads Transparency Center, and TikTok Creative Center. Analyze creative patterns, hooks, offers, and landing pages.
中文简介正在准备中。当前显示原文说明。
Surface the right marketing checklist for any task. Covers content, SEO, ads, email, press, landing pages, launches, and technical audits. 17+ checklists indexed by task type.
中文简介正在准备中。当前显示原文说明。
Generate a strategic content brief from format + site + keyword. Auto-resolves persona, pulls GSC data, generates hooks, angles, and competitor weakness via LLM.
中文简介正在准备中。当前显示原文说明。
Run the full quality gate on any content file. Score against 28 rules, apply policy, show detailed scorecard with fix suggestions. Works on any markdown file.
中文简介正在准备中。当前显示原文说明。