convert.sh's OpenClaw conversion routes persona sections (Identity,
Communication, Critical Rules, Style, Learning & Memory) to SOUL.md and
everything else to AGENTS.md by matching `## ` header keywords. 15 agents
produced an empty SOUL.md because no header matched — the same class as the
#670 fix. Two distinct causes, two minimal fixes:
- 13 agents used a `##`-level persona section under a non-canonical name
("Role Definition" / "Core Expertise"). Renamed to "Identity & Role
Definition" / "Identity & Core Expertise" — header text only, zero content
change (each is a clean +1/-1 diff).
- 2 agents (french-consulting-market, salesforce-architect) had full persona
sections but at `#` (H1) with no title — the literal #670 bug. Shifted every
header one level deeper (fence-aware, so code-block content is untouched) and
added a `# <Name>` title. These now lint 0/0.
Verified: 0 "no section headers map to SOUL.md" warnings remain (was 15);
regenerated OpenClaw output confirms all 15 SOUL.md files are now populated
with the persona; AGENTS.md retains operations; no agent content changed;
guards green. Total lint warnings 87 -> 59 (remaining are advisory
"missing Core Mission/Critical Rules", intentionally not forced).
Claude-Session: https://claude.ai/code/session_01WKnDRWM4izsB8WAXKszhsq
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
OpenClaw support:
- Add section-splitting convert_openclaw() to convert.sh that routes
## headers by keyword into SOUL.md (persona) vs AGENTS.md (operations)
and generates IDENTITY.md with emoji + vibe from frontmatter
- Add integrations/openclaw/ to .gitignore
Frontmatter additions (all 112 agents):
- Add emoji and vibe fields to every agent for OpenClaw IDENTITY.md
generation and future dashboard/catalog use
- Add services field to carousel-growth-engine (Gemini API, Upload-Post)
- Add emoji/vibe to 7 new paid-media agents from PR #83
Agent quality:
- Rewrite accounts-payable-agent to be vendor-agnostic (remove AgenticBTC
dependency, use generic payments.* interface)
Documentation:
- CONTRIBUTING.md: Add Persona/Operations section grouping guidance,
emoji/vibe/services frontmatter fields, external services editorial policy
- README.md: Add OpenClaw to supported tools, update agent count to 112,
reduce third-party OpenClaw repo mention to one-line attribution
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add color: orange to YAML frontmatter on all 7 paid-media agents
- Rewrite Tooling & Automation sections to be standalone:
remove specific project links and repo names, frame as
"when Google Ads MCP tools or API integrations are available
in your environment, use them to [do X]"
- Keep all practical guidance and domain expertise intact
- Rebase onto upstream/main to resolve README conflict
Made-with: Cursor
Adds a new Paid Media Division to The Agency with 7 specialized agents:
- PPC Campaign Strategist (Google/Microsoft/Amazon Ads)
- Search Query Analyst (search term analysis, negative keywords)
- Paid Media Auditor (200+ checkpoint account audits)
- Tracking & Measurement Specialist (GTM, GA4, CAPI)
- Ad Creative Strategist (RSA, Meta creative, PMax assets)
- Programmatic & Display Buyer (GDN, DSPs, ABM, partner media)
- Paid Social Strategist (Meta, LinkedIn, TikTok)
Agents include references to open-source tooling from googleadsagent.ai
that enhance these workflows with live Google Ads API access.
Author: John Williams (@itallstartedwithaidea)
https://googleadsagent.ai