Easy A2P

Official · Open Source · MIT Licensed

The Official Easy A2P
Claude Code Skill

Run A2P 10DLC registration checks and drafting for the GoHighLevel Trust Center without leaving Claude Code. The same rule engine, backend, and credits as the Easy A2P web app — invokable straight from your terminal or IDE.

The Easy A2P Claude Code skill is the official, open-source (MIT) skill from Gary Vogt that runs A2P 10DLC registration review, drafting, and fixing for GoHighLevel Trust Center copy directly inside Claude Code. It exposes three actions — review (free), draft (2 credits), and fix (1 credit) — using the same rules, backend, and credits as the Easy A2P web app. Install it by cloning github.com/garyvogtconsulting-commits/easy-a2p-skill into your Claude Code skills directory.

Three actions, one skill

review free

Grades your existing GoHighLevel Trust Center copy against documented TCR rejection rules and returns findings, section by section — what tripped each rule and how to fix it.

draft 2 credits

Generates a complete, review-ready submission packet from your business inputs: campaign use-case description, sample messages, opt-in language, Privacy Policy and Terms of Service SMS sections, field by field.

fix 1 credit

Rewrites the sections a review flagged and self-verifies the result until it passes the same rule checks — corrected copy, ready to paste into the Trust Center.

Reviews are free, so a free Review + Fix (1 credit in the skill) is the cheapest rescue there is — and a fresh Draft is 2 credits.

Install in one command

1 · Clone into your skills directory

git clone https://github.com/garyvogtconsulting-commits/easy-a2p-skill ~/.claude/skills/easy-a2p

2 · Set your Easy A2P API key

Generate an API key from your dashboard at app.easya2p.app and set it as an environment variable. The skill uses the same account and credits as the web app.

3 · Invoke it in any session

Mention A2P 10DLC, GHL Trust Center, or a TCR rejection in Claude Code — the skill auto-loads and routes you to review, draft, or fix. No slash command to memorize.

Prefer a browser? The skill runs the exact same review, draft, and fix flows as the Easy A2P web app — same rules, same credits, same account. Use whichever fits your workflow; your credits work across both. Easy A2P checks and drafts your copy — it never submits or approves campaigns; TCR and the carriers make every approval decision.

Skill FAQ

What is the Easy A2P Claude Code skill?

The Easy A2P Claude Code skill is the official, open-source (MIT) skill from Gary Vogt that runs A2P 10DLC registration review, drafting, and fixing for GoHighLevel Trust Center copy directly inside Claude Code. It exposes three actions — review (free), draft (2 credits), and fix (1 credit) — using the same rules, backend, and credits as the Easy A2P web app at app.easya2p.app.

How do I install the Easy A2P Claude Code skill?

Clone the repository into your Claude Code skills directory: git clone https://github.com/garyvogtconsulting-commits/easy-a2p-skill ~/.claude/skills/easy-a2p. Then in any Claude Code session, mention A2P 10DLC, GHL Trust Center, TCR rejection, or a similar topic — the skill auto-loads and Claude routes you to the right action.

Do I need a separate account or API key for the skill?

No. The skill uses the same Easy A2P account and API key as the web app at easya2p.app. Sign up once, generate your API key from the dashboard, set it as an environment variable, and the skill picks it up automatically. Credits are shared across the skill and the web app.

Is the Easy A2P Claude Code skill free?

The skill itself is free and open-source under the MIT license. Reviews are free, and you only spend Easy A2P credits on generation — a draft is 2 credits and a skill fix is 1. Every account starts with 3 starter credits, no credit card required.

Does the skill guarantee my A2P campaign will be approved?

No. The skill checks your copy against documented TCR rejection patterns and drafts review-ready submissions, but it does not submit or approve campaigns. The Campaign Registry and the mobile carriers make every approval decision. The skill helps you catch preventable rejection causes before you submit.

Built by Gary Vogt Consulting · open source on GitHub · Ship it Clean!

YOUR PRIVACY

Cookie preferences

Choose categories or individual services. You can change your choices at any time using Cookie settings.

Necessary storage remembers your cookie choices. It is always on and does not enable optional tracking.

Measure visits to easya2p.app pages after explicit permission. Page addresses keep campaign tags (utm_*) and drop every other query parameter

Involves sale or sharing of data. Restricted when Global Privacy Control is active.

Storage details
  • _ga (cookie): Google browser and session identifiers. Duration: Up to 400 days (about 13 months). Scope: This host/. Accessible browser storage can be removed on withdrawal.
  • _ga (cookie): Google browser and session identifiers. Duration: Up to 400 days (about 13 months). Scope: easya2p.app/. Accessible browser storage can be removed on withdrawal.
  • _ga_E9MYKG489Y (cookie): Google browser and session identifiers. Duration: Up to 400 days (about 13 months). Scope: This host/. Accessible browser storage can be removed on withdrawal.
  • _ga_E9MYKG489Y (cookie): Google browser and session identifiers. Duration: Up to 400 days (about 13 months). Scope: easya2p.app/. Accessible browser storage can be removed on withdrawal.

