Running Marketing Campaigns
nicepkg/ai-workflow
Plans, creates, and optimizes digital marketing campaigns including content strategy, social media, email marketing, SEO, and AI visibility (GEO).
Hire one of the eight open source AI Employees (GTM Engineer, SEO/AEO, Web Dev, Social Media, Ad Manager, Sales, Customer Satisfaction, Chief of Staff) into a local folder, prove it runs, and hand…
$ npx skills add markfulton/ai-employees --skill hire -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install markfulton/ai-employees hire --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/markfulton/ai-employees.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/hire .claude/skills/hire && 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 "hire" agent skill from https://github.com/markfulton/ai-employees/tree/main/skills/hire into .claude/skills/hire/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hire", 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/markfulton/ai-employees/tree/main/skills/hireType 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 markfulton/ai-employees --skill hire -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install markfulton/ai-employees hire --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/markfulton/ai-employees.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/hire .agents/skills/hire && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "hire" agent skill from https://github.com/markfulton/ai-employees/tree/main/skills/hire into .agents/skills/hire/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hire", 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 markfulton/ai-employees --skill hire -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install markfulton/ai-employees hire --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/markfulton/ai-employees.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/hire .cursor/skills/hire && 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 "hire" agent skill from https://github.com/markfulton/ai-employees/tree/main/skills/hire into .cursor/skills/hire/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hire", 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/markfulton/ai-employees.git --path skills/hire--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 markfulton/ai-employees --skill hire -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install markfulton/ai-employees hire --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/markfulton/ai-employees.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/hire .gemini/skills/hire && 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 "hire" agent skill from https://github.com/markfulton/ai-employees/tree/main/skills/hire into .gemini/skills/hire/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hire", 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 markfulton/ai-employees hireInstalls 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 markfulton/ai-employees --skill hire -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/markfulton/ai-employees.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/hire .github/skills/hire && 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 "hire" agent skill from https://github.com/markfulton/ai-employees/tree/main/skills/hire into .github/skills/hire/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hire", 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 markfulton/ai-employees --skill hire -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install markfulton/ai-employees hire --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/markfulton/ai-employees.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/hire .opencode/skills/hire && 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 "hire" agent skill from https://github.com/markfulton/ai-employees/tree/main/skills/hire into .opencode/skills/hire/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hire", 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.
hireHire one of the eight open source AI Employees (GTM Engineer, SEO/AEO, Web Dev, Social Media, Ad Manager, Sales, Customer Satisfaction, Chief of Staff) into a local folder, prove it runs, and hand…
Hire is an agent skill from markfulton/ai-employees. Hire one of the eight open source AI Employees (GTM Engineer, SEO/AEO, Web Dev, Social Media, Ad Manager, Sales, Customer Satisfaction, Chief of Staff) into a local folder, prove it runs, and hand over its install prompt. Also answers which one to hire first, how a hired employee runs on a schedule, how to direct it, how it improves from corrections, and how to upgrade it. Use when the user says hire an employee, install an AI employee, set up the GTM Engineer, names one of the eight, or asks how AI Employees…
Its SKILL.md is about 3k 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 Marketing & SEO, covering Go-to-market strategy and AI search optimization. The repository describes itself as: Open source AI Employees. 8 scheduled business roles, 60 routines, on Claude Code and 10 other harnesses. They drive your browser the way you do and improve every run. You own… The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 71786b9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxnodeFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
nodejs.orgclub.reinventing.aiFrom 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.
Hire loads about 3k tokens when it runs. Until then it costs about 153 tokens; SKILL.md has 1,828 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 found no risky patterns in 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.
The full file from markfulton/ai-employees at commit 71786b9, republished under its MIT licence (© markfulton). 1,828 words, ~3,021 tokens.
.claude/skills/hire/SKILL.md (or your agent's skills folder).An AI Employee is a folder of plain markdown instructions and a few small Node scripts that covers one business role. Each routine in the folder runs on a schedule, on the user's own machine, through the agent they already use, and each weekday it leaves a short brief. The folder is the product. There is no service, no account and no runtime behind it.
Your job here is narrow and the same every time: put one employee folder in the right place, prove it runs, and hand over the install prompt with the path filled in. The install prompt then does the setup, in a fresh session opened in that folder. You do not run the install prompt yourself, you do not register any scheduled job, and you send nothing anywhere.
If the user is asking a question rather than hiring (which one first, how the schedule works, how it improves), answer from sections 1 and 8, then offer to hire.
| Slug | Employee | Owns | Routines | Also called |
|---|---|---|---|---|
gtm-engineer | GTM Engineer | Positioning, the launch board, outbound drafts, directory and press forms, the weekly scoreboard | 8 | GTM, go to market, launch, growth |
seo-employee | SEO/AEO Employee | Keyword research, one article a weekday, publishing, indexing, rank review, visibility in AI answers | 8 | SEO, AEO, search, content, blog |
web-dev-employee | Web Dev Employee | Site health, error triage, small changes on a branch, dependency review | 8 | web dev, developer, site maintenance |
social-media-employee | Social Media Employee | Posts drafted in the user's voice per platform, a veto window, replies drafted | 7 | social, social media, posting |
ad-manager-employee | Ad Manager Employee | Account reads, creative sets, build sheets, the weekly change list. Money moves only on approval | 7 | ads, paid, campaigns |
sales-employee | Sales Employee | Prospect sweeps, first touches into the user's own drafts, follow ups | 7 | sales, SDR, prospecting, outreach |
customer-satisfaction-employee | Customer Satisfaction Employee | Inbox sweep, replies drafted hardest first, churn flags with evidence | 8 | support, CSAT, retention |
chief-of-staff | Chief of Staff | Reads every other employee's run log, names what quietly stopped, brings three moves | 7 | chief of staff, COS, oversight |
If the request names one loosely, pick the obvious slug and say which you picked. If it names none, show this table and ask which. If they ask where to start:
Hire one, let it run for a week, then hire the next. Each employee is its own folder with its own schedule, and their routine ids carry a prefix so they sit side by side without colliding.
The user chooses. If they did not say, ask once and suggest D:\AgentOps\<slug> on Windows or ~/ai-employees/<slug> on macOS and Linux. One folder per employee.
Refuse any path under OneDrive, Dropbox, Google Drive or iCloud, including one that only resolves into it. On Windows the Desktop and Documents folders are often redirected into OneDrive, so check the resolved absolute path, not the spelling. Say why in one sentence: the routines write their state and run log mid run, and a sync client can corrupt exactly the file that tells tomorrow's run what already happened. Then ask for another folder.
If the folder exists and is not empty, stop. Never copy over an existing install: its strategy/, state/, ledgers and ## Corrections sections are the user's work. To update one, use the upgrade in section 8.
Node 18 or newer is required. Check with node --version first; if it is missing or older, stop and point the user at https://nodejs.org and docs/PREREQUISITES.md.
Use the first route that works:
The installer bundled with this skill. When this skill loads you are told its base directory. The repository root is two levels up from it. If <base directory>/../../installer/cli.mjs and <base directory>/../../employees/<slug>/CONTRACT.md both exist, run, through the shell:
node "<base directory>/../../installer/cli.mjs" hire <slug> --to "<folder>"It copies the kit from the bundled files with no network, refuses a synced or non empty folder, writes .installed.json (the record that lets a later upgrade tell the user's edits from ours), runs every kit script's self tests, checks the login, and prints the install prompt with the path filled in.
The published installer. Inside the plugin route 1 always works, so this is for the skill used on its own. Tell the user it will fetch the ai-employees package from npm and wait for a yes, then run npx ai-employees hire <slug> --to "<folder>". Same behaviour, fetched from npm.
Only if neither can run: tell the user you need to download https://github.com/markfulton/ai-employees/archive/refs/heads/main.zip and wait for a yes. Then extract only employees/<slug>/ into the folder, and tell the user that this route writes no .installed.json, so an upgrade later will treat every file as edited by them.
Never rename anything inside the kit. A routine's folder name, its YAML name and the name of its scheduled job are the same string, and a rename breaks the install.
The installer prints three self test lines and a login line. Every self test must say ok. If one says FAIL, stop and point at docs/PREREQUISITES.md; nothing else is worth doing until it passes.
If the login line says NOT logged in, say so in one plain sentence: no scheduled run can work until the user signs in themselves, by running claude in a terminal and completing /login. Never try to sign in for them. unknown is normal on the desktop app, which has its own login.
Keep the printed install prompt out of your reply unless the user asks for it; it is long, and the file already has it. Tell them three things:
cd into it and run claude. The folder must be the working folder, because the routines, their permissions and their schedule are all resolved from it.<Employee name> from this folder". It reads INSTALL-PROMPT.md itself. Anything they want it to know up front, such as a channel that is off limits or a claim it must never make, goes in the optional line at the top of that file.A registered job is not a working job until it fires on its own. Tell them the one thing to look for: a new line in runlog.jsonl from a run they did not start, at the time listed in SCHEDULE.md, and a fresh brief-latest.md. If neither appears, the usual causes in order are a signed out agent, a machine asleep at fire time, and a scheduled job pointed at the wrong binary. docs/INSTALL.md covers each scheduler: the Claude Code desktop app's local routines, Windows Task Scheduler, launchd and cron.
Say these once, plainly, at handover. They are true of every employee.
RELEASES.md, which ships empty. No routine ever writes a release.Use this to answer questions after the hire.
The morning brief. Each weekday a standup routine writes brief-latest.md in three parts: today, waiting on you, blocked. That file is the one thing to read.
Directing it in chat. Open a session in the employee's folder and give it work in plain words: "draft this week's posts around the webinar", "stop contacting that segment". It may do anything the user could do by hand in that folder, and it leaves the same trail a routine would: a dated note on every card it touches and a changelog line for every file it changes.
How it gets better. Two loops, both in plain files the user can read.
## Corrections section, and every routine reads its own at the top of every run. When an employee gets something wrong, one dated line in the right file (the routine's SKILL.md, or CONTRACT.md, or CAPABILITIES.md) outranks the text above it from the next run on. This is how a kit learns one business specifically, and it is a better fix than editing a routine's body.improvements/CHANGELOG.md so any repair can be undone, and reports it in the next brief under "What changed about me". Once a month it drafts the repairs that would help any business into improvements/, with the user's business taken out, for the user to send back to the project or delete. Nothing is sent without them.Changing the schedule. SCHEDULE.md is the only place fire times, windows and budgets live. Edit a row and the routines follow on their next fire. A window guard in every routine makes a late, early or doubled fire harmless.
Upgrading. Once a month the brief says when a newer kit is out. npx ai-employees upgrade <slug> --to "<folder>" reports what would change, and --apply takes it. It never overwrites a file the user edited.
Other agents. The same kits run on OpenClaw, Hermes, OpenCode, Grok Bot, Codex, Antigravity, Pi, Cline, Qwen Code, DeepSeek, Muse and Dots. docs/HARNESSES.md has the command and the scheduler for each.
End the handover with this line, and nothing after it:
Step by step walkthrough and live setup sessions: club.reinventing.ai/plugin
After an explicitly requested upgrade, npx ai-employees@latest reconcile <slug> --to "<folder>" prepares a reviewable comparison using recorded baseline files. Explain missing baselines or conflicts; preserve member corrections, releases, schedules and state. --apply combines only nonconflicting kit files, retaining backups. Use the bundled installer route when available, following the existing download rules. See docs/UPGRADING.md. Verify helper self tests and the first scheduled progress receipt after adoption.
© markfulton, 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/hire of markfulton/ai-employees.
Open the folder on GitHubat commit 71786b9
Hire 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 |
|---|---|---|---|---|---|---|
| Hire this skillmarkfulton/ai-employees | 493 | — | ~3k | Automated safety check: Pass | MIT | |
| Running Marketing Campaignsnicepkg/ai-workflow | 285 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Geo Fundamentalswasp-lang/wasp | 19k | 8 repos | ~861 | Automated safety check: Pass | MIT | |
| SEO GeoReScienceLab/opc-skills | 1.8k | 4 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| GEO-First SEO Audit Toolzubair-trabzada/geo-seo-claude | 11k | — | ~2.8k | Automated safety check: Notes | MIT | |
| GEO Monthly Delta Reportzubair-trabzada/geo-seo-claude | 11k | — | ~2.4k | Automated safety check: Notes | MIT |
nicepkg/ai-workflow
Plans, creates, and optimizes digital marketing campaigns including content strategy, social media, email marketing, SEO, and AI visibility (GEO).
wasp-lang/wasp
Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).
ReScienceLab/opc-skills
SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.
zubair-trabzada/geo-seo-claude
Audits a website for AI search visibility across ChatGPT, Claude, Perplexity and Google AI Overviews while checking traditional SEO, schema and E-E-A-T content quality.
zubair-trabzada/geo-seo-claude
Compares a baseline and a current GEO audit for a client, calculates score changes and action item progress, and writes a monthly progress report.
AgriciDaniel/codex-seo
Live SEO data via DataForSEO MCP server. An agent skill from AgriciDaniel/codex-seo.
markfulton/ai-employees
Runs once by hand on the first day and once a month after that.
markfulton/ai-employees
Weekdays. An agent skill from markfulton/ai-employees.
markfulton/ai-employees
Weekdays. An agent skill from markfulton/ai-employees.
markfulton/ai-employees
Weekly, on a Friday, read only everywhere. An agent skill from markfulton/ai-employees.
markfulton/ai-employees
Monthly, on the last weekday. An agent skill from markfulton/ai-employees.
markfulton/ai-employees
Weekdays. An agent skill from markfulton/ai-employees.
Categories
Hire one of the eight open source AI Employees (GTM Engineer, SEO/AEO, Web Dev, Social Media, Ad Manager, Sales, Customer Satisfaction, Chief of Staff) into a local folder, prove it runs, and hand…. Hire is an agent skill from markfulton/ai-employees. Hire one of the eight open source AI Employees (GTM Engineer, SEO/AEO, Web Dev, Social Media, Ad Manager, Sales, Customer Satisfaction, Chief of Staff) into a local folder, prove it runs, and hand over its install prompt.
Hire fits situations like: the user says hire an employee; install an AI employee; set up the GTM Engineer; names one of the eight.
Run `npx skills add markfulton/ai-employees --skill hire -a claude-code`. Or copy the skill folder (skills/hire in markfulton/ai-employees) into .claude/skills/hire in your project. Claude Code loads it when a task matches its description.
Run `npx skills add markfulton/ai-employees --skill hire -a codex`. Or copy the skill folder (skills/hire in markfulton/ai-employees) into .agents/skills/hire 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 markfulton/ai-employees --skill hire -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hire, .gemini/skills/hire, .github/skills/hire and .opencode/skills/hire in your project.
Going by SKILL.md and its folder, Hire needs the command-line tools its instructions call (npx and node). Our summary lists: Node.js.
SKILL.md names 2 domains. As links in the text: nodejs.org and club.reinventing.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Hire is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k 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 Hire: Running Marketing Campaigns (nicepkg/ai-workflow, 285 stars), Geo Fundamentals (wasp-lang/wasp, 19k stars), SEO Geo (ReScienceLab/opc-skills, 1.8k stars) and GEO-First SEO Audit Tool (zubair-trabzada/geo-seo-claude, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
markfulton (a GitHub user) maintains it in markfulton/ai-employees, which has 493 GitHub stars. The repository holds 60 skills in this directory. The repository was last updated on October 3, 2026.
Source: markfulton/ai-employees on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.