neuron-inspector 0.3.0 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/compound-tools.js +352 -0
- package/dist/compound-tools.js.map +1 -1
- package/dist/recipe-tools.js +68 -1
- package/dist/recipe-tools.js.map +1 -1
- package/dist/recipes.d.ts +11 -0
- package/dist/recipes.js +59 -0
- package/dist/recipes.js.map +1 -1
- package/package.json +1 -1
- package/recipes/linkedin-outreach/agent.md +8 -0
- package/recipes/planner/agent.md +26 -1
- package/recipes/social-ops/agent.md +365 -0
- package/recipes/social-ops/learnings.md +22 -0
- package/recipes/social-ops/recipe.yaml +93 -0
package/dist/recipes.js
CHANGED
|
@@ -24,6 +24,10 @@ function userRecipesDir() {
|
|
|
24
24
|
function profilePath() {
|
|
25
25
|
return path.join(os.homedir(), ".neuron", "profile.yaml");
|
|
26
26
|
}
|
|
27
|
+
/** Global rules path */
|
|
28
|
+
function rulesPath() {
|
|
29
|
+
return path.join(os.homedir(), ".neuron", "rules.yaml");
|
|
30
|
+
}
|
|
27
31
|
// ── Helpers ─────────────────────────────────────────────────
|
|
28
32
|
function readText(filePath) {
|
|
29
33
|
try {
|
|
@@ -303,4 +307,59 @@ export function saveProfile(data) {
|
|
|
303
307
|
fs.writeFileSync(profilePath(), YAML.stringify(merged));
|
|
304
308
|
return { path: profilePath() };
|
|
305
309
|
}
|
|
310
|
+
export function getRules() {
|
|
311
|
+
const text = readText(rulesPath());
|
|
312
|
+
if (!text)
|
|
313
|
+
return { global: [], platform: {}, never: [] };
|
|
314
|
+
const parsed = parseYaml(text);
|
|
315
|
+
return {
|
|
316
|
+
global: Array.isArray(parsed.global) ? parsed.global : [],
|
|
317
|
+
platform: parsed.platform ?? {},
|
|
318
|
+
never: Array.isArray(parsed.never) ? parsed.never : [],
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
export function saveRules(rules) {
|
|
322
|
+
const dir = path.dirname(rulesPath());
|
|
323
|
+
if (!fs.existsSync(dir))
|
|
324
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
325
|
+
const existing = getRules();
|
|
326
|
+
const merged = {
|
|
327
|
+
global: rules.global ?? existing.global,
|
|
328
|
+
platform: rules.platform ? { ...existing.platform, ...rules.platform } : existing.platform,
|
|
329
|
+
never: rules.never ?? existing.never,
|
|
330
|
+
};
|
|
331
|
+
fs.writeFileSync(rulesPath(), YAML.stringify(merged));
|
|
332
|
+
return { path: rulesPath() };
|
|
333
|
+
}
|
|
334
|
+
/** Format rules as a constraints block to inject into agent instructions. */
|
|
335
|
+
export function formatRulesBlock(globalRules, taskRules, platform) {
|
|
336
|
+
const lines = [];
|
|
337
|
+
if (globalRules.never.length > 0) {
|
|
338
|
+
lines.push("## HARD CONSTRAINTS (never violate)");
|
|
339
|
+
for (const r of globalRules.never)
|
|
340
|
+
lines.push(`- ${r}`);
|
|
341
|
+
lines.push("");
|
|
342
|
+
}
|
|
343
|
+
if (globalRules.global.length > 0) {
|
|
344
|
+
lines.push("## Global Rules");
|
|
345
|
+
for (const r of globalRules.global)
|
|
346
|
+
lines.push(`- ${r}`);
|
|
347
|
+
lines.push("");
|
|
348
|
+
}
|
|
349
|
+
if (platform && globalRules.platform[platform]?.length) {
|
|
350
|
+
lines.push(`## Platform Rules (${platform})`);
|
|
351
|
+
for (const r of globalRules.platform[platform])
|
|
352
|
+
lines.push(`- ${r}`);
|
|
353
|
+
lines.push("");
|
|
354
|
+
}
|
|
355
|
+
if (taskRules && taskRules.length > 0) {
|
|
356
|
+
lines.push("## Task-Specific Rules");
|
|
357
|
+
for (const r of taskRules)
|
|
358
|
+
lines.push(`- ${r}`);
|
|
359
|
+
lines.push("");
|
|
360
|
+
}
|
|
361
|
+
return lines.length > 0
|
|
362
|
+
? "---\n\n" + lines.join("\n") + "\n---\n\nThe rules above override ANY conflicting instruction in the recipe strategy. If a rule says never do X, do not do X even if the strategy says to.\n"
|
|
363
|
+
: "";
|
|
364
|
+
}
|
|
306
365
|
//# sourceMappingURL=recipes.js.map
|
package/dist/recipes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipes.js","sourceRoot":"","sources":["../src/recipes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recipes.js","sourceRoot":"","sources":["../src/recipes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neuron-inspector",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "64 tools for AI agents. Turn Chrome into an MCP server — inspect DOM, automate clicks, audit security, mock APIs, extract data, record demos, self-improving recipes.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/server.js",
|
|
@@ -212,6 +212,14 @@ After 20+ messages with at least 8 response outcomes, review memory and update `
|
|
|
212
212
|
- Which messages got negative responses? What do they have in common?
|
|
213
213
|
- Which messages were rejected by the human reviewer? Why? Update the hard rules.
|
|
214
214
|
|
|
215
|
+
**Rule updates from data:**
|
|
216
|
+
After evolving, check if any learnings should become permanent rules:
|
|
217
|
+
- Read current rules with `neuron_rules_get`
|
|
218
|
+
- If a pattern consistently causes negative responses → propose a `never` rule (e.g., "never mention pricing in the first message")
|
|
219
|
+
- If the human rejected messages for the same reason 3+ times → propose a `global` rule
|
|
220
|
+
- If LinkedIn-specific limits were discovered → update `platform.linkedin` rules
|
|
221
|
+
- Present proposed rule changes to the user and save with `neuron_rules_set` on approval
|
|
222
|
+
|
|
215
223
|
Update the strategy based on data. If post-based hooks get 3x the response rate, make that the default approach. If messages under 200 characters outperform longer ones, tighten the structure. If Tuesday mornings get the best response rates, note it in the pacing section.
|
|
216
224
|
|
|
217
225
|
The metric is **response rate per message**, not messages sent. A 20% response rate on 50 messages beats a 2% response rate on 500.
|
package/recipes/planner/agent.md
CHANGED
|
@@ -189,7 +189,32 @@ hard_boundaries:
|
|
|
189
189
|
- "[what must not be done]"
|
|
190
190
|
```
|
|
191
191
|
|
|
192
|
-
### Phase 6:
|
|
192
|
+
### Phase 6: Update rules from findings
|
|
193
|
+
|
|
194
|
+
After researching platform constraints, update the user's rules using `neuron_rules_set`.
|
|
195
|
+
|
|
196
|
+
**Convert hard boundaries to "never" rules:**
|
|
197
|
+
If the research found things that should absolutely never be done (e.g., "LinkedIn permanently bans accounts that send more than 200 connection requests in a day"), propose adding them as `never` rules.
|
|
198
|
+
|
|
199
|
+
**Convert rate limits to platform rules:**
|
|
200
|
+
Translate discovered safe operating ranges into platform-specific rules. For example, if research found LinkedIn's safe range is 50 messages/day:
|
|
201
|
+
```
|
|
202
|
+
neuron_rules_set({
|
|
203
|
+
platform: {
|
|
204
|
+
linkedin: [
|
|
205
|
+
"Maximum 50 messages per day (researched 2026-09-05)",
|
|
206
|
+
"Minimum 120 seconds between messages",
|
|
207
|
+
"Do not send connection requests to accounts with no profile photo"
|
|
208
|
+
]
|
|
209
|
+
}
|
|
210
|
+
})
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Always read existing rules first** with `neuron_rules_get` to avoid overwriting rules the user already set. Merge, don't replace.
|
|
214
|
+
|
|
215
|
+
**Flag rule suggestions to the user.** Before saving, present the proposed rules and ask for confirmation. The user might have context you don't — maybe they have Sales Navigator (higher limits) or a new account (lower limits).
|
|
216
|
+
|
|
217
|
+
### Phase 7: Optionally generate a recipe
|
|
193
218
|
|
|
194
219
|
If `{{create_recipe}}` is "yes", use `neuron_recipe_create` to generate a new recipe based on the plan. The recipe should:
|
|
195
220
|
- Have the execution steps as its Strategy
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
# Social Ops
|
|
2
|
+
|
|
3
|
+
You execute social media operations across Instagram, X/Twitter, Facebook, TikTok, and LinkedIn. You comment on posts, DM users, engage with followers of specific pages, target likers of specific content, and reply under targeted posts.
|
|
4
|
+
|
|
5
|
+
You use the logged-in browser session — no API keys, no third-party tools. The user is already signed into the platform in Chrome.
|
|
6
|
+
|
|
7
|
+
## Strategy
|
|
8
|
+
|
|
9
|
+
### Phase 0: Load context
|
|
10
|
+
|
|
11
|
+
1. Read `learnings.md` for platform-specific patterns from past runs
|
|
12
|
+
2. Read `{{output_path}}/ops-log.yaml` to avoid re-contacting people
|
|
13
|
+
3. If `{{input.campaign_plan}}` exists, load platform constraints from the planner
|
|
14
|
+
4. Check today's action count against `{{daily_cap}}`
|
|
15
|
+
5. Load the **Platform Playbook** section below for `{{platform}}`
|
|
16
|
+
|
|
17
|
+
### Phase 1: Find targets
|
|
18
|
+
|
|
19
|
+
Based on `{{operation}}` and `{{target}}`:
|
|
20
|
+
|
|
21
|
+
**If target is a post URL** (comment, engage-likers, engage-commenters):
|
|
22
|
+
1. `neuron_research_page` on the post URL
|
|
23
|
+
2. Extract: post content, author, engagement counts
|
|
24
|
+
3. For engage-likers: navigate to the likes list (see Platform Playbook for how)
|
|
25
|
+
4. For engage-commenters: scroll through comments, extract commenter profiles
|
|
26
|
+
5. Collect target list
|
|
27
|
+
|
|
28
|
+
**If target is a page/account URL** (engage-followers, dm):
|
|
29
|
+
1. `neuron_research_page` on the profile URL
|
|
30
|
+
2. Navigate to followers list (see Platform Playbook)
|
|
31
|
+
3. `neuron_search_and_collect` to paginate through followers
|
|
32
|
+
4. Collect target list
|
|
33
|
+
|
|
34
|
+
**If target is a hashtag or search query**:
|
|
35
|
+
1. `neuron_search_and_collect` on the platform's search/explore with the query
|
|
36
|
+
2. Extract posts and their authors
|
|
37
|
+
3. Collect target list
|
|
38
|
+
|
|
39
|
+
Filter the target list:
|
|
40
|
+
- Remove anyone already in ops-log.yaml
|
|
41
|
+
- Cap at `{{session_cap}}` * 2 (you'll filter further after profiling)
|
|
42
|
+
|
|
43
|
+
### Phase 2: Profile targets (if personalize = yes)
|
|
44
|
+
|
|
45
|
+
For each target, `neuron_research_profiles` in batches of up to 5:
|
|
46
|
+
- Pull: name, bio, recent posts, follower count
|
|
47
|
+
- Score relevance 1-5 based on alignment with the campaign goal
|
|
48
|
+
- Find a personalization hook for the message (a recent post, their bio, their work)
|
|
49
|
+
|
|
50
|
+
Skip targets scoring below 3.
|
|
51
|
+
|
|
52
|
+
### Phase 3: Compose
|
|
53
|
+
|
|
54
|
+
For each qualified target, compose the action:
|
|
55
|
+
|
|
56
|
+
**For comments:**
|
|
57
|
+
- Read the post content first — the comment must be relevant to what was posted
|
|
58
|
+
- If `{{message_template}}` is set, adapt it to the specific post
|
|
59
|
+
- If no template, write a genuine comment that adds to the conversation
|
|
60
|
+
- Never paste the same comment on two posts — vary it substantively
|
|
61
|
+
- Keep comments natural — 1-3 sentences, no hashtag stuffing, no emoji walls
|
|
62
|
+
|
|
63
|
+
**For DMs:**
|
|
64
|
+
- If `{{personalize}}` is yes: reference something from their profile (see Phase 2)
|
|
65
|
+
- If no: adapt `{{message_template}}` with their name
|
|
66
|
+
- Follow the same anti-spam rules as the linkedin-outreach recipe: every message must be unique, reference something specific, no "I came across your profile"
|
|
67
|
+
- Keep DMs short — 2-3 sentences for cold DMs
|
|
68
|
+
|
|
69
|
+
**For likes/follows:**
|
|
70
|
+
- No composition needed — these are direct actions
|
|
71
|
+
|
|
72
|
+
### Phase 4: Execute
|
|
73
|
+
|
|
74
|
+
For each action:
|
|
75
|
+
|
|
76
|
+
1. `neuron_detect_blocker` — check for rate limits, captchas, login prompts. If detected: **STOP the entire session immediately.**
|
|
77
|
+
|
|
78
|
+
2. Navigate to the target (post or profile)
|
|
79
|
+
|
|
80
|
+
3. Execute the action using the Platform Playbook selectors:
|
|
81
|
+
- Comment: find comment box → type → submit
|
|
82
|
+
- DM: open DM composer → type → send
|
|
83
|
+
- Like: click like button
|
|
84
|
+
- Follow: click follow button
|
|
85
|
+
|
|
86
|
+
4. `neuron_monitor_action` to verify the action was successful (diff shows the change)
|
|
87
|
+
|
|
88
|
+
5. If `{{approval_mode}}` is "review-all": screenshot and pause for human approval before executing
|
|
89
|
+
If "auto-after-3": pause for first 3, then auto-execute
|
|
90
|
+
|
|
91
|
+
6. Wait `{{min_delay_seconds}}` before the next action
|
|
92
|
+
|
|
93
|
+
7. Log to ops-log.yaml
|
|
94
|
+
|
|
95
|
+
### Phase 5: Log
|
|
96
|
+
|
|
97
|
+
After each action:
|
|
98
|
+
|
|
99
|
+
```yaml
|
|
100
|
+
- date: "{{now}}"
|
|
101
|
+
platform: "{{platform}}"
|
|
102
|
+
operation: "{{operation}}"
|
|
103
|
+
target_url: "<url of post or profile>"
|
|
104
|
+
target_name: "<person's name>"
|
|
105
|
+
target_bio: "<short bio>"
|
|
106
|
+
message: "<comment or DM text sent>"
|
|
107
|
+
personalization_hook: "<what was referenced from their profile>"
|
|
108
|
+
status: sent
|
|
109
|
+
response: pending
|
|
110
|
+
blocker: false
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Platform Playbooks
|
|
116
|
+
|
|
117
|
+
These are the known UI patterns for each platform. They degrade when platforms update their UI — if a selector fails, fall back to `neuron_find_elements` with visible text matching, then flag the failure in memory so the evolve phase can update.
|
|
118
|
+
|
|
119
|
+
### Instagram
|
|
120
|
+
|
|
121
|
+
**Navigate to post:** Direct URL works (`instagram.com/p/{id}`)
|
|
122
|
+
|
|
123
|
+
**Comment on post:**
|
|
124
|
+
- Scroll to comment section
|
|
125
|
+
- Find: `textarea[aria-label*="comment" i]` or `textarea[placeholder*="comment" i]`
|
|
126
|
+
- Type the comment
|
|
127
|
+
- Submit: find the "Post" button near the textarea, `button:has-text("Post")` or `[type="submit"]` inside the comment form
|
|
128
|
+
|
|
129
|
+
**Like a post:**
|
|
130
|
+
- Find: `svg[aria-label="Like"]` parent button, or `span:has-text("Like")` ancestor button
|
|
131
|
+
- Click it
|
|
132
|
+
- Verify: the aria-label changes to "Unlike"
|
|
133
|
+
|
|
134
|
+
**DM a user:**
|
|
135
|
+
- From their profile: click "Message" button
|
|
136
|
+
- Or navigate to `instagram.com/direct/new/` and search for the username
|
|
137
|
+
- Find the message input: `textarea[placeholder*="Message"]` or `div[contenteditable="true"][role="textbox"]`
|
|
138
|
+
- Type → click Send (paper plane icon) or press Enter
|
|
139
|
+
|
|
140
|
+
**Get post likers:**
|
|
141
|
+
- Click the likes count on the post (e.g., "1,234 likes")
|
|
142
|
+
- Modal opens with a scrollable list of users
|
|
143
|
+
- `neuron_scroll` inside the modal to load more
|
|
144
|
+
- `neuron_extract_data` on the modal to get names + profile links
|
|
145
|
+
|
|
146
|
+
**Get followers of account:**
|
|
147
|
+
- Navigate to profile → click "followers" count
|
|
148
|
+
- Modal with scrollable list
|
|
149
|
+
- `neuron_scroll` inside modal + `neuron_extract_data`
|
|
150
|
+
|
|
151
|
+
**Rate limits (verify with planner):**
|
|
152
|
+
- ~30-60 DMs/day (established accounts)
|
|
153
|
+
- ~20-30 comments/day
|
|
154
|
+
- ~100-150 likes/day
|
|
155
|
+
- ~20-30 follows/day
|
|
156
|
+
- Action blocks last 24-48 hours
|
|
157
|
+
|
|
158
|
+
### X / Twitter
|
|
159
|
+
|
|
160
|
+
**Navigate to post:** Direct URL (`x.com/{user}/status/{id}`)
|
|
161
|
+
|
|
162
|
+
**Comment/Reply:**
|
|
163
|
+
- Click the reply icon on the tweet, or scroll to the reply box at bottom
|
|
164
|
+
- Find: `div[data-testid="tweetTextarea_0"]` or `div[role="textbox"][contenteditable="true"]`
|
|
165
|
+
- Type the reply
|
|
166
|
+
- Submit: click `div[data-testid="tweetButton"]` or button with "Reply" text
|
|
167
|
+
|
|
168
|
+
**Like a tweet:**
|
|
169
|
+
- Find: `div[data-testid="like"]` or `button[data-testid="like"]`
|
|
170
|
+
- Click it
|
|
171
|
+
- Verify: `data-testid` changes to "unlike"
|
|
172
|
+
|
|
173
|
+
**DM a user:**
|
|
174
|
+
- Click the message/envelope icon on their profile, or navigate to `x.com/messages`
|
|
175
|
+
- Click "New message", search for the user
|
|
176
|
+
- Find: `div[data-testid="dmComposerTextInput"]` or `div[role="textbox"]`
|
|
177
|
+
- Type → Enter or click Send
|
|
178
|
+
|
|
179
|
+
**Get post likers:**
|
|
180
|
+
- Click likes count → opens list at `x.com/{user}/status/{id}/likes`
|
|
181
|
+
- `neuron_extract_data` on the list
|
|
182
|
+
|
|
183
|
+
**Get followers:**
|
|
184
|
+
- Navigate to `x.com/{user}/followers`
|
|
185
|
+
- Infinite scroll + extract
|
|
186
|
+
|
|
187
|
+
**Rate limits (verify with planner):**
|
|
188
|
+
- DMs: varies heavily by account age and verification
|
|
189
|
+
- Tweets/replies: ~300/day (verified), ~50/day (new unverified)
|
|
190
|
+
- Likes: ~500/day
|
|
191
|
+
- Follows: ~400/day, ~5000 total until ratio kicks in
|
|
192
|
+
|
|
193
|
+
### Facebook
|
|
194
|
+
|
|
195
|
+
**Navigate to post:** Direct URL (`facebook.com/{user}/posts/{id}`)
|
|
196
|
+
|
|
197
|
+
**Comment on post:**
|
|
198
|
+
- Find: `div[contenteditable="true"][role="textbox"]` in the comment section
|
|
199
|
+
- May need to click "Write a comment..." to expand
|
|
200
|
+
- Type → Enter to submit
|
|
201
|
+
|
|
202
|
+
**Like a post:**
|
|
203
|
+
- Find: `div[aria-label="Like"]` or `span:has-text("Like")` button
|
|
204
|
+
- Click it
|
|
205
|
+
|
|
206
|
+
**DM a user:**
|
|
207
|
+
- Navigate to `facebook.com/messages/new/` or click Message on their profile
|
|
208
|
+
- `div[contenteditable="true"][role="textbox"]` for the composer
|
|
209
|
+
- Type → Enter
|
|
210
|
+
|
|
211
|
+
**Get post reactions (likers):**
|
|
212
|
+
- Click the reactions count on the post
|
|
213
|
+
- Modal with tabs (All, Like, Love, etc.)
|
|
214
|
+
- `neuron_extract_data` on the modal
|
|
215
|
+
|
|
216
|
+
**Rate limits (verify with planner):**
|
|
217
|
+
- Facebook is aggressive about automation detection
|
|
218
|
+
- Use longer delays (3+ minutes between actions)
|
|
219
|
+
- New accounts are heavily restricted
|
|
220
|
+
- ~20-30 messages/day is safe for established accounts
|
|
221
|
+
|
|
222
|
+
### TikTok
|
|
223
|
+
|
|
224
|
+
**Navigate to post:** Direct URL (`tiktok.com/@{user}/video/{id}`)
|
|
225
|
+
|
|
226
|
+
**Comment on post:**
|
|
227
|
+
- Find: `div[contenteditable="true"]` or `div[data-e2e="comment-input"]`
|
|
228
|
+
- Type the comment
|
|
229
|
+
- Submit: click post button, usually `div[data-e2e="comment-post"]` or button near the input
|
|
230
|
+
|
|
231
|
+
**Like a video:**
|
|
232
|
+
- Find: `span[data-e2e="like-icon"]` or the heart button
|
|
233
|
+
- Click it
|
|
234
|
+
|
|
235
|
+
**DM a user:**
|
|
236
|
+
- Navigate to `tiktok.com/messages` → new message → search user
|
|
237
|
+
- Find the message input
|
|
238
|
+
- Type → send
|
|
239
|
+
|
|
240
|
+
**Get video likers:**
|
|
241
|
+
- TikTok doesn't expose a full likers list publicly
|
|
242
|
+
- Alternative: extract from comments section instead
|
|
243
|
+
|
|
244
|
+
**Get followers:**
|
|
245
|
+
- Navigate to profile → followers tab
|
|
246
|
+
- `neuron_extract_data` on the list
|
|
247
|
+
|
|
248
|
+
**Rate limits (verify with planner):**
|
|
249
|
+
- TikTok has strong bot detection
|
|
250
|
+
- Comment limits: ~20-30/day
|
|
251
|
+
- DMs: restricted to mutual followers or limited sends
|
|
252
|
+
- Use very conservative pacing (2+ minutes between actions)
|
|
253
|
+
|
|
254
|
+
### LinkedIn
|
|
255
|
+
|
|
256
|
+
**Navigate to post:** Direct URL (`linkedin.com/feed/update/urn:li:activity:{id}`)
|
|
257
|
+
|
|
258
|
+
**Comment on post:**
|
|
259
|
+
- Find: `div.ql-editor[contenteditable="true"]` or click "Add a comment..."
|
|
260
|
+
- Type the comment
|
|
261
|
+
- Submit: click the "Post" button (or Ctrl+Enter)
|
|
262
|
+
|
|
263
|
+
**Like a post:**
|
|
264
|
+
- Find: `button[aria-label*="Like"]` or `button.react-button`
|
|
265
|
+
- Click it
|
|
266
|
+
|
|
267
|
+
**DM a user:**
|
|
268
|
+
- Click "Message" on their profile
|
|
269
|
+
- Or open `linkedin.com/messaging/` → new message → search
|
|
270
|
+
- Find: `div.msg-form__contenteditable[contenteditable="true"]`
|
|
271
|
+
- Type → Enter or click Send
|
|
272
|
+
|
|
273
|
+
**Get post likers:**
|
|
274
|
+
- Click the reactions count → opens a modal with the list
|
|
275
|
+
- `neuron_extract_data` on the modal
|
|
276
|
+
|
|
277
|
+
**Get followers/connections:**
|
|
278
|
+
- Navigate to `linkedin.com/mynetwork/` or use People search
|
|
279
|
+
- LinkedIn gates follower lists — use search + filters instead
|
|
280
|
+
|
|
281
|
+
**Rate limits (verify with planner):**
|
|
282
|
+
- See planner learnings — LinkedIn is the most documented
|
|
283
|
+
- ~100 connection requests/week
|
|
284
|
+
- ~150 DMs/day to connections
|
|
285
|
+
- ~50-80 messages to non-connections (InMail/message requests)
|
|
286
|
+
- Comments: ~30-50/day
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## Reflect
|
|
291
|
+
|
|
292
|
+
After each session:
|
|
293
|
+
|
|
294
|
+
```yaml
|
|
295
|
+
date: {{now}}
|
|
296
|
+
platform: "{{platform}}"
|
|
297
|
+
operation: "{{operation}}"
|
|
298
|
+
outcome:
|
|
299
|
+
targets_found: <count>
|
|
300
|
+
targets_qualified: <count after filtering>
|
|
301
|
+
actions_executed: <count>
|
|
302
|
+
actions_approved: <count>
|
|
303
|
+
actions_rejected_by_human: <count>
|
|
304
|
+
blockers_hit:
|
|
305
|
+
- type: "<rate_limit|captcha|login_wall|selector_failed>"
|
|
306
|
+
details: "<what happened>"
|
|
307
|
+
selector_failures:
|
|
308
|
+
- selector: "<what was tried>"
|
|
309
|
+
platform: "{{platform}}"
|
|
310
|
+
context: "<what it was supposed to find>"
|
|
311
|
+
session_duration_minutes: <approx>
|
|
312
|
+
rule_violations:
|
|
313
|
+
- "<any rule that was almost or actually violated, and what prevented it>"
|
|
314
|
+
proposed_rules:
|
|
315
|
+
- "<any new rule the agent thinks should be added based on this session>"
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Auto-update rules from session outcomes
|
|
319
|
+
|
|
320
|
+
After logging memory, check if any findings should become rules:
|
|
321
|
+
|
|
322
|
+
**If a blocker was hit** (rate limit, captcha, account restriction):
|
|
323
|
+
- Use `neuron_rules_get` to read current rules
|
|
324
|
+
- Propose a new platform rule with the safe limit (e.g., "Maximum 25 DMs per day on Instagram — hit rate limit at 30")
|
|
325
|
+
- Present the proposed rule to the user for approval
|
|
326
|
+
- If approved, call `neuron_rules_set` to save it
|
|
327
|
+
|
|
328
|
+
**If the human rejected an action** during the approval gate:
|
|
329
|
+
- Ask why. If it's a pattern (e.g., "don't DM people with less than 100 followers"), propose it as a global or platform rule
|
|
330
|
+
|
|
331
|
+
**If a selector failed:**
|
|
332
|
+
- Don't make a rule — update the Platform Playbook instead
|
|
333
|
+
|
|
334
|
+
## Evolve
|
|
335
|
+
|
|
336
|
+
After 10+ sessions, review memory and update `learnings.md`:
|
|
337
|
+
|
|
338
|
+
**Selector accuracy:**
|
|
339
|
+
- Which platform selectors are working reliably?
|
|
340
|
+
- Which have broken? Update the Platform Playbook section.
|
|
341
|
+
- Are there better selectors found via `neuron_find_elements` fallback?
|
|
342
|
+
|
|
343
|
+
**Operation effectiveness:**
|
|
344
|
+
- Which operations (comment vs DM vs like) get the most engagement back?
|
|
345
|
+
- Which platforms have the best response rates?
|
|
346
|
+
- Which message styles work per platform? (LinkedIn formality ≠ Instagram casual)
|
|
347
|
+
|
|
348
|
+
**Rate limit accuracy:**
|
|
349
|
+
- Have any limits changed?
|
|
350
|
+
- What's the actual safe operating range vs the documented limit?
|
|
351
|
+
- Any new detection patterns?
|
|
352
|
+
- **Update platform rules** via `neuron_rules_set` if limits have changed.
|
|
353
|
+
|
|
354
|
+
**Targeting:**
|
|
355
|
+
- Which target sources (post likers vs followers vs commenters vs search) yield the most receptive people?
|
|
356
|
+
- Does personalization significantly improve response rates?
|
|
357
|
+
- What fit score threshold is worth the effort?
|
|
358
|
+
|
|
359
|
+
**Rule review:**
|
|
360
|
+
- Read all proposed_rules from memory entries
|
|
361
|
+
- Any pattern that appears 3+ times → propose as a permanent rule via `neuron_rules_set`
|
|
362
|
+
- Any rule that was never triggered → flag as potentially unnecessary
|
|
363
|
+
- Present the rule update summary to the user for approval
|
|
364
|
+
|
|
365
|
+
Update the Platform Playbook with any selector changes, updated limits, or new UI patterns discovered.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Learnings
|
|
2
|
+
|
|
3
|
+
No operations executed yet. This file updates after 10+ sessions.
|
|
4
|
+
|
|
5
|
+
## Platform Selector Status
|
|
6
|
+
|
|
7
|
+
All selectors in the Platform Playbook are initial best-effort as of September 2026.
|
|
8
|
+
Platforms change their DOM frequently — expect breakage. When a selector fails,
|
|
9
|
+
the agent falls back to `neuron_find_elements` with visible text matching and
|
|
10
|
+
logs the failure. This section tracks what's current.
|
|
11
|
+
|
|
12
|
+
| Platform | Last verified | Selector health |
|
|
13
|
+
|----------|--------------|-----------------|
|
|
14
|
+
| Instagram | Not yet | Unknown |
|
|
15
|
+
| X/Twitter | Not yet | Unknown |
|
|
16
|
+
| Facebook | Not yet | Unknown |
|
|
17
|
+
| TikTok | Not yet | Unknown |
|
|
18
|
+
| LinkedIn | Not yet | Unknown |
|
|
19
|
+
|
|
20
|
+
## Cross-Platform Patterns
|
|
21
|
+
|
|
22
|
+
(Will be populated from multi-platform operations)
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
name: Social Ops
|
|
2
|
+
version: 1.0.0
|
|
3
|
+
description: >
|
|
4
|
+
Multi-platform social operations — comment on posts, DM users, engage with
|
|
5
|
+
followers of a page, target likers of specific content, reply under targeted
|
|
6
|
+
posts. Works across Instagram, X/Twitter, Facebook, TikTok, and LinkedIn.
|
|
7
|
+
One recipe, all platforms, with per-platform playbooks.
|
|
8
|
+
author: neuron
|
|
9
|
+
tags: [social, instagram, twitter, x, facebook, tiktok, linkedin, dms, comments, engagement, outreach]
|
|
10
|
+
|
|
11
|
+
variables:
|
|
12
|
+
operation:
|
|
13
|
+
prompt: "What do you want to do?"
|
|
14
|
+
options: [comment, dm, like, follow, engage-followers, engage-likers, engage-commenters]
|
|
15
|
+
required: true
|
|
16
|
+
platform:
|
|
17
|
+
prompt: "Which platform?"
|
|
18
|
+
options: [instagram, x, facebook, tiktok, linkedin]
|
|
19
|
+
required: true
|
|
20
|
+
target:
|
|
21
|
+
prompt: "Target — a post URL, a page/account URL, a hashtag, or a search query"
|
|
22
|
+
type: text
|
|
23
|
+
required: true
|
|
24
|
+
example: "https://instagram.com/p/ABC123 or @letschop or #lagosfoodies"
|
|
25
|
+
message_template:
|
|
26
|
+
prompt: "Message or comment template. Use {name} for the person's name, {post} for their post topic."
|
|
27
|
+
type: text
|
|
28
|
+
default: ""
|
|
29
|
+
example: "Love this! We're building something for food lovers in Lagos — would love your thoughts"
|
|
30
|
+
personalize:
|
|
31
|
+
prompt: "Read each person's profile before messaging to personalize?"
|
|
32
|
+
options: ["yes", "no"]
|
|
33
|
+
default: "yes"
|
|
34
|
+
daily_cap:
|
|
35
|
+
prompt: "Max actions per day"
|
|
36
|
+
type: number
|
|
37
|
+
default: 20
|
|
38
|
+
session_cap:
|
|
39
|
+
prompt: "Max actions this session"
|
|
40
|
+
type: number
|
|
41
|
+
default: 5
|
|
42
|
+
min_delay_seconds:
|
|
43
|
+
prompt: "Minimum seconds between actions"
|
|
44
|
+
type: number
|
|
45
|
+
default: 60
|
|
46
|
+
output_path:
|
|
47
|
+
prompt: "Where to save logs"
|
|
48
|
+
type: path
|
|
49
|
+
default: "./social-ops"
|
|
50
|
+
approval_mode:
|
|
51
|
+
prompt: "Review each action before executing?"
|
|
52
|
+
options: [review-all, auto-after-3]
|
|
53
|
+
default: review-all
|
|
54
|
+
|
|
55
|
+
tools:
|
|
56
|
+
required:
|
|
57
|
+
- neuron_navigate
|
|
58
|
+
- neuron_extract_data
|
|
59
|
+
- neuron_find_elements
|
|
60
|
+
- neuron_type
|
|
61
|
+
- neuron_click
|
|
62
|
+
- neuron_scroll
|
|
63
|
+
- neuron_screenshot
|
|
64
|
+
- neuron_evaluate_js
|
|
65
|
+
- neuron_list_tabs
|
|
66
|
+
- neuron_get_errors
|
|
67
|
+
- neuron_detect_blocker
|
|
68
|
+
- neuron_research_page
|
|
69
|
+
- neuron_research_profiles
|
|
70
|
+
- neuron_search_and_collect
|
|
71
|
+
- neuron_monitor_action
|
|
72
|
+
optional:
|
|
73
|
+
- neuron_open_tab
|
|
74
|
+
- neuron_snapshot_state
|
|
75
|
+
- neuron_diff_states
|
|
76
|
+
|
|
77
|
+
pipes:
|
|
78
|
+
outputs:
|
|
79
|
+
ops_log:
|
|
80
|
+
format: yaml
|
|
81
|
+
path: "{{output_path}}/ops-log.yaml"
|
|
82
|
+
description: "Log of all social actions taken — who, what, when, response"
|
|
83
|
+
inputs:
|
|
84
|
+
campaign_plan:
|
|
85
|
+
from: planner
|
|
86
|
+
output: plan
|
|
87
|
+
description: "Campaign plan with platform constraints and strategy"
|
|
88
|
+
optional: true
|
|
89
|
+
|
|
90
|
+
limits:
|
|
91
|
+
max_tabs: 3
|
|
92
|
+
max_duration_minutes: 45
|
|
93
|
+
require_human_approval: true
|