Skip to main content Skills Marketplace Descubre y explora habilidades de IA creadas por la comunidad.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Copiar promptMostrar detalles del prompt Un comando directo omite el prompt de revisión. Revisa el origen antes de ejecutarlo.
npx skills add https://github.com/Aradotso/marketing-skills --skill marketing-pipeline-share-content-automationEl comando permanece en una sola línea. Desplázate horizontalmente para revisarlo antes de copiarlo.
¿Prefieres una copia local? Descarga los archivos que SkillsMP tiene disponibles ahora.
Descargar Zip Descargando... Ocupaciones relacionadas SOC
Basado en la clasificación ocupacional SOC
name marketing-pipeline-share-content-automation description AI-powered content pipeline that auto-researches, generates scripts, and creates videos with Claude/OpenAI and Remotion triggers ["automate my content creation workflow","generate blog posts from trending topics","create videos from text content automatically","research and write marketing content with AI","build a content automation pipeline","set up AI content generation system","scrape news and generate articles","render videos from blog posts with Remotion"]
Marketing Pipeline Share - AI Content Automation
Skill by ara.so — Marketing Skills collection.
Overview
Marketing Pipeline Share is an all-in-one TypeScript-based content automation system that:
Auto-researches trending topics by crawling news sources (TechCrunch, Twitter, LinkedIn)
Generates content in multiple formats (listicles, POV, case studies) using Claude 3/OpenAI
Renders videos automatically from text using Remotion
Supports multilingual content (English/Vietnamese) with customizable tone
Provides end-to-end pipeline from research to publication
This tool transforms a single keyword into full blog posts, social media content, and video assets.
Installation
git clone https://github.com/pennydinh/marketing-pineline-share.git
cd marketing-pineline-share
npm install
yarn install
.env.example .
cp
env
Required Environment Variables
ANTHROPIC_API_KEY=your_claude_api_key
OPENAI_API_KEY=your_openai_api_key
RAPIDAPI_KEY=your_rapidapi_key
API_BASE_URL=http://localhost:3000
Project Structure marketing-pineline-share/
├── src/
│ ├── app/ # Next.js app router pages
│ ├── components/ # React components
│ ├── lib/
│ │ ├── ai/ # AI integration (Claude, OpenAI)
│ │ ├── scraper/ # Web scraping modules
│ │ ├── content/ # Content generation logic
│ │ └── video/ # Remotion video rendering
│ └── types/ # TypeScript type definitions
├── remotion/ # Video templates
└── public/ # Static assets
Core Features & Usage
1. Research & Content Scraping import { researchTopic } from '@/lib/scraper' ;
async function gatherResearch (keyword : string ) {
const research = await researchTopic ({
keyword,
sources : ['techcrunch' , 'twitter' , 'linkedin' ],
timeframe : '24h' ,
limit : 20
});
return {
articles : research.articles ,
insights : research.insights ,
statistics : research.stats
};
}
2. AI Content Generation import { generateContent } from '@/lib/ai/content-generator' ;
async function createBlogPost (topic : string , research : any ) {
const content = await generateContent ({
provider : 'claude' ,
model : 'claude-3-sonnet-20240229' ,
format : 'blog-post' ,
topic,
research,
language : 'en' ,
tone : 'professional' ,
length : 'medium'
});
return {
title : content.title ,
body : content.body ,
meta : content.metadata ,
images : content.suggestedImages
};
}
3. Multi-Format Content Generation import { ContentPipeline } from '@/lib/content/pipeline' ;
async function generateMultiFormat (keyword : string ) {
const pipeline = new ContentPipeline ({
apiKey : process.env .ANTHROPIC_API_KEY
});
await pipeline.research (keyword);
const outputs = await pipeline.generateAll ({
formats : [
{ type : 'blog-post' , language : 'en' },
{ type : 'blog-post' , language : 'vi' },
{ type : 'social-media' , platform : 'linkedin' },
{ type : 'social-media' , platform : 'twitter' },
{ type : 'video-script' , duration : 60 }
]
});
return outputs;
}
4. Video Generation with Remotion import { renderVideo } from '@/lib/video/renderer' ;
import { bundle } from '@remotion/bundler' ;
import { renderMedia } from '@remotion/renderer' ;
async function createVideoFromPost (post : any ) {
const videoConfig = {
compositionId : 'BlogPostVideo' ,
inputProps : {
title : post.title ,
content : post.body ,
style : 'modern' ,
duration : 90
},
codec : 'h264' ,
outputLocation : `./output/${post.slug} .mp4` ,
width : 1080 ,
height : 1920
};
const bundled = await bundle ('./src/remotion/index.ts' );
const result = await renderMedia ({
composition : videoConfig,
serveUrl : bundled,
codec : 'h264' ,
outputLocation : videoConfig.outputLocation
});
return result;
}
API Endpoints If running as a Next.js server:
POST /api/research
{
"keyword" : "AI automation" ,
"sources" : ["techcrunch" , "twitter" ],
"timeframe" : "24h"
}
{
"articles" : [...],
"insights" : [...],
"trending" : true
}
POST /api/generate
{
"topic" : "AI content automation" ,
"format" : "blog-post" ,
"language" : "en" ,
"research" : {...}
}
{
"title" : "How AI is Transforming Content Creation" ,
"body" : "..." ,
"metadata" : {...},
"images" : [...]
}
POST /api/video/render
{
"content" : {...},
"template" : "modern" ,
"aspectRatio" : "9:16"
}
{
"videoUrl" : "https://..." ,
"thumbnail" : "https://..." ,
"duration" : 90
}
Common Patterns
Full Pipeline Example import { ContentAutomation } from '@/lib/automation' ;
async function fullContentPipeline (keyword : string ) {
const automation = new ContentAutomation ({
anthropicKey : process.env .ANTHROPIC_API_KEY ,
openaiKey : process.env .OPENAI_API_KEY ,
rapidApiKey : process.env .RAPIDAPI_KEY
});
console .log ('🔍 Researching topic...' );
const research = await automation.research (keyword);
console .log ('✍️ Generating content...' );
const content = await automation.generate ({
topic : keyword,
research,
formats : ['blog' , 'social' , 'video-script' ]
});
console .log ('🎬 Rendering video...' );
const video = await automation.renderVideo ({
script : content.videoScript ,
style : 'professional'
});
return {
blogPost : content.blog ,
socialPosts : content.social ,
video : video.url ,
publishReady : true
};
}
Scheduled Content Generation import { CronJob } from 'cron' ;
import { ContentAutomation } from '@/lib/automation' ;
const dailyContentJob = new CronJob ('0 9 * * *' , async () => {
const automation = new ContentAutomation ({
anthropicKey : process.env .ANTHROPIC_API_KEY
});
const trendingTopics = await automation.getTrendingTopics ({
category : 'marketing' ,
count : 3
});
for (const topic of trendingTopics) {
const content = await fullContentPipeline (topic);
await automation.publishToQueue (content);
}
});
dailyContentJob.start ();
Custom Content Templates import { ContentGenerator } from '@/lib/ai/content-generator' ;
const generator = new ContentGenerator ({
provider : 'claude' ,
apiKey : process.env .ANTHROPIC_API_KEY
});
const customTemplate = {
name : 'product-launch' ,
structure : [
{ section : 'hook' , prompt : 'Create attention-grabbing opening' },
{ section : 'problem' , prompt : 'Describe pain points' },
{ section : 'solution' , prompt : 'Introduce product benefits' },
{ section : 'features' , prompt : 'List 5 key features' },
{ section : 'cta' , prompt : 'Strong call-to-action' }
],
tone : 'exciting' ,
length : 800
};
const content = await generator.generateFromTemplate (
customTemplate,
{ product : 'AI Content Tool' , audience : 'marketers' }
);
Configuration
Content Generator Config
export const contentConfig = {
ai : {
defaultProvider : 'claude' ,
fallbackProvider : 'openai' ,
maxTokens : 4000 ,
temperature : 0.7
},
research : {
sources : ['techcrunch' , 'twitter' , 'linkedin' , 'producthunt' ],
maxArticles : 20 ,
timeframe : '24h'
},
video : {
defaultDuration : 60 ,
outputFormat : 'mp4' ,
quality : 'high' ,
aspectRatios : {
tiktok : '9:16' ,
youtube : '16:9' ,
instagram : '1:1'
}
}
};
Remotion Video Config
export const videoConfig = {
fps : 30 ,
durationInFrames : 90 * 30 ,
width : 1080 ,
height : 1920 ,
compositions : [
{
id : 'BlogPostVideo' ,
component : BlogPostComposition ,
defaultProps : {
theme : 'dark' ,
animation : 'smooth'
}
}
]
};
Troubleshooting
API Rate Limits
import { retry } from '@/lib/utils/retry' ;
const content = await retry (
() => generateContent ({ topic, research }),
{ maxAttempts : 3 , delayMs : 1000 }
);
Video Rendering Errors
npm install -g @remotion/cli
npx remotion versions
rm -rf .remotion
Research Scraping Issues
try {
const research = await researchTopic (keyword);
} catch (error) {
console .warn ('Scraping failed, using fallback' );
const fallback = await getFallbackResearch (keyword);
}
Memory Issues with Large Content
async function processLargeDataset (items : any [] ) {
const chunkSize = 10 ;
const results = [];
for (let i = 0 ; i < items.length ; i += chunkSize) {
const chunk = items.slice (i, i + chunkSize);
const processed = await Promise .all (
chunk.map (item => generateContent (item))
);
results.push (...processed);
}
return results;
}
Running the Project
npm run dev
npm run build
npm start
npx remotion render BlogPostVideo output.mp4 --props='{"title":"My Post"}'
Best Practices
Cache research data to avoid redundant API calls
Use queue systems (Bull, BullMQ) for video rendering
Implement webhooks for async video completion notifications
Store generated content in database for reuse
Monitor API usage to stay within rate limits
Version control templates for consistent output quality
This skill enables AI agents to help developers build complete content automation workflows with research, generation, and video production capabilities.