Record how pages are used (clicks, scrolling and layout) as session replays and heatmaps, to find what confuses visitors. Clarity masks text typed into forms

Involves sale or sharing of data. Restricted when Global Privacy Control is active.

Storage details
  • _clck (cookie): Clarity visitor identifier. Duration: Up to 1 year. Scope: This host/. Accessible browser storage can be removed on withdrawal.
  • _clck (cookie): Clarity visitor identifier. Duration: Up to 1 year. Scope: easya2p.app/. Accessible browser storage can be removed on withdrawal.
  • _clsk (cookie): Clarity session identifier. Duration: Up to 1 day. Scope: This host/. Accessible browser storage can be removed on withdrawal.
  • _clsk (cookie): Clarity session identifier. Duration: Up to 1 day. Scope: easya2p.app/. Accessible browser storage can be removed on withdrawal.
  • _cltk (sessionStorage): Clarity session tracking. Duration: Until the tab closes. Scope: This host/. Accessible browser storage can be removed on withdrawal.
  • CLID (cookie): Clarity visitor identifier (third-party, set by Microsoft). Duration: Up to 1 year. Scope: www.clarity.ms/. Cannot be removed by this site’s JavaScript.
  • MUID (cookie): Microsoft visitor identifier (third-party, set by Microsoft). Duration: Up to 13 months. Scope: clarity.ms/. Cannot be removed by this site’s JavaScript.
  • MUID (cookie): Microsoft visitor identifier (third-party, set by Microsoft). Duration: Up to 13 months. Scope: bing.com/. Cannot be removed by this site’s JavaScript.
  • SRM_B (cookie): Microsoft identifier synchronisation (third-party, set by Microsoft). Duration: Up to 13 months. Scope: c.bing.com/. Cannot be removed by this site’s JavaScript.
  • MR (cookie): Microsoft identifier refresh (third-party, set by Microsoft). Duration: Up to 7 days. Scope: c.bing.com/. Cannot be removed by this site’s JavaScript.
  • MR (cookie): Microsoft identifier refresh (third-party, set by Microsoft). Duration: Up to 7 days. Scope: c.clarity.ms/. Cannot be removed by this site’s JavaScript.
  • SM (cookie): Microsoft session marker (third-party, set by Microsoft). Duration: Until the browser closes. Scope: c.clarity.ms/. Cannot be removed by this site’s JavaScript.
  • ANONCHK (cookie): Microsoft identifier check (third-party, set by Microsoft). Duration: A few minutes. Scope: c.clarity.ms/. Cannot be removed by this site’s JavaScript.

Let Google Ads credit a sign-up to the ad click that brought you, through Google Analytics 4. Ad click IDs (gclid, gbraid, wbraid) stay in page addresses only while this is allowed. Advertising personalization and remarketing stay off

Involves sale or sharing of data. Restricted when Global Privacy Control is active.

Requires Google Analytics 4. Enable those services first.

Storage details
  • _gcl_au (cookie): Google Ads click and conversion identifiers. Duration: Up to 90 days. Scope: This host/. Accessible browser storage can be removed on withdrawal.
  • _gcl_au (cookie): Google Ads click and conversion identifiers. Duration: Up to 90 days. Scope: easya2p.app/. Accessible browser storage can be removed on withdrawal.
  • _gcl_aw (cookie): Google Ads click and conversion identifiers. Duration: Up to 90 days. Scope: This host/. Accessible browser storage can be removed on withdrawal.
  • _gcl_aw (cookie): Google Ads click and conversion identifiers. Duration: Up to 90 days. Scope: easya2p.app/. Accessible browser storage can be removed on withdrawal.
  • _gcl_gb (cookie): Google Ads click and conversion identifiers. Duration: Up to 90 days. Scope: This host/. Accessible browser storage can be removed on withdrawal.
  • _gcl_gb (cookie): Google Ads click and conversion identifiers. Duration: Up to 90 days. Scope: easya2p.app/. Accessible browser storage can be removed on withdrawal.
  • _gcl_ag (cookie): Google Ads click and conversion identifiers. Duration: Up to 90 days. Scope: This host/. Accessible browser storage can be removed on withdrawal.
  • _gcl_ag (cookie): Google Ads click and conversion identifiers. Duration: Up to 90 days. Scope: easya2p.app/. Accessible browser storage can be removed on withdrawal.

Cookie controls are unavailable. You can still contact us by email. Contact us