forkfeed-mcp 1.0.13 → 1.0.15

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.
@@ -205,11 +205,52 @@ Always call **forkfeed_status** before generating content. It lists published fe
205
205
  - **Existing commit**: Warn the user that this commit already has a feed. Only regenerate if they confirm. The old cards will be replaced.
206
206
  - **One commit per run**: Never process multiple commits at once. If the user wants more, they run the command again.
207
207
 
208
+ ### Parallel card generation
209
+
210
+ Generate all 8 cards simultaneously using the Agent tool. This is critical for speed.
211
+
212
+ **Planning phase** (main context, before launching agents):
213
+ 1. Assign images upfront: pick 8 unique covers (img*), 8 unique backgrounds (bg*), and split the remaining scene images into 8 non-overlapping pools for inline CONTENT_IMAGE use per card.
214
+ 2. Pre-generate 8 card UUIDs (use \`crypto.randomUUID()\` inline or a single node command).
215
+ 3. Output the skeleton (fork, feed, image assignments, UUIDs) so it's visible.
216
+
217
+ **Agent prompts** (launch ALL 8 in a single message):
218
+ Each agent generates exactly one card. The agent prompt must include:
219
+ - Card number and section name (e.g., "Card 1: The roast")
220
+ - The section rules from this guide: variant count range, block pattern, tone
221
+ - The full commit diff and stats
222
+ - Assigned cover imageSrc (img*), backgroundSrc (bg*), and the pool of available inline images for this card
223
+ - The card UUID (\`_id\`) and feed ID (\`feedId\`)
224
+ - "Return ONLY the raw JSON card object, no markdown, no explanation. Do NOT use any tools, scripts, or commands - just output the JSON directly."
225
+
226
+ Example agent prompt structure:
227
+ \`\`\`
228
+ Generate Card 2 (Commit message, decoded) for forkfeed.
229
+
230
+ Card JSON structure: { "_id": "{uuid}", "feedId": "{feedId}", "order": 2, "variants": [...] }
231
+
232
+ Rules: 2-4 detail variants. Pattern: SOCIAL -> TITLE -> TEXT -> optional CODE. Escalating absurdity.
233
+ Personas: "What you meant" (source: "x"), "Corporate speak" (source: "linkedin").
234
+
235
+ Cover: { "type": "FULL_IMAGE", "imageSrc": "{assigned-cover}", "title": "...", "subtitle": "..." }
236
+ Background for all CONTENT variants: "{assigned-bg}"
237
+ Available inline images: {pool}
238
+
239
+ Commit diff:
240
+ {diff}
241
+
242
+ Return ONLY the JSON object. No markdown fences, no explanation.
243
+ Do NOT use any tools, scripts, or commands. Just output the JSON directly as text.
244
+ \`\`\`
245
+
246
+ **Assembly** (main context, after agents complete):
247
+ Collect 8 card JSONs, combine with fork and feed into the manifest, validate against the checklist, and push.
248
+
208
249
  ---
209
250
 
210
251
  ## Phase 4: Push
211
252
 
212
- After generating the manifest JSON, call the **forkfeed_push** tool with it:
253
+ After assembling the manifest, call the **forkfeed_push** tool with it:
213
254
  \`\`\`
214
255
  forkfeed_push({ manifest: { forks: [...], feeds: [...], cards: [...] } })
215
256
  \`\`\`
package/dist/index.js CHANGED
@@ -327,17 +327,26 @@ server.prompt('forkfeed', 'Turn GitHub commits into swipeable forkfeed content.
327
327
  type: 'text',
328
328
  text: `Turn the commits in this repo into forkfeed content. Follow these steps exactly:
329
329
 
330
- 1. Call **forkfeed_guide** to get the full content generation guide. Read it carefully.
331
- 2. Call **forkfeed_images** to get the IT Scenes image catalog (200 scenes + 30 backgrounds).
332
- 3. Call **forkfeed_status** to check for existing content. Note which feeds (commits) are already published.
333
- 4. Detect the current repo from the working directory. Use git to get commit data.
334
- 5. Ask which ONE commit to process (default: latest). Only one commit at a time, never more. Do NOT ask about image style (always use IT Scenes). Show a table of recent commits with a column indicating whether each already has a published feed (match the 7-char SHA from forkfeed_status feed IDs against the commit SHAs). If the user selects a commit that already has a feed, warn and ask for confirmation before regenerating.
335
- 6. Fetch the diff, analyze it, and generate the 8-card manifest following the guide exactly. Include ALL existing feed IDs in the fork's feedIds array (see "Incremental updates" in the guide).
336
- 7. Match images from the catalog to card content by tags and semantic similarity.
337
- 8. Validate the manifest against the checklist in the guide.
338
- 9. Call **forkfeed_push** with the complete manifest to publish it.
330
+ 1. Call **forkfeed_guide** and **forkfeed_images** in parallel to load the content guide and image catalog.
331
+ 2. Call **forkfeed_status** to check for existing content.
332
+ 3. Detect the repo from the working directory. Show recent commits in a table with a column indicating whether each already has a published feed (match 7-char SHA from status feed IDs). Ask which ONE commit to process (default: latest). One commit at a time, never more. Do NOT ask about image style.
333
+ 4. Fetch the commit diff and stats via git.
334
+ 5. Plan the manifest skeleton (output this before generating cards):
335
+ - Fork: ID, title, description, imageSrc
336
+ - Feed: ID, title, description, imageSrc, mode: "sequential", scrollDirection: "vertical", engagement: true
337
+ - Assign 8 unique cover images (img*) and 8 unique backgrounds (bg*) to cards 0-7
338
+ - Pre-generate 8 card UUIDs
339
+ - Split remaining scene images into 8 non-overlapping pools for inline CONTENT_IMAGE use
340
+ - Include ALL existing feed IDs in the fork's feedIds array (see "Incremental updates" in guide)
341
+ 6. Generate all 8 cards IN PARALLEL using the Agent tool. Launch ALL 8 agents in a SINGLE message.
342
+ Each agent prompt must include: the card number, section type and rules (from the guide), the full commit diff, assigned cover/background/inline images, the card UUID, and the feed ID.
343
+ Each agent must return ONLY the raw card JSON object: { "_id": "...", "feedId": "...", "order": N, "variants": [...] }
344
+ Tell each agent: "Do NOT use any tools, scripts, or commands. Just output the JSON directly as text."
345
+ See "Parallel card generation" in the guide for details.
346
+ 7. Assemble the full manifest from the skeleton + 8 card JSON results. Validate against the checklist.
347
+ 8. Call **forkfeed_push** with the complete manifest.
339
348
 
340
- Start now. Detect the repo and check for existing content.`,
349
+ Start now. Load the guide and images in parallel, then detect the repo.`,
341
350
  },
342
351
  },
343
352
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forkfeed-mcp",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "description": "MCP server for pushing GitHub commits to forkfeed",
5
5
  "type": "module",
6
6
  "bin": {