Install the "engagement-workflow" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/engagement-workflow into .claude/skills/engagement-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engagement-workflow", 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.
Type 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.
skills CLI
$ npx skills add indranilbanerjee/digital-marketing-pro --skill engagement-workflow -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "engagement-workflow" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/engagement-workflow into .agents/skills/engagement-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engagement-workflow", 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.
skills CLI
$ npx skills add indranilbanerjee/digital-marketing-pro --skill engagement-workflow -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "engagement-workflow" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/engagement-workflow into .cursor/skills/engagement-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engagement-workflow", 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.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add indranilbanerjee/digital-marketing-pro --skill engagement-workflow -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "engagement-workflow" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/engagement-workflow into .gemini/skills/engagement-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engagement-workflow", 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.
Installs 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).
skills CLI
$ npx skills add indranilbanerjee/digital-marketing-pro --skill engagement-workflow -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "engagement-workflow" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/engagement-workflow into .github/skills/engagement-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engagement-workflow", 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.
skills CLI
$ npx skills add indranilbanerjee/digital-marketing-pro --skill engagement-workflow -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "engagement-workflow" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/engagement-workflow into .opencode/skills/engagement-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engagement-workflow", 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.
Facts
Skill name
engagement-workflow
GitHub stars
862
Used in
1 other repo
Token cost
~6.4k tokens
SKILL.md length
2,501 words
Files
1
Skills in repo
162
Repo updated
First seen
Licence
MIT
At a glance
Run the 12-Part engagement workflow from intake to growth plan, checkpointed.
Works in 4 steps: Validate that the brand profile exists… → Run python… → Confirm the directory tree was created… → …
SKILL.md covers Context efficiency, Operating Mode, Checkpointing & Resume (single… and State validation & rework caps, plus 8 more sections
Calls python
What it does
Engagement Workflow is an agent skill from indranilbanerjee/digital-marketing-pro. Run the 12-Part engagement workflow from intake to growth plan, checkpointed. "start a new engagement"
Its SKILL.md is about 6.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
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.
3Confirm the directory tree was created and report the next required action (Part 1 intake).
4Walk the user through Part 1 Stone vs Opinion intake by asking the questions one batch at a time.
What it can do on your machine
Read from SKILL.md and the folder at commit 9e949f3. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves these tools, so the agent can use them without asking each time:
Read
Write
Edit
Bash
Glob
Grep
Task
From allowed-tools in the SKILL.md frontmatter.
Runs code
Shell commands in SKILL.md call:
python
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Engagement Workflow loads about 6.4k tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 2,501 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~31
When it runs· the whole SKILL.md, loaded when a task matches
~6.4k
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.
Safety
Auto-check: notes
The automated check noted patterns worth knowing about, such as sudo or a known installer.
NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
Automated 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.
Script location. If your host does not set ${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin's scripts/ folder, next to skills/.
This skill orchestrates the full marketing engagement using the 12-Part sequential methodology. Every brand engagement runs through the same 12 parts in sequence, producing a canonical set of files at each stage.
Context efficiency
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.
This skill is invoked via the /digital-marketing-pro:engagement command family. The command is a thin router — this skill is the single source of truth for the engagement lifecycle, the checkpoint protocol, and the per-part production contract. Each subcommand maps to a specific lifecycle action. The skill calls engagement-state.py for persistence via:
You should never hand-edit _engagement.json — always go through engagement-state.py.
Checkpointing & Resume (single source of truth)
Every long engagement run is resumable. The checkpoint protocol is: init a run → save each part as it completes → finalize → publish to the visible output folder. This lets an interrupted run (context exhaustion, user cancel, machine sleep) resume from the next un-checkpointed part instead of restarting from Part 1.
1. On start, after the brand pre-condition passes, open a checkpoint run and link it to engagement state:
bash
python "${CLAUDE_PLUGIN_ROOT}/scripts/checkpoint-manager.py" init \
--brand "{brand_slug}" --workflow engagement --topic "{engagement_id}"
# Record the returned run_id into _engagement.json so resume can find it:
python "${CLAUDE_PLUGIN_ROOT}/scripts/engagement-state.py" set-checkpoint-run \
--brand "{brand_slug}" --id "{engagement_id}" --run-id "{run_id}"
set-checkpoint-run stores the run_id in _engagement.json, making the resume linkage real (previously the run_id was never persisted).
2. After each part completes and passes its quality gate, the orchestrator saves that part's output:
Pass the actual deliverable path for that part (e.g. Part 3 saves the Four Core Documents path; Part 8 saves the Growth Plan path) — never a placeholder for a different part.
3. Before saving Part 5 (Client Validation) and Part 8 (Growth Plan) deliverables, run the full quality gate:
bash
# BLOCKING gate — Part 5 and Part 8 deliverables cannot be checkpointed until this passes
/digital-marketing-pro:check "{path_to_deliverable}" --full --brand {brand}
If /digital-marketing-pro:check --full returns BLOCKED, fix the CRITICAL issues before checkpointing the part.
4. After the final part, publish every artifact to the user-visible folder and finalize:
--repair completes the canonical directory tree and state file on a dir that holds only partial state.
v2 re-run cap: a maximum of 2 v2 re-run rounds per part is allowed without explicit user override. The round count is stored in _engagement.json. If a part would exceed 2 rounds, stop and ask the user to explicitly approve further re-runs (records the override in state). This prevents unbounded re-run loops.
Validate that the brand profile exists at ~/.claude-marketing/brands/{brand-slug}/profile.json. If not, instruct the user to run /digital-marketing-pro:brand-setup first.
Run python ${CLAUDE_PLUGIN_ROOT}/scripts/engagement-state.py init --brand {brand-slug} --id {engagement-id}.
Confirm the directory tree was created and report the next required action (Part 1 intake).
Walk the user through Part 1 Stone vs Opinion intake by asking the questions one batch at a time.
Part 1 intake questions (ask in this order):
Stone — what the client knows for certain:
Company basics: founded year, employee count, headquarters location, geographic operations
Business model: revenue streams, pricing tiers, primary product/service categories
Current marketing: channels currently active, monthly marketing spend, current measurable KPIs
Tech stack: CRM, email service provider, analytics setup, ad accounts
Customer base scale: customer count, biggest named customer, average order value if known
For each Stone fact, capture:
The fact itself
Source (how the user knows / what document confirmed it)
Highlight files that are missing per the canonical structure. Use engagement-state.py validate-part --part {N} to diff each completed part's actual files against the PART_DEFINITIONS manifest (e.g., if Part 3 is marked completed but 3.1-business-and-sbu-analysis.md is missing, validate-part flags it deterministically instead of eyeballing).
Invoke the client-validation-document skill — it produces the Part 5 deliverable: a structured document presenting each finding from v1 with ACCEPT/REJECT/EDIT/DEFER options
Run the full quality gate on the Part 5 deliverable before it goes to the client:/digital-marketing-pro:check "{part5_path}" --full --brand {brand}. If it returns BLOCKED, fix the CRITICAL issues first (this gate is mandatory before Part 5 and Part 8 deliverables).
After the user reviews and provides decisions, parse them into a triggers list per the Decision Matrix categories
Run engagement-state.py decision-matrix --triggers "{comma-separated}" to compute the v2 re-run plan
Present the re-run plan to the user
Mark Part 5 completed; on user approval of the re-run plan, advance to Part 6
Purpose: Apply the Update-Back Rule to bump a source document version after Part 7+.
Pre-condition: The user has already drafted the corrected document content.
Steps:
Read the current version of the doc
Confirm the correction with the user (validation step per the Update-Back Rule)
Bump the version via engagement-state.py bump-version --doc {id} --reason "{reason}"
Save the new version file with a header noting v(prev) → v(new) changes
Update the Living Project Instruction File via lif-log-change — it now appends the change to living-instruction-file.md and refreshes the header date, so the LIF reflects the correction immediately
Identify downstream documents that may need review and add to the engagement's review queue
Purpose: List all engagements (optionally filtered by brand).
Steps: Run engagement-state.py list-engagements --brand {slug} and format as a table.
Production shorthands
The command family also exposes four production shorthands that route straight to the part-producing skills (documented in Per-Part Production Targets below). These match the command surface one-to-one:
/digital-marketing-pro:engagement four-core <brand> <id> [--doc 3.X] [--view v2] [--combined] — Part 3, invokes the four-core-documents skill
/digital-marketing-pro:engagement growth-plan <brand> <id> — Part 8, invokes the growth-plan skill
/digital-marketing-pro:engagement yearly-planner <brand> <id> — Part 8 companion, invokes the yearly-planner skill
/digital-marketing-pro:engagement loop <brand> <id> — Part 12, invokes the continuous-improvement-loop skill
Show full SKILL.md (1,028 more words)Show less
Per-Part Production Targets
Each part is produced by real, existing agents and skills. This orchestrator dispatches to the targets below — there are no wrapper skills named external-research / preparation-documents / channel-strategy-fanout / execution-artefacts / ai-creative-instructions; those never existed. Use the exact targets named here:
Part
Real target(s)
1
(this skill — intake walked here directly)
2
agents market-intelligence + competitive-intel; skill audience-intelligence (invoke as a skill); reference compliance-rules.md (load as context)
skills content-engine + ad-creative + video-script (creative briefs); asset rendering happens in your own creative tooling (design team, AI image/video tools, or a connected design platform), then finished assets are signed via c2pa-metadata
12
skill continuous-improvement-loop
Parallel Dispatch
Several parts of the engagement contain independent sub-tasks that should be dispatched in parallel via multiple Task tool calls in a single message — not sequentially. Dispatching independent sub-tasks concurrently is substantially faster than running them one after another; actual time varies by engagement depth, model, and rate limits. Keep concurrent subagents to a handful (roughly 3–8) — past that you queue against API rate limits and the win drops; under 3 there is nothing to parallelize.
Cost note: total token usage is broadly similar (you're doing the same work) but billed-per-turn input costs trend up slightly because each parallel subagent re-loads its context.
Parts that benefit from parallel dispatch:
Part
Parallel-eligible work
How to dispatch
Part 2 — External Research
Market sizing, competitor landscape, customer signals, regulatory landscape — none depend on each other
Dispatch the market-intelligence agent and the competitive-intel agent as parallel Task calls; invoke audience-intelligence as a skill; load compliance-rules.md (a reference file) as context — not as a subagent
Part 4 — Competitive + Customer + Market
Four documents (4.1, 4.2, 4.3, 4.4) are independent — they reference Part 2 only
Dispatch all four in a single message with the four respective subagents
Part 9 — Channel Strategy Fan-out
Up to 17 channel docs in 7 families. Families 2 (Paid platforms), 3 (Organic & Influencer), 4 (Marketplace & CRM), 5 (Content/ATL/BTL/PR) are independent after Families 1 (Search & Campaign) and 6 (Web + Measurement) complete
Sequence: F1 → (F2 ∥ F3 ∥ F4 ∥ F5 in parallel) → F6 → F7. The middle batch is four parallel Task calls in one message.
Part 10 — Execution Artefacts
Ad copy, post copy, headlines, CTAs across channels — independent per channel
Dispatch one subagent per channel in parallel
Part 11 — AI Creative Instructions
Visual asset briefs — independent per asset
Dispatch in parallel per asset
Parts that MUST stay sequential (have hard data dependencies):
Part 1 → Part 2 (intake feeds research scope)
Part 3 → Part 4 (Four Core Documents feed competitive/customer/market analysis)
Part 5 → Part 6 (Client Validation drives which docs need v2 re-runs)
Part 7 → Part 8 (prep docs feed the Growth Plan)
Part 8 → Part 9 (Growth Plan drives channel fan-out)
Cross-cutting rules:
Never dispatch parallel agents that need to write to the same file simultaneously — chunk by output file.
Each parallel subagent gets the engagement slug and the LIF path so it can read shared context, but writes ONLY to its own numbered per-part subdirectory (01-… 12-…).
Subagents never mutate engagement state. A subagent must NOT call lif-log-change, mark-part-completed, bump-version, or any other engagement-state.py write, and must NOT touch _engagement.json or living-instruction-file.md. Those are unlocked read-modify-write files; concurrent writers lose updates. Each subagent returns its output as per-part files only. After a parallel batch completes, the orchestrator alone applies state mutations — one lif-log-change per batch, plus mark-part-completed / bump-version as needed — and then re-reads the LIF before the next step.
If a parallel batch fails partway, the failed subagent's outputs are NOT auto-rolled-back — re-dispatch only the failed ones; the successful peers stay valid.
For multi-dimensional commands outside the 12-part flow (e.g. /digital-marketing-pro:competitor-analysis, /digital-marketing-pro:seo-audit, /digital-marketing-pro:content-engine), the same pattern applies — dispatch independent dimensions in parallel via multiple Task calls in a single message.
Running an engagement in a single conversation
A large-context model can hold much of an engagement — intake, external research, the Four Core Documents (61 steps), competitive/customer/market analysis, Client Validation, selective v2 re-runs, preparation docs, Growth Plan + Yearly Planner, channel fan-out, execution artefacts, creative briefs, and the continuous-improvement loop — within one working session (a full engagement typically produces 50–60 canonical documents).
The checkpoint + persistence pattern is still the default — always. Even when everything fits in one conversation:
engagement-state.py + checkpoint-manager.py remain the system of record: audit trail, cross-conversation resume, and multi-user / multi-day continuity all depend on persisted state.
Do NOT skip LIF updates or state writes on the assumption that "it's all in context." An interruption still loses in-memory work, and a teammate resuming the engagement reads persisted state — not your conversation.
The only single-conversation convenience is that you re-read fewer files mid-session because they are already in context. It does not remove the need to persist, checkpoint, and update the LIF.
Quality Discipline
Never hand-edit _engagement.json. Always go through engagement-state.py.
Never delete v1. When v2 is produced, both stay.
Always update the LIF when source docs change. Use lif-log-change — it appends to the change-log section of living-instruction-file.md and refreshes the header date, so the LIF never goes stale.
Always cite source per fact. Stone facts cite the validation source; Opinion hypotheses cite the client's evidence.
Never auto-advance parts. The user confirms part completion explicitly.
Always parallelize independent work. When a Part has 2+ independent sub-tasks (see Parallel Dispatch above), dispatch them in a single message with multiple Task calls. Sequential dispatch of independent work wastes wall-clock time and API turns.
Never auto-execute v2 re-runs without user approval. Show the plan, get approval, then run. Cap: 2 v2 re-run rounds per part without an explicit user override (stored in state).
Examples
Example: Starting a new engagement
User: I want to start a new engagement for Acme Corp this quarter.
Skill response:
1. Verify Acme has a brand profile (slug: acme-corp). Found.
2. Initialise engagement: engagement-state.py init --brand acme-corp --id 2026-q2
3. Engagement directory created at ~/.claude-marketing/brands/acme-corp/engagements/2026-q2/
4. Walk Part 1 intake. Begin with Stone questions:
"Let's start with what we know for certain. What year was Acme founded? Where is it headquartered? How many employees today?"
5. (User answers; each fact captured via add-stone-fact)
6. Move to Opinion questions:
"Now let's capture what you believe but haven't formally validated. How would you describe Acme's positioning in the market today?"
7. (User answers; each hypothesis captured via add-opinion)
8. Mark Part 1 completed. Advise: "Part 1 is complete. The unbiased External Research (Part 2) is next — recommend running it now or scheduling it for the next session."
Example: Mid-engagement status check
User: Where are we on the Beta Industries engagement?
Skill response:
- Reads engagement-state.py status --brand beta-industries --id 2026-h1
- Shows:
Engagement: beta-industries / 2026-h1
Started: 2026-04-01 (32 days in)
Current part: Part 9 — Channel Strategy Fan-out (in progress)
Completed parts: 1, 2, 3, 4, 5, 6, 7, 8
Pending parts: 9 (in progress), 10, 11, 12
Open re-run decisions: 1 (Part 6 v2 re-runs in progress)
Open items requiring resolution: 2 (LinkedIn Ads CPL forecast pending; Q3 budget envelope pending)
LIF last updated: 2 days ago
Next required action: complete remaining Part 9 channel docs (5 of 9 complete)
Example: Applying the Decision Matrix
User: We just finished Part 5 client validation. The client rejected our positioning recommendation and added two new competitors. What re-runs do we need?
Skill response:
1. Categorise the changes:
- Two new competitors → trigger "competitors_changed"
- Positioning rejected → trigger "positioning_changed"
2. Run engagement-state.py decision-matrix --triggers "competitors_changed,positioning_changed"
3. Output the triggered re-runs:
Triggered re-runs: 3.1, 3.2, 3.3, 3.4, 4.1, 4.2
(competitors_changed triggers all four Core Docs + 4.1 + 4.2; positioning_changed adds 3.3 which is already in scope)
4. Estimate token cost: ~85K tokens for the full re-run set
5. Ask: "Approve all? Modify? Skip any?"
6. On user approval, mark Part 6 started and invoke four-core-documents skill with view=v2 for each triggered doc
Example: Update-Back correction in flight
User: We've been live for two months. Q1 channel data shows our actual CAC for Segment X is INR 4,800 — but Core Doc 3.1 v2.0 had it estimated at INR 3,000. Need to update.
Skill response:
1. Validate the correction: 60+ days of data, statistically meaningful sample. ✓
2. Read current 3.1 v2.0
3. Bump version: engagement-state.py bump-version --doc 3.1 --reason "Segment X CAC corrected from INR 3,000 to INR 4,800 based on Q1 channel data"
4. Save 3.1 v2.1 with header note: "v2.0 → v2.1 changes: Section 4 (Unit Economics) — Segment X CAC corrected. LTV:CAC drops from 4.0 to 2.5; below 3.0 health threshold."
5. lif-log-change --section "Recent Corrections" --summary "Segment X CAC corrected to INR 4,800. Channel mix for Segment X under review."
6. Identify downstream review needed: Core Doc 3.4 (DMFlow) channel allocation for Segment X may need revision
7. Add to engagement review queue
Related skills
four-core-documents — produces Part 3 deliverables
client-validation-document — produces Part 5 deliverable
growth-plan + yearly-planner — produce Part 8 deliverables
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.
Engagement Workflow 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.
Engagement Workflow compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Engagement Workflow this skillindranilbanerjee/digital-marketing-pro
Plan, run, and measure an adversary engagement operation using the MITRE Engage framework so that deployed deception is driven by strategy instead of deployed ad hoc.
Write growth log entries that extract reusable patterns from completed work — root cause, transferable rule, and a recognizable signal — instead of diary-style event narration, with a 4-8 sentence…
Find, evaluate, and download common purchasable CAD parts from step.parts, including named off-the-shelf actuators, servos, motors, electronics boards, connectors, screws, bolts, nuts, washers…
Embed C2PA provenance in AI-generated images, video or PDF by script.
862 GitHub starsUsed in 1 repo~2.5k tokens
Auto-check passed
Questions about Engagement Workflow
What does Engagement Workflow do?
Run the 12-Part engagement workflow from intake to growth plan, checkpointed. Engagement Workflow is an agent skill from indranilbanerjee/digital-marketing-pro. Run the 12-Part engagement workflow from intake to growth plan, checkpointed.
How do I install Engagement Workflow in Claude Code?
Run `npx skills add indranilbanerjee/digital-marketing-pro --skill engagement-workflow -a claude-code`. Or copy the skill folder (skills/engagement-workflow in indranilbanerjee/digital-marketing-pro) into .claude/skills/engagement-workflow in your project. Claude Code loads it when a task matches its description.
How do I install Engagement Workflow in Codex?
Run `npx skills add indranilbanerjee/digital-marketing-pro --skill engagement-workflow -a codex`. Or copy the skill folder (skills/engagement-workflow in indranilbanerjee/digital-marketing-pro) into .agents/skills/engagement-workflow in your project. Codex loads it when a task matches its description.
Can I use Engagement Workflow in Cursor, Gemini CLI or GitHub Copilot?
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 engagement-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/engagement-workflow, .gemini/skills/engagement-workflow, .github/skills/engagement-workflow and .opencode/skills/engagement-workflow in your project.
What does Engagement Workflow need to run?
Going by SKILL.md and its folder, Engagement Workflow needs the command-line tools its instructions call (python). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Glob, Grep, Task.
Does Engagement Workflow access the network?
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.
Is Engagement Workflow safe to install?
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.
What licence does Engagement Workflow use?
Engagement Workflow is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Engagement Workflow use?
About 6.4k tokens (SKILL.md is roughly 25k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Engagement Workflow?
Skills that share tags, products or a category with Engagement Workflow: Designing Adversary Engagement With Mitre Engage (mukul975/Anthropic-Cybersecurity-Skills, 34k stars), Growth Engine (sickn33/agentic-awesome-skills, 47k stars), Growth Log (affaan-m/ECC, 276k stars) and X Twitter Growth (alirezarezvani/claude-skills, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Engagement Workflow?
indranilbanerjee (a GitHub user) maintains it in indranilbanerjee/digital-marketing-pro, which has 862 GitHub stars. The repository holds 162 skills in this directory. The repository was last updated on October 9, 2026.