antigravity-marketing-lab

v2026.09.24

Workshop project demonstrating Google Antigravity CLI for agent-first marketing workflows with local-marketing-agent skill for generating campaign headlines

GitHub
安装命令
npx skhub add reason-machines/antigravity-marketing-lab
Markdown
SKILL.md

Antigravity Marketing Lab

Skill by ara.so — Marketing Skills collection.

This project is a hands-on workshop demonstrating Google Antigravity CLI and agent-first workflows for marketing content generation. It includes a pre-built local-marketing-agent skill that generates localized marketing headlines from structured briefs, designed for events, products, or campaigns targeting Taiwan/Chinese-speaking audiences.

What This Project Does

  • Provides a complete Antigravity CLI workflow example for marketing tasks
  • Includes a production-ready agent skill (.agents/skills/local-marketing-agent/SKILL.md)
  • Demonstrates brief → agent → deliverable pipeline
  • Shows multi-stage content generation (headline, LINE copy, Facebook posts)
  • Serves as template for building custom marketing agent skills

Installation

Install Antigravity CLI

curl -fsSL https://antigravity.google/cli/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"

Verify installation:

agy --version

Clone the Project

git clone https://github.com/jarsing/antigravity-marketing-lab.git
cd antigravity-marketing-lab

Authenticate

On first run:

agy

Follow the prompts to authenticate with your Google account.

Project Structure

.agents/
  skills/
    local-marketing-agent/
      SKILL.md              # Agent skill definition
challenge/
  my-brief.md             # Your marketing brief (user fills)
outputs/
  my-headline.md          # Generated headline output
website/
  index.html              # Demo integration site

Key Concepts

Agent Skills

Skills are markdown files in .agents/skills/<skill-name>/SKILL.md that define:

  • Agent behavior and constraints
  • Output format requirements
  • Stage-by-stage workflows
  • Language and tone guidelines

Brief Format

The challenge/my-brief.md template:

# Brief

- 宣傳主題:彰化在地美食節
- 目標對象:25-45歲在地居民與遊客
- 最大特色或亮點:超過50家老店首次聯合優惠
- 希望對方採取的行動:報名參加導覽、購買聯合票券
- 可以使用的地名或關鍵字:彰化、肉圓、八卦山、古蹟
- 不可以自行添加的資訊:不得捏造折扣金額、名額限制、截止日期

Core Workflow

1. Prepare Your Brief

Edit challenge/my-brief.md with your campaign details:

# View current brief
cat challenge/my-brief.md

# Edit in Cloud Shell editor
cloudshell edit challenge/my-brief.md

2. Launch Antigravity CLI

cd antigravity-marketing-lab
agy

3. Execute Agent Task

In the Antigravity CLI, enter:

請讀取 challenge/my-brief.md,
使用 local-marketing-agent Skill 執行「Stage 1:主標題產生」。

請自行檢查標題是否符合 Skill 規則;
若不符合,請修正後再交付。

最後只將通過檢查的最終主標題
儲存到 outputs/my-headline.md。

4. Review Output

cat outputs/my-headline.md

Expected format:

# 主標題

「彰化美食節|50家老店聯合優惠,跟著導覽吃遍古城」

Local Marketing Agent Skill

Viewing the Skill

cat .agents/skills/local-marketing-agent/SKILL.md

Key Skill Features

  • Language: Traditional Chinese (Taiwan)
  • Stage 1: Main headline (≤24 Chinese characters)
  • Stage 2: LINE push notification copy
  • Stage 3: Facebook post opening
  • Constraints: No fabricated discounts, dates, quotas, or results
  • Self-validation: Agent checks compliance before delivery

Example Skill Usage Pattern

# Request specific stage
使用 local-marketing-agent 執行 Stage 2:LINE 推播文案

# Multi-stage request
依序執行 Stage 1-3,將所有輸出整合至 outputs/full-campaign.md

# Custom constraints
使用 local-marketing-agent,但將主標題限制改為 16 字以內

Advanced Usage

Check Available Skills

find .agents -name "SKILL.md" -type f

Iterate on Output

In agy CLI:

請改寫 outputs/my-headline.md 中的標題,
加強在地特色感,但仍需符合原 Skill 規則。
更新後儲存回同一檔案。

Explain Integration Plan

根據 outputs/my-headline.md 與 website/ 現有程式,
請只說明如果要把這句主標題整合進首頁 Hero 區塊,
預計需要修改哪些檔案與原因。

請不要實際修改檔案。

Generate Multiple Variations

使用 local-marketing-agent,
根據同一份 brief 產生 3 個不同風格的主標題變化,
儲存至 outputs/headline-variations.md

Configuration

Environment Variables

No API keys required for basic CLI usage. Authentication handled via Google OAuth.

For CI/CD or advanced setups:

export ANTIGRAVITY_PROJECT_ID=your-project-id
export ANTIGRAVITY_REGION=asia-east1

Custom Skill Installation

To add your own marketing skill:

mkdir -p .agents/skills/my-custom-skill
# Create your SKILL.md with frontmatter and instructions

Example custom skill structure:

---
name: email-subject-line-generator
version: 1.0
---

# Task
Generate email subject lines optimized for open rates...

