Skip to content

Remove email-campaign skill (superseded by tdx-skills:engage) - #206

Open
LorenzoCadiz wants to merge 1 commit into
mainfrom
fix/email-campaign-skill
Open

Remove email-campaign skill (superseded by tdx-skills:engage)#206
LorenzoCadiz wants to merge 1 commit into
mainfrom
fix/email-campaign-skill

Conversation

@LorenzoCadiz

Copy link
Copy Markdown

Summary

Removes the email-campaign skill. It duplicated tdx-skills:engage's scope while using a non-standard mechanism that broke HTML rendering in Treasure AI Studio.

Root cause

email-campaign wrote raw HTML to /tmp/email_campaign_preview.html and pushed it through a engage_email_builder TD Workflow, passing the markup as a shell param:

tdx wf run engage_email_builder --param html_content="$(cat /tmp/email_campaign_preview.html)"

With no YAML wrapper there is no editor_type and no variables block — the two things Engage needs to render and personalize a template.

It gets worse: line 93 of the old SKILL.md told Claude to generate BeeFree-compatible HTML. Per tdx-skills/engage/SKILL.md:82, the beefree editor uses a proprietary JSON format that cannot be generated from HTML, which is why engage mandates editor_type: grapesjs. The skill was steering toward the one editor type guaranteed not to render hand-authored HTML — so the bug was not fixable by bolting YAML onto it.

Its integration reference also depended on a workflow that "hasn't been deployed to this account yet," with a manual copy-paste fallback. That whole path is superseded by native tdx engage template push.

Why engage fully covers it

email-campaign (removed) tdx-skills:engage
Artifact raw HTML in /tmp YAML (type: template/campaign) + HTML
Preview preview_document (generic) preview_engage_template / preview_engage_campaign
Push tdx wf run engage_email_builder tdx engage template push <yaml> --yes
editor_type never set grapesjs (required)

engage's description already claims the overlapping phrasings — "even if the user only mentions 'create an email' or 'build an HTML email'".

Changes

  • Delete email-campaign-skills/ (4 files, 560 lines)
  • Drop the email-campaign-skills plugin block from marketplace.json (14 plugins remain)
  • Retarget the existing trigger test to engage; add one covering the raw-HTML phrasing

No changes to tdx-skills/engage — nothing from the removed skill was merged into it.

Verification

  • marketplace.json parses; all 14 plugins' skill paths resolve to real dirs with a SKILL.md, all ./-prefixed
  • extract-skills.sh runs clean — 87 skills, email-campaign no longer among them
  • All three affected trigger tests pass against the harness's routing logic, each returning engage:
    • "Create an email campaign for my segment" → engage
    • "Manage Engage campaigns using tdx engage commands" → engage
    • "Build an HTML email template and push it to Engage" → engage
  • No dangling references repo-wide; README never listed the skill

The full ~150-test suite was not run — only the three tests this change touches.

Note for reviewers

engage gives no HTML authoring guidance (table layout, inline CSS, Outlook quirks). Claude generally knows these conventions, so this is likely fine, but it's the first place to look if rendering issues persist. Not addressed here to keep the change scoped to the removal.

🤖 Generated with Claude Code

The email-campaign skill duplicated tdx-skills:engage's scope while using
a non-standard mechanism that broke HTML rendering in Treasure AI Studio.

Root cause: email-campaign wrote raw HTML to /tmp and pushed it via a
hypothetical `engage_email_builder` TD Workflow, passing html_content as a
shell param. With no YAML wrapper there is no `editor_type` and no
`variables` block. It also instructed Claude to target BeeFree-compatible
HTML, but the beefree editor uses a proprietary JSON format that cannot be
generated from HTML at all — engage mandates `editor_type: grapesjs` for
exactly this reason. So the skill steered toward the one editor type
guaranteed not to render hand-authored HTML.

tdx-skills:engage already covers this surface correctly via YAML+HTML and
native `tdx engage template/campaign push`, and its description explicitly
claims the "create an email" / "build an HTML email" phrasings.

- Delete email-campaign-skills/ (4 files)
- Drop the email-campaign-skills plugin block from marketplace.json
- Retarget the existing trigger test to `engage` and add one covering the
  raw-HTML phrasing

No changes to tdx-skills/engage — nothing from the removed skill was
merged into it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@LorenzoCadiz
LorenzoCadiz requested review from a team as code owners August 6, 2026 21:08
@adher-code

Copy link
Copy Markdown

Hey @LorenzoCadiz — quick note before this merges. The deleted references/email-design-patterns.md had solid content (table-based layout, inline CSS rules, Outlook quirks, CTA button patterns) that doesn't exist anywhere in tdx-skills:engage. Since you already have it in the diff, would you be open to opening a follow-up PR to add it as a reference file inside tdx-skills/engage/references/? No urgency on blocking this PR — just want to make sure that knowledge doesn't disappear. Thanks for the cleanup work here 🙌 And if you think it is not necessary then, no need to do it

@adher-code

Copy link
Copy Markdown

@LorenzoCadiz quick governance flag. tdx-skills/engage is one of our Default On skills but its SKILL.md is missing the required Tier 1 fields: owner, tier, classification, and phase. It also has no test.yml or SKILL.meta.yml. This is the same checklist we applied to segment in PR #196. Can whoever owns this skill open a small PR to add those fields? Happy to review — just want to make sure our Default On skills are all fully governed. Thanks!

@adher-code adher-code left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apporved! Thanks for the clean up! I left two comments that are not blockers but I think good to have.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants