šØāš³ Content Cookbook
Ready-to-use recipes for common content curation workflows using curate.fun plugins ā”
š Introductionā
This cookbook provides tested plugin combinations ("recipes") that you can copy and adapt for your own curation needs. Each recipe includes:
- A description of what the workflow accomplishes
- The complete configuration code
- Explanations of key components
- Tips for customization
š§© Recipe Structureā
Most recipes follow this general pattern:
- Source Data: The original content from platforms like Twitter
- Data Mapping: Extracting and structuring relevant information
- Content Enhancement: Improving content with AI or other transformations
- Channel Formatting: Preparing content for specific platforms
- Distribution: Sending the formatted content to destination channels
The workflow follows a linear path: Source Data ā Data Mapping ā Content Enhancement ā Channel Formatting ā Distribution
š„ Popular Recipesā
AI-Enhanced News Flashā
This recipe takes tweets and transforms them into professional news flashes with AI-generated titles and summaries.
"transform": [
  {
    "plugin": "@curatedotfun/object-transform",
    "config": {
      "mappings": {
        "source": "https://x.com/{{username}}/status/{{tweetId}}",
        "content": "{{content}}",
        "author": "{{username}}",
        "notes": "{{curator.notes}}",
        "submittedAt": "{{submittedAt}}"
      }
    }
  },
  {
    "plugin": "@curatedotfun/ai-transform",
    "config": {
      "prompt": "Summarize the content into a concise news flash, incorporating relevant details from the curator's notes. Maintain a neutral, third-person tone.",
      "apiKey": "{OPENROUTER_API_KEY}",
      "schema": {
        "title": {
          "type": "string",
          "description": "Title derived from summary of content"
        },
        "summary": {
          "type": "string",
          "description": "Summary of content influenced by curator notes"
        }
      }
    }
  }
],
"distribute": [
  {
    "transform": [
      {
        "plugin": "@curatedotfun/simple-transform",
        "config": {
          "template": "š· {{feedName}}: *{{title}}*\n\n{{summary}}\n\nš¤ Source [@{{author}}](https://x.com/{{author}})_\nš [Read More](<{{source}}>)"
        }
      }
    ],
    "plugin": "@curatedotfun/telegram",
    "config": {
      "botToken": "{TELEGRAM_BOT_TOKEN}",
      "channelId": "@your_channel"
    }
  }
]
Key Components:
- Object Transform: Maps tweet data into a structured format
- AI Transform: Generates a title and summary using AI
- Simple Transform: Formats the content for Telegram with emojis and markdown
- Telegram Distribution: Sends the formatted content to a Telegram channel
Customization Tips:
- Adjust the AI prompt to match your content style
- Modify the template to include different emojis or formatting
- Add additional distribution channels with their own formatting
Multi-Platform Distributionā
This recipe distributes the same content to multiple platforms with platform-specific formatting.
"distribute": [
  {
    "transform": [
      {
        "plugin": "@curatedotfun/simple-transform",
        "config": {
          "template": "š¢ {{feedName}}: *{{title}}*\n\n{{summary}}\n\nš¤ Source [@{{author}}](https://x.com/{{author}})_\nš [Read More](<{{source}}>)"
        }
      }
    ],
    "plugin": "@curatedotfun/telegram",
    "config": {
      "botToken": "{TELEGRAM_BOT_TOKEN}",
      "channelId": "-1001941128087",
      "messageThreadId": "11535"
    }
  },
  {
    "transform": [
      {
        "plugin": "@curatedotfun/simple-transform",
        "config": {
          "template": "š¢ {{feedName}}: *{{title}}*\n\n{{summary}}\n\nš¤ Source [@{{author}}](https://x.com/{{author}})_\nš [Read More](<{{source}}>)"
        }
      }
    ],
    "plugin": "@curatedotfun/near-social",
    "config": {
      "accountId": "your-account.near",
      "privateKey": "{NEAR_PRIVATE_KEY}",
      "networkId": "mainnet"
    }
  },
  {
    "transform": [
      {
        "plugin": "@curatedotfun/object-transform",
        "config": {
          "mappings": {
            "title": "{{title}}",
            "content": "<h2>{{title}}</h2><p>{{summary}}</p>",
            "description": "{{summary}}",
            "link": "{{source}}",
            "publishedAt": "{{createdAt}}",
            "author": {
              "name": "{{username}}",
              "link": "https://x.com/{{author}}"
            },
            "categories": ["{{feedName}}", "{{tags}}"],
            "source": {
              "url": "{{source}}",
              "title": "twitter"
            }
          }
        }
      }
    ],
    "plugin": "@curatedotfun/rss",
    "config": {
      "serviceUrl": "http://localhost:4001",
      "apiSecret": "{API_SECRET}"
    }
  }
]
Key Components:
- Simple Transform: Creates human-readable content for social platforms
- Object Transform: Maps data to RSS-specific format
- Multiple Distribution Plugins: Sends to Telegram, NEAR Social, and RSS
Customization Tips:
- Add or remove distribution channels as needed
- Customize each channel's formatting independently
- Use different templates for different platforms
Notion Database Integrationā
This recipe sends curated content to a Notion database with structured properties.
"distribute": [
  {
    "transform": [
      {
        "plugin": "@curatedotfun/object-transform",
        "config": {
          "mappings": {
            "tweetId": "{{title}}",
            "userId": "{{source}}",
            "submittedAt": "{{submittedAt}}"
          }
        }
      }
    ],
    "plugin": "@curatedotfun/notion",
    "config": {
      "token": "{NOTION_TOKEN}",
      "databaseId": "your-database-id",
      "aiToken": "{OPENROUTER_API_KEY}"
    }
  }
]
Key Components:
- Object Transform: Maps content to Notion database properties
- Notion Plugin: Integrates with a Notion database
Customization Tips:
- Adjust mappings to match your Notion database structure
- Add additional properties like tags, categories, or status
š Transformation Chainsā
Two-Step AI Processingā
This recipe shows how to chain multiple AI transformations for more sophisticated content processing.
"transform": [
  {
    "plugin": "@curatedotfun/object-transform",
    "config": {
      "mappings": {
        "rawContent": "{{content}}",
        "curatorNotes": "{{curator.notes}}"
      }
    }
  },
  {
    "plugin": "@curatedotfun/ai-transform",
    "config": {
      "prompt": "Extract the key facts from this content.",
      "apiKey": "{OPENROUTER_API_KEY}",
      "schema": {
        "keyFacts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of key facts from the content"
        }
      }
    }
  },
  {
    "plugin": "@curatedotfun/ai-transform",
    "config": {
      "prompt": "Create a news article based on these key facts and curator notes.",
      "apiKey": "{OPENROUTER_API_KEY}",
      "schema": {
        "title": {
          "type": "string",
          "description": "Article title"
        },
        "article": {
          "type": "string",
          "description": "Full article text"
        }
      }
    }
  }
]
Key Components:
- Initial Data Mapping: Prepares raw content
- First AI Pass: Extracts key facts
- Second AI Pass: Creates a complete article
Customization Tips:
- Adjust prompts for different content types
- Modify the schema to extract different information
- Add more transformation steps for complex workflows
š Feed-Specific Recipesā
Crypto News Feedā
This recipe is optimized for cryptocurrency news curation.
"transform": [
  {
    "plugin": "@curatedotfun/object-transform",
    "config": {
      "mappings": {
        "source": "https://x.com/{{username}}/status/{{tweetId}}",
        "content": "{{content}}",
        "author": "{{username}}",
        "notes": "{{curator.notes}}",
        "submittedAt": "{{submittedAt}}"
      }
    }
  },
  {
    "plugin": "@curatedotfun/ai-transform",
    "config": {
      "prompt": "Summarize this cryptocurrency news into a concise update. Include any price information, project developments, or market trends mentioned.",
      "apiKey": "{OPENROUTER_API_KEY}",
      "schema": {
        "title": {
          "type": "string",
          "description": "Title derived from summary of content"
        },
        "summary": {
          "type": "string",
          "description": "Summary of content influenced by curator notes"
        }
      }
    }
  }
],
"distribute": [
  {
    "transform": [
      {
        "plugin": "@curatedotfun/simple-transform",
        "config": {
          "template": "š° Crypto: *{{title}}*\n\n{{summary}}\n\nš¤ Source [@{{author}}](https://x.com/{{author}})_\nš [Read More](<{{source}}>)"
        }
      }
    ],
    "plugin": "@curatedotfun/telegram",
    "config": {
      "botToken": "{TELEGRAM_BOT_TOKEN}",
      "channelId": "@cryptonews"
    }
  }
]
Tech Updates Feedā
This recipe is designed for technology news and updates.
"transform": [
  {
    "plugin": "@curatedotfun/object-transform",
    "config": {
      "mappings": {
        "source": "https://x.com/{{username}}/status/{{tweetId}}",
        "content": "{{content}}",
        "author": "{{username}}",
        "notes": "{{curator.notes}}",
        "submittedAt": "{{submittedAt}}"
      }
    }
  },
  {
    "plugin": "@curatedotfun/ai-transform",
    "config": {
      "prompt": "Summarize this technology news into a concise update. Focus on innovations, product launches, or industry trends.",
      "apiKey": "{OPENROUTER_API_KEY}",
      "schema": {
        "title": {
          "type": "string",
          "description": "Title derived from summary of content"
        },
        "summary": {
          "type": "string",
          "description": "Summary of content influenced by curator notes"
        }
      }
    }
  }
],
"distribute": [
  {
    "transform": [
      {
        "plugin": "@curatedotfun/simple-transform",
        "config": {
          "template": "š¤ Tech: *{{title}}*\n\n{{summary}}\n\nš¤ Source [@{{author}}](https://x.com/{{author}})_\nš [Read More](<{{source}}>)"
        }
      }
    ],
    "plugin": "@curatedotfun/telegram",
    "config": {
      "botToken": "{TELEGRAM_BOT_TOKEN}",
      "channelId": "@technews"
    }
  }
]
š Scheduled Content Recipesā
Daily Recapā
This recipe generates a daily summary of all curated content.
"outputs": {
  "recap": {
    "enabled": true,
    "schedule": "0 18 * * *", // Daily at 6 PM
    "transform": [
      {
        "plugin": "@curatedotfun/ai-transform",
        "config": {
          "prompt": "Create a summary of today's top content, organizing it by topic and highlighting the most important developments.",
          "apiKey": "{OPENROUTER_API_KEY}",
          "schema": {
            "title": {
              "type": "string",
              "description": "Recap title"
            },
            "summary": {
              "type": "string",
              "description": "Full recap text"
            }
          }
        }
      }
    ],
    "distribute": [
      {
        "transform": [
          {
            "plugin": "@curatedotfun/simple-transform",
            "config": {
              "template": "š
 Daily Recap: *{{title}}*\n\n{{summary}}"
            }
          }
        ],
        "plugin": "@curatedotfun/telegram",
        "config": {
          "botToken": "{TELEGRAM_BOT_TOKEN}",
          "channelId": "@your_channel"
        }
      }
    ]
  }
}
š§ Advanced Techniquesā
Conditional Transformationsā
While curate.fun doesn't directly support conditional logic, you can achieve similar results by using the AI transform plugin with specific prompts:
"plugin": "@curatedotfun/ai-transform",
"config": {
  "prompt": "If the content mentions a product launch, focus on the product features. If it mentions funding, focus on the investment details. Otherwise, provide a general summary.",
  "apiKey": "{OPENROUTER_API_KEY}"
}
Content Categorizationā
Use AI to automatically categorize content:
"plugin": "@curatedotfun/ai-transform",
"config": {
  "prompt": "Analyze this content and categorize it.",
  "apiKey": "{OPENROUTER_API_KEY}",
  "schema": {
    "category": {
      "type": "string",
      "enum": ["News", "Tutorial", "Opinion", "Announcement", "Other"],
      "description": "Content category"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Relevant tags"
    }
  }
}
š Contributing Recipesā
Have a great recipe to share? We'd love to add it to the cookbook! Submit your recipes to the curate.fun GitHub repository.