Agent Reach
Panniantong/Agent-Reach
Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.
Batch-draft one suggested Reddit reply template per classified opportunity, hard-gated.
$ npx skills add shawnla90/gtm-coding-agent --skill reply-engine -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install shawnla90/gtm-coding-agent reply-engine --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/shawnla90/gtm-coding-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/reply-engine .claude/skills/reply-engine && 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 "reply-engine" agent skill from https://github.com/shawnla90/gtm-coding-agent/tree/main/skills/reply-engine into .claude/skills/reply-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reply-engine", 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/shawnla90/gtm-coding-agent/tree/main/skills/reply-engineType 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 shawnla90/gtm-coding-agent --skill reply-engine -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install shawnla90/gtm-coding-agent reply-engine --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shawnla90/gtm-coding-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/reply-engine .agents/skills/reply-engine && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "reply-engine" agent skill from https://github.com/shawnla90/gtm-coding-agent/tree/main/skills/reply-engine into .agents/skills/reply-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reply-engine", 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 shawnla90/gtm-coding-agent --skill reply-engine -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install shawnla90/gtm-coding-agent reply-engine --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shawnla90/gtm-coding-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/reply-engine .cursor/skills/reply-engine && 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 "reply-engine" agent skill from https://github.com/shawnla90/gtm-coding-agent/tree/main/skills/reply-engine into .cursor/skills/reply-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reply-engine", 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/shawnla90/gtm-coding-agent.git --path skills/reply-engine--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 shawnla90/gtm-coding-agent --skill reply-engine -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install shawnla90/gtm-coding-agent reply-engine --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shawnla90/gtm-coding-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/reply-engine .gemini/skills/reply-engine && 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 "reply-engine" agent skill from https://github.com/shawnla90/gtm-coding-agent/tree/main/skills/reply-engine into .gemini/skills/reply-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reply-engine", 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 shawnla90/gtm-coding-agent reply-engineInstalls 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 shawnla90/gtm-coding-agent --skill reply-engine -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/shawnla90/gtm-coding-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/reply-engine .github/skills/reply-engine && 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 "reply-engine" agent skill from https://github.com/shawnla90/gtm-coding-agent/tree/main/skills/reply-engine into .github/skills/reply-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reply-engine", 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 shawnla90/gtm-coding-agent --skill reply-engine -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install shawnla90/gtm-coding-agent reply-engine --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shawnla90/gtm-coding-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/reply-engine .opencode/skills/reply-engine && 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 "reply-engine" agent skill from https://github.com/shawnla90/gtm-coding-agent/tree/main/skills/reply-engine into .opencode/skills/reply-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reply-engine", 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.
reply-engineBatch-draft one suggested Reddit reply template per classified opportunity, hard-gated.
Reply Engine is an agent skill from shawnla90/gtm-coding-agent. Batch-draft one suggested Reddit reply template per classified opportunity, hard-gated. Wraps the reddit-buyer-signals starter's replies.py — scaffold builds suggestedreplies.json from the classified ops, the agent writes each ≤18-word value-first template, check enforces the word cap and the slop gate, sheet renders a rules-pinned Suggested Replies tab with GO/REVIEW/NO-REPLY on every row, and angles feeds the daily digest. Every reply is a draft the human edits before posting; NO-REPLY rows are logged, never…
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Reddit. The repository describes itself as: Build your go-to-market engine with coding agents instead of a $2K/mo tool stack. 21 chapters, nine forkable starters, four installable skills, GTM-OS skeleton, and Python… The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 072c185. 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:
python3From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom 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.
Reply Engine loads about 1.8k tokens when it runs. Until then it costs about 166 tokens; SKILL.md has 728 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 shawnla90/gtm-coding-agent at commit 072c185, republished under its MIT licence (© shawnla90). 728 words, ~1,812 tokens.
.claude/skills/reply-engine/SKILL.md (or your agent's skills folder).One gated, ≤18-word reply template per opportunity, and a recorded reason for every thread you skip.
This is the batch pass. ../reddit-engage/ is the interactive mode: full 2–5 sentence comments, approved one by one. This skill runs earlier and wider: every classified op gets either a short template the human edits into a real comment, or a NO-REPLY gate with a note. The skip discipline is half the value. Wraps replies.py in the reddit-buyer-signals starter: the script scaffolds and checks; the agent writes the words.
data/ops_classified.json — classified opportunities (op_id, lane, subreddit, summary, permalink)data/sheet_url.txt) for the Suggested Replies tabcd starters/reddit-buyer-signals
python3 replies.py scaffold --ops data/ops_classified.json --out data/suggested_replies.json
# the agent writes every empty reply slot, then:
python3 replies.py check data/suggested_replies.json --ops data/ops_classified.json
python3 replies.py sheet --ops data/ops_classified.json --replies data/suggested_replies.json --sheet-id <id>
python3 replies.py angles --ops data/ops_classified.json --replies data/suggested_replies.json --out data/engage_angles.jsonTarget 15–18 words; 18 is the hard limit (wc -w semantics: whitespace-separated words). Longer templates read contrived, and the human is going to edit anyway. Render the count as <N>/18 next to every draft you present. Check it, don't eyeball it:
printf '%s' "<reply>" | wc -wcheck enforces the same count and exits nonzero on 19+.
Deterministic from the action lane; overrides beat the lane. NO-REPLY is a result, not a failure — log it and move on.
| Gate | Lane rule | Note on the row |
|---|---|---|
| GO | engage_now / reply_now | Timely thread. Reply when ready. |
| REVIEW | every other lane | Check thread age + sub self-promo rules first. |
| NO-REPLY | competitor_intel / competitor_watch | Log as competitor intel. Do not post. |
gate_overrides handles the exceptions the lanes can't see, e.g. a founder self-promoting their own tool sits in an engage lane but gets ["NO-REPLY", "Founder self-promo. Flag for partnership outreach instead."].
{
"rules": "Every reply is a draft template. Nothing posts automatically. All replies go through the account owner personally before posting. Disclose affiliation whenever the product comes up. Never DM. Check subreddit self-promo rules and thread age before posting. Gate: GO = timely, reply when ready. REVIEW = check thread age + sub rules first. NO-REPLY = log as intel, do not post.",
"replies": {
"op_101": "Twelve people will outgrow both boards the same way. What breaks first for you: reporting or handoffs?"
},
"gate_overrides": {
"op_207": ["NO-REPLY", "Founder self-promo. Flag for partnership outreach instead."]
}
}The sheet tab (Suggested Replies): frozen 2 rows — row 1 is the rules string pinned above the header, row 2 is the header. Columns: Op ID | Tier | Lane | Reply Gate | Gate Note | Subreddit | What They Want | Suggested Reply (≤18 words, edit before posting) | Reddit URL. The gate column is color-coded GO green / REVIEW yellow / NO-REPLY red. The tab is added to the existing client sheet in place; other tabs are never touched.
| Thread (lane) | Gate | Suggested reply | Count |
|---|---|---|---|
"Asana vs Monday for a 12-person team?" (engage_now) | GO | Twelve people will outgrow both boards the same way. What breaks first for you: reporting or handoffs? | 17/18 |
"How do you keep follow-up from falling through?" (lead_enrich) | REVIEW | Assign every follow-up one owner and one date. Exceptions get a weekly fifteen-minute review. Start there. | 16/18 |
"RivalPM just shipped dashboards, worth switching?" (competitor_intel) | NO-REPLY | nothing drafted; logged as competitor intel | — |
"I built a sprint-planning tool for remote teams, feedback welcome" (engage_now, overridden) | NO-REPLY | override note: Founder self-promo. Flag for partnership outreach instead. | — |
check fails a drafted reply on a NO-REPLY op.check before ship. A draft that fails the cap or the slop gate gets rewritten, not trimmed word-by-word into mush.gate_overrides.../../starters/reddit-buyer-signals/replies.py — the module this wraps: scaffold, check, sheet, angles../reddit-engage/ — the interactive approval loop; expand a GO template into a full comment therepersonalization/SKILL.md in ClearboxGTM — the 3-variable model, applied at template length../../starters/reddit-buyer-signals/digest.py — renders the angles file this skill exportshow-to-win-on-reddit.md in ClearboxGTM — why value-first and no-links are non-negotiable© shawnla90, 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/reply-engine of shawnla90/gtm-coding-agent.
Open the folder on GitHubat commit 072c185
Reply Engine 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 |
|---|---|---|---|---|---|---|
| Reply Engine this skillshawnla90/gtm-coding-agent | 154 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Agent ReachPanniantong/Agent-Reach | 93k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Last30daysmvanhorn/last30days-skill | 64k | — | ~7.8k | Automated safety check: Notes | MIT | |
| Customer ResearchNexus-JPF/note-companion | 870 | 6 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Scrapecreators APIScrapeCreators/social-media-research-skills | 3.3k | 1 repos | ~4k | Automated safety check: Notes | MIT | |
| Last30days CnJesseovo/last30days-skill-cn | 1.9k | — | ~2.4k | Automated safety check: Notes | MIT |
Panniantong/Agent-Reach
Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.
mvanhorn/last30days-skill
Research what people actually say about any topic in the last 30 days.
Nexus-JPF/note-companion
When the user wants to conduct, analyze, or synthesize customer research.
ScrapeCreators/social-media-research-skills
Scrape and extract public data from 27+ social media platforms using the ScrapeCreators REST API.
Jesseovo/last30days-skill-cn
Research what Chinese internet users actually said in the last 30 days across Weibo, Xiaohongshu (RED), Bilibili, Zhihu, Douyin, WeChat public accounts, Baidu and Toutiao: engagement-weighted…
ykdojo/claude-code-tips
Fetches Reddit posts, threads and search results as JSON through a browser session, using a DuckDuckGo redirect to get past Reddit's automated-access block.
shawnla90/gtm-coding-agent
Turn a raw podcast or interview recording into captioned vertical shorts staged as Buffer drafts.
shawnla90/gtm-coding-agent
Turn a website domain into a complete Clearbox offer pack — one-liner, selling points in the form's fixed template shapes, keywords, competitor brands, own brands, and suggested tracked subreddits —…
shawnla90/gtm-coding-agent
Build a personalized Reddit onboarding doc for a new Clearbox signup or client, grounded in their real product data, and push it to Notion.
shawnla90/gtm-coding-agent
The agency motion for a Reddit-led visibility offer. An agent skill from shawnla90/gtm-coding-agent.
shawnla90/gtm-coding-agent
Draft and approve Reddit comments from scouted opportunities with a hard human-in-the-loop gate.
shawnla90/gtm-coding-agent
Scaffold a student's own GTM repo and run the weekly build-in-public loop that turns a coding agent into a public go-to-market track record.
Works with
Batch-draft one suggested Reddit reply template per classified opportunity, hard-gated. Reply Engine is an agent skill from shawnla90/gtm-coding-agent. Batch-draft one suggested Reddit reply template per classified opportunity, hard-gated.
Reply Engine fits situations like: the user types /reply-engine; says draft the suggested replies; run the reply pass; build the reply sheet.
Run `npx skills add shawnla90/gtm-coding-agent --skill reply-engine -a claude-code`. Or copy the skill folder (skills/reply-engine in shawnla90/gtm-coding-agent) into .claude/skills/reply-engine in your project. Claude Code loads it when a task matches its description.
Run `npx skills add shawnla90/gtm-coding-agent --skill reply-engine -a codex`. Or copy the skill folder (skills/reply-engine in shawnla90/gtm-coding-agent) into .agents/skills/reply-engine 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 shawnla90/gtm-coding-agent --skill reply-engine -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/reply-engine, .gemini/skills/reply-engine, .github/skills/reply-engine and .opencode/skills/reply-engine in your project.
Going by SKILL.md and its folder, Reply Engine needs the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: github.com. 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.
Reply Engine is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.2k 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 Reply Engine: Agent Reach (Panniantong/Agent-Reach, 93k stars), Last30days (mvanhorn/last30days-skill, 64k stars), Customer Research (Nexus-JPF/note-companion, 870 stars) and Scrapecreators API (ScrapeCreators/social-media-research-skills, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
shawnla90 (a GitHub user) maintains it in shawnla90/gtm-coding-agent, which has 154 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on September 2, 2026.
Source: shawnla90/gtm-coding-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.