Task Brief for GLM 5.2 — Update Reddit RPA Prompts to V5
Prepared: 2026-08-11 For: GLM 5.2 (glm-analyzer profile) — higher-reasoning model Task: Update the unified Reddit commenting RPA system prompt and user prompt from V4 to V5, based on the two problems and evidence below.
0. How to run this task
# Resume the session that has the full ICP analysis context (1,748 comments, 25 subs):
hermes -p glm-analyzer chat --resume 20260806_075811_70b700 -q "<the task below>"Or run fresh:
hermes -p glm-analyzer chat -q "<the task below>"1. Background — the system you are updating
GrowReach runs a Reddit commenting RPA (AdsPower browser automation + external backend). The backend stores the prompts, injects dynamic values (post content, subreddit name, profile context) server-side, and calls an AI model. The RPA comments in BOTH:
- Karma-farming subreddits (24: CasualConversation, AskReddit, Advice, TIL, etc.)
- GrowReach ICP subreddits (25: Entrepreneur, startups, SaaS, sales, marketing, LinkedInLunatics, etc.)
The RPA uses ONE system prompt + ONE user prompt for all subreddits and all profiles. The AI first classifies the post as safe/unsafe (Phase 1), then generates a comment using the per-subreddit template (Phase 2). It always posts top-level comments (never replies to existing comments).
Current files (V4 — do NOT modify these)
| File | Path | Lines |
|---|---|---|
| System prompt V4 | /opt/data/hermes-repo/reddit-rpa-prompts/reddit-comment-system-prompt-v4-unified.md | 832 |
| User prompt V4 | /opt/data/hermes-repo/reddit-rpa-prompts/reddit-comment-user-prompt-v4-unified.md | 190 |
| V4 delta report | /opt/data/hermes-repo/reddit-rpa-prompts/v4-delta-report.md | — |
| V5 JSON contract (proposed, incomplete) | /opt/data/hermes-repo/reddit-rpa-prompts/v5-json-contract-change.md | — |
V4 structure (system prompt)
- Phase 1: Safety classification (Universal Ban Categories, Sensitive Categories, Subreddit On-Topic Guide, Decision Rules 1–7)
- Phase 2: Comment generation (Reddit Upvote Formula, Universal Writing Rules, Never Do These, Per-Subreddit Comment Templates — 49 total, Anti-AI Detection Guidance, Quality Self-Check, Fallback Structures)
- INPUT FORMAT (JSON the AI receives)
- OUTPUT FORMAT (JSON the AI returns)
2. Problem 1 — The AI has no thread context
What: The AI generates a comment from the post alone. It never sees what comments are already on the thread, what’s getting upvoted, or the mood of the conversation.
Why it matters (evidence from the 1,748-comment ICP analysis, analysis-report.md):
- Quote-rebuttal is the #2 structure in top comments (18%): “Quote or reference OP’s words, then deliver counterpoint.” Top r/startups comments (554 pts, 340 pts) are reactions to content in the thread.
- r/Entrepreneur: replies avg 58.8 vs top-level 37.7 — “top comments are often reactions to other comments.” The best comment in the sub (281 pts) was a reply to another comment.
- “Contrarian ≠ controversial” — “contrarian opinions that the community shares are just popular opinions.” Blanket contrarianism is wrong; it must be calibrated against what the thread already says.
- “Add something new. Don’t restate. Don’t just agree.” (universal rule) — a late comment that just rephrases the top comment is still repetition.
Proposed fix: Pass the top 2 comments by score on the post to the AI as input, and teach it a Thread Engagement strategy for using them.
3. Problem 2 — Our profiles’ comments sound the same
What: The same AI + same system prompt + same post = near-identical comments across different profiles.
Evidence (live fetch, post 1vkwaca, r/CasualConversation — 2026-08-11): 4 of 11 newest top-level comments on the post were from our accounts:
| Author | Comment (first 120 chars) |
|---|---|
| ProfitSoft873 | ”I did this a few years ago and it’s a trip. Frozen mango chunks literally taste like sorbet once your taste buds reset…” |
| No_Anxiety6450 | ”Frozen mango is the real cheat code here. It literally feels like eating sorbet and completely killed my late night ice…” |
| Obvious-Cut-3508 | ”Cold mango chunks are the ultimate cheat code. I did the same sugar detox a few years ago and suddenly a simple bowl of…“ |
| hailybarnes37 | ”I did the same thing a few years ago. Frozen mango chunks are basically nature’s sorbet and totally killed my late night…” |
Quantified similarity (pairwise, ours vs natural commenters):
| Metric | OUR comments (6 pairs) | OTHER comments (21 pairs) | Ratio |
|---|---|---|---|
| Jaccard (word bigrams) | 0.115 | 0.001 | ~115x |
| Dice (char 5-grams) | 0.267 | 0.031 | ~8.6x |
| Levenshtein ratio | 0.355 | 0.242 | ~1.5x |
Structural fingerprints:
- 3 of 4 our comments end with a question; 0 of 7 natural comments do.
- 2 of 4 open with nearly identical “I did [this/the same thing] a few years ago”.
- All 4 converge on the same content: frozen mango = sorbet/cheat code, killed sugar/ice-cream craving.
- No banned AI phrases found (the anti-AI-detection rules work) — the failure is template/concept convergence, not explicit AI phrasing.
Root causes (ranked):
- Prompt template too specific — same post → same anecdote every time.
- No per-account variation input (profile fields are injected, but nothing steers content differently per account).
- The “optional question” rule became a default habit (3/4 accounts asked).
Proposed fix (no per-account specification — Rahul’s decision):
- Anti-convergence rules in the system prompt: vary the opener, don’t default to the first obvious anecdote, treat question endings as “usually no”.
- Optionally tighten the r/CasualConversation template’s “Optional question” → “Rarely”.
4. The V5 changes to implement
5 INPUT JSON — add top_comments (user prompt + system prompt INPUT FORMAT)
{
"subreddit": "sales",
"post_title": "...",
"post_content": "...",
"post_age_minutes": 45,
"existing_comments": 12,
"post_author": "username",
"post_type": "text",
"profile_username": "hailybarnes37",
"profile_karma": 180,
"profile_age_days": 52,
"profile_timezone": "EDT",
"current_hour": 14,
"top_comments": [
{
"score": 482,
"body": "full top comment (by highest no of upvotes) text"
},
{
"score": 210,
"body": "full top comment (by 2nd highest no of upvotes) text"
}
]
}Rules: top 2 by score (not newest), [] when the post has < 2 comments. All 12 existing fields unchanged.
4.2 OUTPUT JSON — add strategy_used (system prompt OUTPUT FORMAT)
{
"action": "SAFE",
"categories": ["category1"],
"confidence_scores": {"category1": 0.65},
"sensitive": false,
"comment": "the comment text",
"word_count": 24,
"subreddit_template_used": "r/sales",
"upvote_triggers": ["make_them_think", "make_them_nod"],
"quality_score": 8,
"quality_notes": "note",
"strategy_used": "quote_rebuttal"
}Allowed values: new_angle | contrarian_take | quote_rebuttal | post_only. SKIP responses do NOT include strategy_used.
4.3 System prompt — new “Thread Engagement” section (Phase 2)
The AI must classify the top comment and pick a strategy:
| If the top comment is… | Strategy | strategy_used value |
|---|---|---|
| A joke / emotional one-liner | Don’t out-joke it. Add a different angle with new information | new_angle |
| The obvious consensus take | Contrarian — but only the take the community would actually side with | contrarian_take |
| A weak / partial take | Quote-rebuttal: quote a phrase, deliver the missing angle | quote_rebuttal |
| A long analytical essay | Short punchy counter or one specific missing data point | new_angle |
| No top_comments provided | Fall back to post-only generation | post_only |
Rules:
- Never repeat the top comment’s phrasing. Quote it only in quote-rebuttal format.
- The per-subreddit template wins when it conflicts (e.g., never contrarian in r/marketing).
- Top comments must NOT override the Phase 1 SKIP decision.
4.4 System prompt — anti-convergence rules (Universal Writing Rules)
- Vary the opener — never start two comments the same way; pick from different opening patterns.
- Don’t default to the first obvious anecdote the post suggests — choose a different angle.
- Question endings: only when the template says ✅. Treat “optional” as “usually no”.
4.5 User prompt — dev spec updates
- Add
top_commentsto the JSON schema + field description table. - Add 1 example input showing
top_commentspopulated. - Update version history: v5-unified, 2026-08-11.
- Update
prompt_versionreferences tov5-unified.
5. Constraints — what must NOT change
- JSON contract stability: All existing input fields (12) and output fields (10 SAFE / 4 SKIP) keep exact names, types, and meaning. Changes are additive only.
- Phase 1 safety classification: Universal Ban Categories, Sensitive Categories, Decision Rules 1–7 — copy verbatim from V4.
- All 49 per-subreddit templates (24 karma-farming + 25 ICP) — keep every one, byte-identical unless a specific template needs the question-ending tweak (r/CasualConversation).
- Anti-AI Detection Guidance, Quality Self-Check, Fallback Structures — keep, with additive edits only.
- The RPA backend is external — the prompt files are the spec; the backend injects dynamic values. Do not assume backend code exists in the repo.
- The user-prompt file is a dev spec, not a message — only the built JSON goes to the AI. Examples are documentation.
6. Deliverables
Create TWO NEW FILES (do NOT modify V4 files):
/opt/data/hermes-repo/reddit-rpa-prompts/reddit-comment-system-prompt-v5-unified.md/opt/data/hermes-repo/reddit-rpa-prompts/reddit-comment-user-prompt-v5-unified.md
Verification before finishing:
- Read back both files.
- Confirm all 49 old templates present.
- Confirm INPUT FORMAT documents
top_comments; OUTPUT FORMAT documentsstrategy_usedwith the 4 allowed values. - Confirm the new Thread Engagement section exists with the strategy table.
- Confirm anti-convergence rules added to Universal Writing Rules.
- Confirm JSON contract otherwise identical to V4 (same fields, same required/optional markers).
- Print final line counts.
DO NOT run git commands. DO NOT modify V4 files or any other file. Write ONLY the two V5 files. Report back with: file paths, line counts, list of changes made, and confirmation the JSON contract is otherwise unchanged.
7. Reference files (read before writing)
- System prompt V4:
/opt/data/hermes-repo/reddit-rpa-prompts/reddit-comment-system-prompt-v4-unified.md - User prompt V4:
/opt/data/hermes-repo/reddit-rpa-prompts/reddit-comment-user-prompt-v4-unified.md - V5 JSON contract (proposed):
/opt/data/hermes-repo/reddit-rpa-prompts/v5-json-contract-change.md - ICP analysis report (evidence for templates):
/opt/data/hermes-repo/growreach-reddit-strategy/growreach-comment-analysis/analysis-report.md - Similarity analysis report (evidence for Problem 2):
/opt/data/hermes-repo/growreach-reddit-strategy/growreach-comment-analysis/post_1vkwaca_similarity_report.md - Similarity data:
/opt/data/hermes-repo/growreach-reddit-strategy/growreach-comment-analysis/post_1vkwaca_new_comments.json