- Sales
- v1.0.0
- abm
1:1 ABM ads
Use this skill when running 1:1 ABM ads on LinkedIn — one ad set per named target company, each audience sized and narrowed to the buyers, personalized single-image creatives, and a DRAFT-first campaign build with a script for every step.
SKILL.md
SKILL: Run 1:1 ABM Ads on LinkedIn
Use this when: you need to run 1:1 ABM (Account-Based Marketing) ads on LinkedIn - paid ads aimed one company at a time: a named list of individual companies (one ad set per company), each audience sized and narrowed to the buyers, with personalized single-image ads that link to an asset built for that account. Self-contained; start here.
Read README.md for the full end-to-end walkthrough. This file is the one-screen index.
The pipeline (each step → its doc + its script)
| # | Step | Do it with | Read |
|---|---|---|---|
| 0 | Understand strategy + build procedure | - | sops/01-abm-strategy.md, sops/03-build-and-launch-sop.md |
| 1 | Resolve companies → org URNs → audience size → runnable (≥300) | scripts/resolve_and_size.py |
sops/02-audience-sizing.md |
| 2 | Narrow each audience to the target band (>300, ideally 300-1,000) | scripts/narrow_audience.py |
sops/04-audience-narrowing-sop.md |
| 3 | Write the copy (creative / commentary / landing page) | - | sops/03-build-and-launch-sop.md → "Writing copy" |
| 4 | Generate personalized creatives (gpt-image-2) | scripts/render_creatives.py |
sops/05-ad-creative-skill.md, sops/06-image-generation-skill.md |
| 5 | Build the campaign DRAFT (group + ad sets + conversions + UTMs + ads) | scripts/build_campaign.py |
sops/03-build-and-launch-sop.md (Phases 1-7) |
| 6 | QA + activate (explicit go) | scripts/build_campaign.py (verify) |
sops/03-build-and-launch-sop.md (Phase 7) |
Setup
python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt, then
cp scripts/env.example.txt scripts/.env and fill LINKEDIN_ACCESS_TOKEN + OPENAI_API_KEY.
Rules that never bend
- Create everything DRAFT (no spend). Activation is separate + explicit.
- Never delete via API without a fresh human "CONFIRM DELETE".
- Never fabricate ad copy/numbers - trace every word to the landing page.
- Target band: >300, ideal 300-1,000, ≤~1,200 fine, trim hard if >2,000. Entry-level ≤5%.
- Secrets live in
scripts/.envonly - shareenv.example.txt, never.env.
By Ivan Falco - Frontal
Files
17 files ship with this skill. They are installed beside the SKILL.md.
1:1 ABM ads
Imported from the GTM Skills library by Swan (https://www.gtmskills.com), skills/ivan-falco/1-to-1-abm-ads
at https://github.com/swan-gtm/gtm-skills/commit/5d786aad0c7b2ca59b1abf1f601f9407ca261996. Written by Ivan Falco (https://linkedin.com/in/ivanfalco).
The skill is shared under the MIT License below; this notice must stay with any copy.
MIT License
Copyright (c) 2026 Swan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.