# Rules
- Maximum 50 characters
- Include personalization token: {{name}}
- A/B test variants: 3 versions
...

Common Patterns

Pattern 1: Brief → Headline → Website Integration

# 1. Fill brief
cat > challenge/my-brief.md << 'EOF'
# Brief
- 宣傳主題:夏季限定咖啡新品
- 目標對象:18-35歲咖啡愛好者
EOF

# 2. Generate in agy
agy
# > 使用 local-marketing-agent 執行 Stage 1

# 3. Review
cat outputs/my-headline.md

# 4. Preview integration
grep -A 5 "<h1" website/index.html

Pattern 2: Bulk Campaign Generation

# Generate all stages at once
agy
請依序執行:
1. Stage 1 主標題 → outputs/headline.md
2. Stage 2 LINE 文案 → outputs/line-copy.md
3. Stage 3 Facebook 開頭 → outputs/fb-post.md

每階段完成後自我檢查符合 Skill 規則再繼續。

Pattern 3: Localization Workflow

For multiple regions:

# In my-brief.md
- 可以使用的地名或關鍵字:台中、彰化、南投
使用 local-marketing-agent,
針對台中、彰化、南投三地各產生一版主標題,
分別儲存至 outputs/headline-taichung.md、
outputs/headline-changhua.md、
outputs/headline-nantou.md

Troubleshooting

Agent Doesn't Follow Skill Rules

Symptom: Generated headline exceeds character limit or invents information.

Solution: Add explicit validation step:

請先產生主標題草稿,然後依 SKILL.md 第 X 條檢查:
1. 字數是否 ≤24
2. 是否捏造資訊
若不符合,請修正後再輸出至 outputs/

Skill Not Found

Symptom: Error: skill 'local-marketing-agent' not found

Solution:

# Verify skill exists
find .agents -name "SKILL.md"

# Check you're in project root
pwd  # Should end with antigravity-marketing-lab

# Re-clone if needed
cd .. && rm -rf antigravity-marketing-lab
git clone https://github.com/jarsing/antigravity-marketing-lab.git
cd antigravity-marketing-lab

CLI Not Persisting PATH

Symptom: agy: command not found after closing shell

Solution: Add to ~/.bashrc:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Output File Not Created

Symptom: cat outputs/my-headline.md returns "No such file"

Solution:

# Create outputs directory if missing
mkdir -p outputs

# Re-run agent task with explicit path
agy
# > 確保輸出檔案完整路徑為:$PWD/outputs/my-headline.md

Brief in Wrong Format

Symptom: Agent produces generic output ignoring brief

Solution: Validate brief structure:

# Brief must have these exact fields:
grep -E "^- (宣傳主題|目標對象|最大特色|希望對方採取的行動)" challenge/my-brief.md

# Should return 4+ matches

Rate Limits or Quota Issues

Symptom: 429 Too Many Requests or quota errors

Solution:

  • Wait 60 seconds between requests
  • Use --dry-run flag for testing (if available)
  • Share an account in workshop settings
  • Simplify task to reduce token usage:
# Instead of multi-stage:
使用 local-marketing-agent 只執行 Stage 1

# Instead of variations:
產生 1 個主標題(不要變化版本)

Workshop Extensions

After Completing Stage 1

Try these progressions:

# Stage 2: LINE copy
agy
# > 使用 local-marketing-agent 執行 Stage 2,儲存至 outputs/line-push.md

# Stage 3: Facebook post
agy
# > 使用 local-marketing-agent 執行 Stage 3,儲存至 outputs/fb-opening.md

Modify Skill Constraints

cp .agents/skills/local-marketing-agent/SKILL.md .agents/skills/local-marketing-agent/SKILL.md.bak

# Edit SKILL.md to change character limits, tone, or rules
cloudshell edit .agents/skills/local-marketing-agent/SKILL.md

Create New Skill

mkdir -p .agents/skills/travel-itinerary-generator
cat > .agents/skills/travel-itinerary-generator/SKILL.md << 'EOF'
---
name: travel-itinerary-generator
version: 1.0
---

# Task
Generate day-by-day travel itineraries for Taiwan destinations...
EOF

Real-World Integration

Export to Marketing Tools

# Copy headline for use in campaigns
cat outputs/my-headline.md | pbcopy  # macOS
cat outputs/my-headline.md | xclip   # Linux

# Export as JSON for API integration
cat > outputs/export.json << EOF
{
  "headline": "$(tail -1 outputs/my-headline.md | tr -d '「」')",
  "campaign_id": "${CAMPAIGN_ID}",
  "timestamp": "$(date -Iseconds)"
}
EOF

Automated Campaign Workflow

#!/bin/bash
# campaign-generator.sh

for city in 台中 彰化 南投; do
  sed "s/彰化/$city/g" challenge/my-brief.md > challenge/brief-$city.md
  
  agy --non-interactive << EOF
請讀取 challenge/brief-$city.md
使用 local-marketing-agent 執行 Stage 1
儲存至 outputs/headline-$city.md
EOF
done

References

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

NOASSERTION

源路径

skills/antigravity-marketing-lab

默认分支

main

最新提交

97301f4

Tree SHA

5555d7f