@datatamer.ai/agentdev 1.0.6 → 1.0.7
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/agentdev.js +10 -10
- package/package.json +7 -6
- package/skills/agentdev-linkedin.md +425 -0
- package/skills/agentdev-twitter.md +430 -0
- package/skills/api-integration-guide.md +1382 -0
- package/skills/auto-ticket-workflow.md +118 -33
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datatamer.ai/agentdev",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "AgentDev distributed agent client for processing GitHub tickets",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -30,15 +30,16 @@
|
|
|
30
30
|
"author": "DataTamer",
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
|
+
"@anthropic-ai/sdk": "^0.74.0",
|
|
33
34
|
"@fission-ai/openspec": "latest",
|
|
34
|
-
"
|
|
35
|
+
"@remotion/cli": "^4.0.419",
|
|
36
|
+
"@remotion/renderer": "^4.0.419",
|
|
35
37
|
"axios": "^1.6.0",
|
|
36
38
|
"chalk": "^5.3.0",
|
|
37
|
-
"
|
|
39
|
+
"commander": "^12.0.0",
|
|
38
40
|
"conf": "^12.0.0",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"@remotion/renderer": "^4.0.419"
|
|
41
|
+
"ora": "^8.0.0",
|
|
42
|
+
"remotion": "^4.0.419"
|
|
42
43
|
},
|
|
43
44
|
"devDependencies": {
|
|
44
45
|
"esbuild": "^0.24.0",
|
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
# agentdev linkedin — LinkedIn CLI
|
|
2
|
+
|
|
3
|
+
Use `agentdev linkedin` for ALL LinkedIn operations. Do NOT attempt to use LinkedIn APIs directly.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
User must connect their LinkedIn account first:
|
|
8
|
+
1. Visit /profile page on AgentDev
|
|
9
|
+
2. Click "Connect LinkedIn"
|
|
10
|
+
3. Complete OAuth authorization flow
|
|
11
|
+
|
|
12
|
+
If LinkedIn is not connected, all commands will fail with instructions to connect.
|
|
13
|
+
|
|
14
|
+
**IMPORTANT:** After new scopes are added, users must reconnect their LinkedIn account at /profile to grant new permissions.
|
|
15
|
+
|
|
16
|
+
## Post Commands
|
|
17
|
+
|
|
18
|
+
### Create Posts
|
|
19
|
+
|
|
20
|
+
#### Text-only post
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
agentdev linkedin post create --text "Your message here"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
#### Share article/URL
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
agentdev linkedin post create \
|
|
30
|
+
--text "Check out this article about AI agents" \
|
|
31
|
+
--url "https://example.com/article" \
|
|
32
|
+
--url-title "AI Agents in 2026" \
|
|
33
|
+
--url-description "A comprehensive guide to AI agents"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Note:** `--url-title` is required when using `--url`
|
|
37
|
+
|
|
38
|
+
#### Post with image
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
agentdev linkedin post create \
|
|
42
|
+
--text "Great photo from the conference" \
|
|
43
|
+
--image /path/to/image.png \
|
|
44
|
+
--image-title "Conference 2026"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Note:** Only PNG and JPG images are supported
|
|
48
|
+
|
|
49
|
+
#### Post with video
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
agentdev linkedin post create \
|
|
53
|
+
--text "Check out this video!" \
|
|
54
|
+
--video /path/to/video.mp4 \
|
|
55
|
+
--thumbnail /path/to/thumbnail.jpg
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Video Requirements:**
|
|
59
|
+
- Format: MP4 only
|
|
60
|
+
- Size: 75KB - 5GB (organic posts)
|
|
61
|
+
- Duration: 3 seconds to 30 minutes
|
|
62
|
+
- Thumbnail: Optional, JPG format
|
|
63
|
+
|
|
64
|
+
#### Visibility options
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Public post (default)
|
|
68
|
+
agentdev linkedin post create --text "Hello LinkedIn!" --visibility PUBLIC
|
|
69
|
+
|
|
70
|
+
# Connections only
|
|
71
|
+
agentdev linkedin post create --text "Hello connections!" --visibility CONNECTIONS
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Manage Posts
|
|
75
|
+
|
|
76
|
+
#### List your posts
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
agentdev linkedin post list --count 20 --sort LAST_MODIFIED
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Options:**
|
|
83
|
+
- `--count` - Number of posts to retrieve (default: 10)
|
|
84
|
+
- `--sort` - Sort order: LAST_MODIFIED or CREATED (default: LAST_MODIFIED)
|
|
85
|
+
|
|
86
|
+
#### View post details
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
agentdev linkedin post view "urn:li:share:123456"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Returns full post details including text, visibility, and lifecycle state.
|
|
93
|
+
|
|
94
|
+
#### Edit a post
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
agentdev linkedin post edit "urn:li:share:123456" --text "Updated text content"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Note:** Only commentary/text can be edited. Media cannot be changed after posting.
|
|
101
|
+
|
|
102
|
+
#### Delete a post
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
agentdev linkedin post delete "urn:li:share:123456" --confirm
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Important:** Requires `--confirm` flag to prevent accidental deletions.
|
|
109
|
+
|
|
110
|
+
## Analytics & Engagement
|
|
111
|
+
|
|
112
|
+
### Post analytics
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
agentdev linkedin analytics post "urn:li:share:123456"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Returns:
|
|
119
|
+
- Total reactions by type (LIKE, PRAISE, EMPATHY, INTEREST, APPRECIATION)
|
|
120
|
+
- Total comments
|
|
121
|
+
- Comments state (OPEN, CLOSED, etc.)
|
|
122
|
+
|
|
123
|
+
### Reactions breakdown
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# All reactions
|
|
127
|
+
agentdev linkedin analytics reactions "urn:li:share:123456"
|
|
128
|
+
|
|
129
|
+
# Filter by type
|
|
130
|
+
agentdev linkedin analytics reactions "urn:li:share:123456" --type LIKE
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Reaction Types:**
|
|
134
|
+
- LIKE 👍
|
|
135
|
+
- PRAISE 👏
|
|
136
|
+
- MAYBE 💡
|
|
137
|
+
- EMPATHY ❤️
|
|
138
|
+
- INTEREST 💭
|
|
139
|
+
- APPRECIATION 🙌
|
|
140
|
+
|
|
141
|
+
### Post comments
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
agentdev linkedin analytics comments "urn:li:share:123456" --count 20
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Returns comment text, authors, and metadata.
|
|
148
|
+
|
|
149
|
+
## Connections Management
|
|
150
|
+
|
|
151
|
+
### List connections
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
agentdev linkedin connections list --count 50
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**Note:** Maximum 50 connections per request (LinkedIn limit)
|
|
158
|
+
|
|
159
|
+
### Send connection request
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
# By person URN
|
|
163
|
+
agentdev linkedin connections send \
|
|
164
|
+
--person "urn:li:person:ABC123" \
|
|
165
|
+
--message "Let's connect!"
|
|
166
|
+
|
|
167
|
+
# By email
|
|
168
|
+
agentdev linkedin connections send \
|
|
169
|
+
--email "user@example.com" \
|
|
170
|
+
--message "Great meeting you at the conference!"
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Accept connection request
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
agentdev linkedin connections accept <invitation-id> --token <validation-token>
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**Note:** Validation token is provided in the invitation notification.
|
|
180
|
+
|
|
181
|
+
### Reject connection request
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
agentdev linkedin connections reject <invitation-id> --token <validation-token>
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### View person profile
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
agentdev linkedin person ABC123
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Returns name, headline, and person ID.
|
|
194
|
+
|
|
195
|
+
## Organization/Company Pages
|
|
196
|
+
|
|
197
|
+
**Requirements:**
|
|
198
|
+
- User must have ADMINISTRATOR, CONTENT_ADMIN, or DIRECT_SPONSORED_CONTENT_POSTER role
|
|
199
|
+
- Organization ID must be valid and accessible by the user
|
|
200
|
+
|
|
201
|
+
### Post as organization
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
agentdev linkedin org post \
|
|
205
|
+
--id 12345 \
|
|
206
|
+
--text "Company announcement: New product launch!" \
|
|
207
|
+
--visibility PUBLIC
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### View organization profile
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
agentdev linkedin org view 12345
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Returns organization name, vanity name, website, and ID.
|
|
217
|
+
|
|
218
|
+
### Organization analytics
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
agentdev linkedin org analytics "urn:li:organization:12345" --days 30
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Returns:
|
|
225
|
+
- Total followers (organic + paid)
|
|
226
|
+
- Follower gains/losses
|
|
227
|
+
- Demographics (by country, industry, function)
|
|
228
|
+
|
|
229
|
+
**Note:** Requires `rw_organization_admin` scope and ADMINISTRATOR role.
|
|
230
|
+
|
|
231
|
+
### List organization posts
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
agentdev linkedin org posts "urn:li:organization:12345" --count 20
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Profile Commands
|
|
238
|
+
|
|
239
|
+
### View your profile
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
agentdev linkedin profile
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Returns: Name, email, person ID, and profile picture URL
|
|
246
|
+
|
|
247
|
+
## Authentication Commands
|
|
248
|
+
|
|
249
|
+
### Check auth status
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
agentdev linkedin auth
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Verifies that LinkedIn is connected and token is valid.
|
|
256
|
+
|
|
257
|
+
## Rate Limits
|
|
258
|
+
|
|
259
|
+
- **150 posts per day** per user (LinkedIn limit)
|
|
260
|
+
- **100,000 API requests per day** per application
|
|
261
|
+
- **Comment creation:** 1-minute cooldown between comments
|
|
262
|
+
- **Connection requests:** LinkedIn may throttle excessive sending
|
|
263
|
+
|
|
264
|
+
If rate limit is exceeded, you'll receive a clear error message with retry-after information.
|
|
265
|
+
|
|
266
|
+
## Error Handling
|
|
267
|
+
|
|
268
|
+
| Error | Meaning | Action |
|
|
269
|
+
|-------|---------|--------|
|
|
270
|
+
| "LinkedIn not connected" | User hasn't connected LinkedIn | Direct user to /profile to connect |
|
|
271
|
+
| "Token expired" | OAuth token expired | User must reconnect at /profile |
|
|
272
|
+
| "Missing required scope" | New permissions needed | User must reconnect at /profile |
|
|
273
|
+
| "Rate limit exceeded" | Hit API rate limits | Wait for retry-after period |
|
|
274
|
+
| "Permission denied" | Insufficient org permissions | User needs ADMINISTRATOR or CONTENT_ADMIN role |
|
|
275
|
+
| "Image/Video file not found" | Invalid file path | Check file path and permissions |
|
|
276
|
+
| "Video file too large" | Video exceeds 5GB | Reduce video size |
|
|
277
|
+
|
|
278
|
+
## Required OAuth Scopes
|
|
279
|
+
|
|
280
|
+
The following scopes are automatically requested during OAuth flow:
|
|
281
|
+
- `openid` - User authentication
|
|
282
|
+
- `profile` - Access to profile information
|
|
283
|
+
- `email` - Access to user email
|
|
284
|
+
- `w_member_social` - Create posts and share content
|
|
285
|
+
- `r_member_social` - Read posts, analytics, engagement data
|
|
286
|
+
- `r_1st_connections` - View connections list
|
|
287
|
+
- `r_liteprofile` - View person profiles
|
|
288
|
+
- `w_organization_social` - Post as organization
|
|
289
|
+
- `r_organization_social` - Read organization posts
|
|
290
|
+
- `rw_organization_admin` - Manage organization, view analytics
|
|
291
|
+
|
|
292
|
+
## Agent Task Examples
|
|
293
|
+
|
|
294
|
+
### Example 1: Post completion update
|
|
295
|
+
|
|
296
|
+
When asked to "post to LinkedIn about completing ticket #123":
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
agentdev linkedin post create --text "✅ Completed ticket #123: Fixed authentication bug in the login flow"
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Example 2: Share blog post
|
|
303
|
+
|
|
304
|
+
When asked to "share this blog post on LinkedIn":
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
agentdev linkedin post create \
|
|
308
|
+
--text "New blog post about our latest features! 🚀" \
|
|
309
|
+
--url "https://blog.example.com/new-features" \
|
|
310
|
+
--url-title "Latest Features Update - February 2026"
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### Example 3: Post with video
|
|
314
|
+
|
|
315
|
+
When asked to "share the demo video on LinkedIn":
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
agentdev linkedin post create \
|
|
319
|
+
--text "Check out our new feature demo!" \
|
|
320
|
+
--video ./demos/feature-demo.mp4 \
|
|
321
|
+
--thumbnail ./demos/thumbnail.jpg
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### Example 4: Check post performance
|
|
325
|
+
|
|
326
|
+
When asked to "how is my latest LinkedIn post performing?":
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
# First, get the post URN
|
|
330
|
+
agentdev linkedin post list --count 1
|
|
331
|
+
|
|
332
|
+
# Then get analytics
|
|
333
|
+
agentdev linkedin analytics post "urn:li:share:123456"
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### Example 5: Post as company
|
|
337
|
+
|
|
338
|
+
When asked to "post this announcement on the company LinkedIn page":
|
|
339
|
+
|
|
340
|
+
```bash
|
|
341
|
+
agentdev linkedin org post \
|
|
342
|
+
--id 12345 \
|
|
343
|
+
--text "We're hiring! Join our amazing team of engineers."
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### Example 6: Grow network
|
|
347
|
+
|
|
348
|
+
When asked to "send a connection request to john@example.com":
|
|
349
|
+
|
|
350
|
+
```bash
|
|
351
|
+
agentdev linkedin connections send \
|
|
352
|
+
--email "john@example.com" \
|
|
353
|
+
--message "I enjoyed our conversation at the conference. Let's stay in touch!"
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### Example 7: Clean up old posts
|
|
357
|
+
|
|
358
|
+
When asked to "delete my LinkedIn post from last week":
|
|
359
|
+
|
|
360
|
+
```bash
|
|
361
|
+
# First, find the post
|
|
362
|
+
agentdev linkedin post list --count 10
|
|
363
|
+
|
|
364
|
+
# Then delete it (with confirmation)
|
|
365
|
+
agentdev linkedin post delete "urn:li:share:123456" --confirm
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
### Example 8: Monitor engagement
|
|
369
|
+
|
|
370
|
+
When asked to "show me who reacted to my latest post":
|
|
371
|
+
|
|
372
|
+
```bash
|
|
373
|
+
# Get the latest post
|
|
374
|
+
agentdev linkedin post list --count 1
|
|
375
|
+
|
|
376
|
+
# Check reactions breakdown
|
|
377
|
+
agentdev linkedin analytics reactions "urn:li:share:123456"
|
|
378
|
+
|
|
379
|
+
# Check comments
|
|
380
|
+
agentdev linkedin analytics comments "urn:li:share:123456"
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
## Notes
|
|
384
|
+
|
|
385
|
+
- All posts are created as the authenticated user (unless using org commands)
|
|
386
|
+
- Image uploads use a 2-step process (register → upload → attach to post)
|
|
387
|
+
- Video uploads use multi-part chunked upload (4MB chunks)
|
|
388
|
+
- Post IDs are returned on successful creation
|
|
389
|
+
- Token refresh is handled automatically when tokens expire
|
|
390
|
+
- Organization features require appropriate roles and permissions
|
|
391
|
+
- Analytics data may take time to populate after posting
|
|
392
|
+
- Deleted posts cannot be recovered
|
|
393
|
+
- Edited posts show as "Edited" on LinkedIn
|
|
394
|
+
|
|
395
|
+
## Troubleshooting
|
|
396
|
+
|
|
397
|
+
### "Missing required scope: r_member_social"
|
|
398
|
+
|
|
399
|
+
User needs to reconnect LinkedIn at /profile to grant new permissions. The OAuth scopes were recently expanded to support analytics and advanced features.
|
|
400
|
+
|
|
401
|
+
### "You don't have permission to post as this organization"
|
|
402
|
+
|
|
403
|
+
User must have one of these roles on the organization:
|
|
404
|
+
- ADMINISTRATOR
|
|
405
|
+
- CONTENT_ADMIN
|
|
406
|
+
- DIRECT_SPONSORED_CONTENT_POSTER
|
|
407
|
+
|
|
408
|
+
Ask the organization admin to grant appropriate permissions.
|
|
409
|
+
|
|
410
|
+
### Video upload fails
|
|
411
|
+
|
|
412
|
+
Check:
|
|
413
|
+
1. File format is MP4
|
|
414
|
+
2. File size is between 75KB and 5GB
|
|
415
|
+
3. File path is correct and accessible
|
|
416
|
+
4. Video duration is between 3 seconds and 30 minutes
|
|
417
|
+
|
|
418
|
+
### Connection request fails
|
|
419
|
+
|
|
420
|
+
LinkedIn may throttle connection requests if:
|
|
421
|
+
- Too many requests sent in a short period
|
|
422
|
+
- Recipient has blocked connection requests
|
|
423
|
+
- Account is flagged for suspicious activity
|
|
424
|
+
|
|
425
|
+
Wait before sending more requests and ensure requests are personalized.
|