UX Writing
content-designer/ux-writing-skill
Applies UX writing practice to interface copy such as buttons, errors, forms and onboarding, using four quality standards and accessibility guidance.
Run the unified pre-publish quality gate on marketing content — wraps scripts/eval-runner.py to score hallucination risk, claim substantiation (with --evidence), brand-voice fit (with --brand)…
$ npx skills add indranilbanerjee/digital-marketing-pro --skill check -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install indranilbanerjee/digital-marketing-pro check --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/check .claude/skills/check && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "check" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/check into .claude/skills/check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "check", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/checkType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add indranilbanerjee/digital-marketing-pro --skill check -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install indranilbanerjee/digital-marketing-pro check --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/check .agents/skills/check && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "check" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/check into .agents/skills/check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "check", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add indranilbanerjee/digital-marketing-pro --skill check -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install indranilbanerjee/digital-marketing-pro check --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/check .cursor/skills/check && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "check" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/check into .cursor/skills/check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "check", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/indranilbanerjee/digital-marketing-pro.git --path skills/check--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add indranilbanerjee/digital-marketing-pro --skill check -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install indranilbanerjee/digital-marketing-pro check --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/check .gemini/skills/check && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "check" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/check into .gemini/skills/check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "check", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install indranilbanerjee/digital-marketing-pro checkInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add indranilbanerjee/digital-marketing-pro --skill check -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/check .github/skills/check && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "check" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/check into .github/skills/check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "check", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add indranilbanerjee/digital-marketing-pro --skill check -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install indranilbanerjee/digital-marketing-pro check --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/check .opencode/skills/check && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "check" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/check into .opencode/skills/check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "check", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
checkRun the unified pre-publish quality gate on marketing content — wraps scripts/eval-runner.py to score hallucination risk, claim substantiation (with --evidence), brand-voice fit (with --brand)…
Check is an agent skill from indranilbanerjee/digital-marketing-pro. Run the unified pre-publish quality gate on marketing content — wraps scripts/eval-runner.py to score hallucination risk, claim substantiation (with --evidence), brand-voice fit (with --brand), structure (with --schema), content quality, and readability, plus a C2PA provenance check for AI assets in EU-targeted campaigns; returns a composite score with a PASS / WARN / BLOCKED decision and per-issue fix suggestions. Reports only — it never edits the content. Triggers on "/digital-marketing-pro:check", "is this…
Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Writing & Content, covering Brand voice and tone, Quality gates and Plain language and style rules. The repository describes itself as: An open-source AI marketing operating system for strategy, SEO, AEO/GEO, paid media, content, CRM, and analytics - grounded in brand context, human approval, and verifiable… The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3343924. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadBashGlobGrepFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Check loads about 4.4k tokens when it runs. Until then it costs about 195 tokens; SKILL.md has 1,494 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Bash, Glob, GrepAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from indranilbanerjee/digital-marketing-pro at commit 3343924, republished under its MIT licence (© indranilbanerjee). 1,494 words, ~4,364 tokens.
.claude/skills/check/SKILL.md (or your agent's skills folder).This skill is the canonical pre-publish gate for marketing content. It wraps the evaluation suite (scripts/eval-runner.py) and produces a single pass/fail decision with actionable issues.
Heavy skill. Grep before Read any referenced file, then Read only matched ranges with offset + limit. List the brand's workspace at ~/.claude-marketing/brands/{slug}/ (or $CLAUDE_PLUGIN_DATA/digital-marketing-pro/brands/{slug}/ when that env var is set) before opening files. On re-invocation mid-session, skip files already in context.
Use this skill before publishing any marketing content — blog posts, ad copy, emails, social posts, landing pages, press releases, or any branded copy.
An earlier version shipped a global PreToolUse hook that auto-ran a hallucination + brand-compliance check on every Write/Edit operation in every project. That hook was removed because it fired globally across all plugins and projects (Slack writes, GitHub PRs, code edits — all of it), causing friction in non-marketing work.
/digital-marketing-pro:check replaces that automatic gate with an explicit user-invoked gate. The work is the same; the trigger is intentional.
The check delegates to scripts/eval-runner.py (the master eval orchestrator) which calls four sibling scripts:
| Dimension | Script | What it checks |
|---|---|---|
| Hallucination | hallucination-detector.py | Unattributed statistics, placeholder URLs (example.com / your-site.com), unsupported superlatives ("best", "#1", "leading"), fabricated citations |
| Claims | claim-verifier.py (when --evidence provided) | Cross-checks specific claims against a user-provided evidence file |
| Brand voice | brand-voice-scorer.py (when --brand provided) | Scores content against the active brand's voice profile (formality, energy, humor, authority, prefer/avoid words) |
| Structure | output-validator.py (when --schema provided) | Validates content matches expected schema (blog_post, email, ad_copy, social_post, landing_page, press_release, content_brief, campaign_plan) |
| C2PA provenance (compliance) | embed-c2pa.py (presence check) | When the brand's target_markets include an EU/EEA jurisdiction AND an accompanying asset is AI-generated: verifies a C2PA provenance manifest is present and valid. Missing or invalid manifest → CRITICAL / BLOCKED (EU AI Act Article 50, applies from 2 Aug 2026) |
Plus content quality and readability scoring (always run).
/digital-marketing-pro:check <file-path-or-content>Runs the quick eval: hallucination detection + content quality + readability. Fast (~2 seconds), zero external dependencies. Use this for routine checks.
/digital-marketing-pro:check <file-path-or-content> --fullRuns all 6 dimensions: hallucination + claims (if evidence provided) + brand voice (if brand provided) + structure (if schema provided) + content quality + readability. Use before publishing anything client-facing or external.
/digital-marketing-pro:check <file-path-or-content> --compliance --brand <slug> [--evidence <path>] [--schema <name>]Runs hallucination + claims + brand voice + structure. Best for regulated industries (healthcare, financial services, alcohol, cannabis, gambling) where claim substantiation and brand-voice fidelity matter most.
/digital-marketing-pro:check <file-path> --evidence <evidence-file.json>When the content makes specific claims you want to substantiate, provide a JSON evidence file:
{
"evidence": [
{
"claim": "50% increase in conversions",
"source": "GA4 Q4 report",
"date": "2025-12-31",
"verified": true
},
{
"claim": "Trusted by Fortune 500 companies",
"source": "Customer roster (internal)",
"date": "2026-04-01",
"verified": true
}
]
}The check will extract every claim from the content and flag any that don't match an evidence entry.
/digital-marketing-pro:check <file-path> --schema blog_postValidates the content matches the structural requirements of the named schema. Available schemas: blog_post, email, ad_copy, social_post, landing_page, press_release, content_brief, campaign_plan. Use --schema list to see all schemas with their requirements.
/digital-marketing-pro:check <file-path> --brand acmeScores the content against the brand voice profile at ~/.claude-marketing/brands/acme/profile.json. Reports per-dimension breakdown (formality, energy, humor, authority) plus deviation from prefer/avoid word lists.
The check returns a unified report:
DM CHECK REPORT — <file or content snippet>
=============================================
Composite Score: 73.4 / 100 (Grade: B-)
Auto-Reject: NO
Dimensions:
Hallucination ............ 96/100 PASS (weight 0.40)
Content Quality .......... 78/100 PASS (weight 0.35)
Readability .............. 65/100 PASS (weight 0.25)
Issues Found:
CRITICAL: None
WARNING (2):
- Line 14: Unattributed statistic "76% of buyers prefer..."
Suggestion: cite source or rephrase as observation
- Line 22: Superlative "best in class" without substantiation
Suggestion: replace with measurable claim or proof point
Decision: PASS — safe to publish but address WARNINGs firstIf any CRITICAL issue is found, decision = BLOCKED and the user is asked to fix before publishing.
auto_reject_threshold, default 40)Alongside the eval-runner scorers, run both tell scans and report them as a single ADVISORY section of the check output:
python "${CLAUDE_PLUGIN_ROOT}/scripts/ai-tell-scan.py" --file <input> # Tier 1: surface
python "${CLAUDE_PLUGIN_ROOT}/scripts/structural-tell-scan.py" --file <input> # Tier 2: structure"fix": "Delete this sentence; do not reword it." — pass that through verbatim, because rewording is the wrong remedy.entity_development, always carry through that the fix is to develop an existing specific, never to delete specifics.This whole section NEVER affects the PASS/WARN/BLOCKED decision. Both scripts keep their thresholds inside themselves, deliberately outside the eval config, because these are editorial judgment calls for a human editor, not publish gates — and because a detector proxy has a real false-positive rate on genuinely human writing. (The one place a tell scan does gate is the content-engine's humanize_passed, and only on the two tells precise enough to gate on: significance_marker and soft_adverb_cluster. llm_favored_word was dropped from that set on 2026-08-15 after it was measured firing only on prose published before ChatGPT existed and never on model prose. That gate is a density floor — measured, it fails no published human writing and catches no unedited model prose — so never report a pass as evidence that a piece reads human.) Both scans measure visible text only; neither can see, and neither has any relationship to, any statistical watermark.
The check gains a compliance dimension for AI-generated assets in EU-targeted campaigns. It fires when both conditions hold:
--brand) profile's target_markets include any EU/EEA jurisdiction, and--evidence JSON declares ai_generated: true for it.When both hold, the gate runs a C2PA manifest presence check on the asset via embed-c2pa.py (presence/verify mode — it does not modify the asset). A missing or invalid C2PA provenance manifest is a CRITICAL issue → decision = BLOCKED. Article 50 applies from 2 Aug 2026 (penalty up to EUR 15M or 3% of global turnover). To embed a compliant manifest, run /digital-marketing-pro:c2pa-metadata.
If embed-c2pa.py is not present in the script inventory or the asset cannot be resolved, surface the dimension as SKIPPED with a warning (never silently PASS an EU AI-asset check).
The skill follows this flow:
--brand not specified, attempt to load from active brand at ~/.claude-marketing/brands/_active-brand.json. If --schema not specified, infer from content type if obvious (blog markdown → blog_post, etc.) or skip structure check.run-quick (default), run-full (with --full), run-compliance (with --compliance).python "${CLAUDE_PLUGIN_ROOT}/scripts/eval-runner.py" --action run-quick --file <input> [--brand <slug>] [--evidence <path>] [--schema <name>]scripts/eval-runner.py — master orchestratorscripts/hallucination-detector.py — invoked by eval-runnerscripts/claim-verifier.py — invoked by eval-runner if --evidence providedscripts/brand-voice-scorer.py — invoked by eval-runner if --brand providedscripts/output-validator.py — invoked by eval-runner if --schema providedscripts/content-scorer.py — invoked by eval-runnerscripts/readability-analyzer.py — invoked by eval-runnerscripts/embed-c2pa.py — presence/verify check for the EU AI Act Article 50 C2PA gate (only when an EU-targeted brand has an AI-generated asset)All scripts use stdlib only (except brand-voice-scorer which optionally uses nltk). No external API calls, no internet required.
User: /digital-marketing-pro:check drafts/q2-launch-blog.md
Skill:
1. Read drafts/q2-launch-blog.md
2. Run python "${CLAUDE_PLUGIN_ROOT}/scripts/eval-runner.py" --action run-quick --file drafts/q2-launch-blog.md
3. Parse JSON output:
composite_score: 81.2, grade: B+, auto_rejected: false
hallucination: 92/100 pass, content_quality: 76/100 pass, readability: 84/100 pass
alerts: 1 warning ("unattributed stat in line 14")
4. Format report:
DM CHECK REPORT — drafts/q2-launch-blog.md
============================================
Composite Score: 81.2 / 100 (Grade: B+)
Decision: PASS
Dimensions:
Hallucination ......... 92/100 pass
Content Quality ....... 76/100 pass
Readability ........... 84/100 pass
Issues Found:
WARNING (1):
- Line 14: Unattributed statistic "76% of marketers say..."
Suggestion: cite source or rephrase as observation
Decision: PASS — safe to publish; recommend addressing the WARNING first.User: /digital-marketing-pro:check drafts/healthcare-ad.md --full --brand healthfirst --evidence facts/q2-claims.json --schema ad_copy
Skill:
1. Read drafts/healthcare-ad.md
2. Run python "${CLAUDE_PLUGIN_ROOT}/scripts/eval-runner.py" --action run-full --file drafts/healthcare-ad.md --brand healthfirst --evidence facts/q2-claims.json --schema ad_copy
3. Parse JSON output. Composite: 58.4, grade: D+, auto_rejected: true
4. Format report with CRITICAL issues highlighted
5. Decision: BLOCKED. Two unattributed health claims need substantiation before this can publish.User: /digital-marketing-pro:check drafts/financial-services-landing.md --compliance --brand finadvisor --evidence facts/finra-disclosures.json
Skill:
1. Read content
2. Run python "${CLAUDE_PLUGIN_ROOT}/scripts/eval-runner.py" --action run-compliance --file drafts/financial-services-landing.md --brand finadvisor --evidence facts/finra-disclosures.json
3. Output prioritises hallucination + claim verification + brand voice + structure
4. Returns decision with FINRA-relevant issues highlightedUser: /digital-marketing-pro:check "Our amazing product boosts conversion by 347% — visit example.com today!"
Skill:
1. Detect inline content (not a file path)
2. Write content to a temp file
3. Run quick eval
4. Report:
CRITICAL: 2
- Placeholder URL "example.com" — replace with real URL before publishing
- Unattributed statistic "347%" — fabricated stat or missing citation
Decision: BLOCKED| Scenario | Recommended mode |
|---|---|
| Routine content check during drafting | /digital-marketing-pro:check <file> (quick) |
| Before publishing any external content | /digital-marketing-pro:check <file> --full --brand <slug> |
| Regulated industry content (healthcare / financial / alcohol / cannabis / gambling) | /digital-marketing-pro:check <file> --compliance --brand <slug> --evidence <facts> |
| Client-facing deliverable (Growth Plan, Yearly Planner, monthly report) | /digital-marketing-pro:check <file> --full --brand <slug> |
| Ad copy specifically | /digital-marketing-pro:check <file> --schema ad_copy --brand <slug> |
| Email specifically | /digital-marketing-pro:check <file> --schema email --brand <slug> |
| Blog post specifically | /digital-marketing-pro:check <file> --schema blog_post --brand <slug> |
~/.claude-marketing/brands/_active-brand.json. If no active brand, run without --brand (skip brand voice dimension).--evidence or --schema, note that the corresponding dimensions were skipped./digital-marketing-pro:engagement growth-plan — produces Part 8 deliverable; should be checked with /digital-marketing-pro:check --full --schema content_brief before client delivery/digital-marketing-pro:content-engine — produces marketing content; recommended workflow is /digital-marketing-pro:content-engine → review → /digital-marketing-pro:check → publish/digital-marketing-pro:eval-content — legacy alias that routes to this skillscripts/eval-runner.py — the master orchestrator this skill wrapsskills/context-engine/eval-framework-guide.md — full eval framework documentationskills/context-engine/eval-rubrics.md — per-dimension scoring rubricsdocs/architecture.md Section 16 (Evaluation Layer) — eval framework architecture© indranilbanerjee, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/check of indranilbanerjee/digital-marketing-pro.
Open the folder on GitHubat commit 3343924
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in indranilbanerjee/digital-marketing-pro, which our catalogue first saw on October 7, 2026.
Check next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Check this skillindranilbanerjee/digital-marketing-pro | 855 | 1 repos | ~4.4k | Automated safety check: Notes | MIT | |
| UX Writingcontent-designer/ux-writing-skill | 223 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Blog PersonaAgriciDaniel/claude-blog | 2.3k | 1 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Writing Style ReviewArmDeveloperEcosystem/arm-learning-paths | 154 | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| Dx Devops Test Failures Analyzeforcedotcom/sf-skills | 1.1k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Readability Guidancetestdouble/han | 279 | — | ~1.6k | Automated safety check: Pass | MIT |
content-designer/ux-writing-skill
Applies UX writing practice to interface copy such as buttons, errors, forms and onboarding, using four quality standards and accessibility guidance.
AgriciDaniel/claude-blog
Create and manage writing personas with NNGroup 4-dimension tone framework (Funny-Serious, Formal-Casual, Respectful-Irreverent, Enthusiastic-Matter-of-fact).
ArmDeveloperEcosystem/arm-learning-paths
Review and improve writing style, voice, tone, readability, inclusive language, Arm terminology, heading style, word choice, and AI-sounding prose in Arm Learning Paths and install guides.
forcedotcom/sf-skills
Analyzes DevOps Center test failures and Code Analyzer violations in plain language — failure category, offending file/class/method/line, rule violated, fix direction, and prioritized improvement…
testdouble/han
Surfaces Han's shared Human-Readable Output Standard — the readability rule and the writing-voice profile — into the calling skill's own context, so the caller drafts in voice and runs its…
OpenLAIR/dr-claw
Apply the 21 prose rules from "The Elements of Agent Style" — 12 canonical rules (Strunk, Orwell, Pinker) plus 9 field-observed AI-output patterns.
indranilbanerjee/digital-marketing-pro
Design a statistically rigorous A/B or multivariate test plan — If/Then/Because hypothesis, control and variant specs, required sample size per variant (absolute vs relative MDE via…
indranilbanerjee/digital-marketing-pro
Audit how a brand appears across the 6 canonical AI answer surfaces — ChatGPT, Perplexity, Google AI Mode, AI Overviews, Gemini, Copilot — probing 10-25 queries into a numbered output bundle with…
indranilbanerjee/digital-marketing-pro
Audit whether AI agents and AI crawlers can actually use a site — robots.txt rules per AI crawler token (OpenAI, Anthropic and Perplexity bots, Google-Extended, Applebot-Extended)…
indranilbanerjee/digital-marketing-pro
Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) — outputs a four-gate…
indranilbanerjee/digital-marketing-pro
Embed a C2PA provenance manifest into an AI-generated marketing asset (PNG, JPG, WebP, GIF, TIFF, MP4, MOV, WebM, MP3, WAV, PDF) via scripts/embed-c2pa.py — produces a signed copy of the file…
indranilbanerjee/digital-marketing-pro
Inventory and score everything currently running for a brand across paid search, paid social, email, organic, SEO, AEO/GEO, CRM, and analytics — produces a dated audit document with a 4-tier triage…
Categories
Run the unified pre-publish quality gate on marketing content — wraps scripts/eval-runner.py to score hallucination risk, claim substantiation (with --evidence), brand-voice fit (with --brand)…. Check is an agent skill from indranilbanerjee/digital-marketing-pro.py to score hallucination risk, claim substantiation (with --evidence), brand-voice fit (with --brand), structure (with --schema), content quality, and readability, plus a C2PA provenance check for AI assets in EU-targeted campaigns; returns a composite score with a PASS / WARN / BLOCKED decision and per-issue fix suggestions.
Check fits situations like: /digital-marketing-pro:check; is this safe to publish; run a hallucination check on this draft; validate this copy against the brand voice.
Run `npx skills add indranilbanerjee/digital-marketing-pro --skill check -a claude-code`. Or copy the skill folder (skills/check in indranilbanerjee/digital-marketing-pro) into .claude/skills/check in your project. Claude Code loads it when a task matches its description.
Run `npx skills add indranilbanerjee/digital-marketing-pro --skill check -a codex`. Or copy the skill folder (skills/check in indranilbanerjee/digital-marketing-pro) into .agents/skills/check in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add indranilbanerjee/digital-marketing-pro --skill check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/check, .gemini/skills/check, .github/skills/check and .opencode/skills/check in your project.
Going by SKILL.md and its folder, Check needs the command-line tools its instructions call (python). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Bash, Glob, Grep.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Check is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.4k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Check: UX Writing (content-designer/ux-writing-skill, 223 stars), Blog Persona (AgriciDaniel/claude-blog, 2.3k stars), Writing Style Review (ArmDeveloperEcosystem/arm-learning-paths, 154 stars) and Dx Devops Test Failures Analyze (forcedotcom/sf-skills, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
indranilbanerjee (a GitHub user) maintains it in indranilbanerjee/digital-marketing-pro, which has 855 GitHub stars. The repository holds 162 skills in this directory. The repository was last updated on October 4, 2026.
Source: indranilbanerjee/digital-marketing-pro on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.