{"_id":"@andy-toolforge/seo-generation","_rev":"3-a8443d50ac426b8ed83c6ad0e17cffa3","name":"@andy-toolforge/seo-generation","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@andy-toolforge/seo-generation","version":"1.0.0","_id":"@andy-toolforge/seo-generation@1.0.0","maintainers":[{"name":"andy_pham","email":"phamlehoaian@gmail.com"}],"homepage":"https://github.com/andy-pham-it/toolforge#readme","bugs":{"url":"https://github.com/andy-pham-it/toolforge/issues"},"dist":{"shasum":"39aa96428bcb8861204339ec97f76d7903c55c2f","tarball":"https://registry.npmjs.org/@andy-toolforge/seo-generation/-/seo-generation-1.0.0.tgz","fileCount":16,"integrity":"sha512-6NtwDPg2AilQHWYnKVyV3BKa0srT+0qA63LMKlZl2EJS2PvN+qR6VkStht4WRClhjALPCnaCJQENqTS3kmBuEA==","signatures":[{"sig":"MEUCIGwCJSkwGDyGLtwdAZpCbw+gGuuURlddojXa5Qutyn3kAiEAu/txbpKPTq+RTdRm2BQJK4nji0oHU72VcniJanxjLqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64877},"main":"lib/index.js","scripts":{"test":"node --test lib/*.test.js","postinstall":"node skills/postinstall.js"},"_npmUser":{"name":"andy_pham","email":"phamlehoaian@gmail.com"},"repository":{"url":"git+https://github.com/andy-pham-it/toolforge.git","type":"git"},"_npmVersion":"10.9.4","description":"Toolforge domain: SEO content generation for YouTube, TikTok, blog","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@andy-toolforge/core":"^1.0.0"},"publishConfig":{"registry":"https://npm.pkg.github.com"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/seo-generation_1.0.0_1782900472082_0.6318247181244647","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@andy-toolforge/seo-generation","version":"1.0.1","_id":"@andy-toolforge/seo-generation@1.0.1","maintainers":[{"name":"andy_pham","email":"phamlehoaian@gmail.com"}],"homepage":"https://github.com/andy-pham-it/toolforge#readme","bugs":{"url":"https://github.com/andy-pham-it/toolforge/issues"},"dist":{"shasum":"00c64676c1aeb05933376f04c020f86bb222bdcb","tarball":"https://registry.npmjs.org/@andy-toolforge/seo-generation/-/seo-generation-1.0.1.tgz","fileCount":18,"integrity":"sha512-FYsGdjJO+l1nlDc3Ad2VWdJMwXoU3I5HLIWT6vJsSTZLTkzP0mPYt27R7gO6pJhKtKb7ZBvVYojA6b4jtC3zJQ==","signatures":[{"sig":"MEQCIDtSIw3I9dpAI0Lmyts5c5pTLbs891F0zA1tRdeRL3vEAiAJQH4/3fNM7QOXaXiQaqRKRs/qjY0OScCa5q9u0ti1Jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72651},"main":"lib/index.js","gitHead":"0a96a7db4c347c952b827416f0922a79816369cf","scripts":{"test":"node --test lib/*.test.js","postinstall":"node skills/postinstall.js"},"_npmUser":{"name":"andy_pham","email":"phamlehoaian@gmail.com"},"repository":{"url":"git+https://github.com/andy-pham-it/toolforge.git","type":"git"},"_npmVersion":"10.8.2","description":"Toolforge domain: SEO content generation for YouTube, TikTok, blog","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@andy-toolforge/core":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/seo-generation_1.0.1_1783216853673_0.6830763974424168","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@andy-toolforge/seo-generation","version":"1.0.2","description":"Toolforge domain: SEO content generation for YouTube, TikTok, blog","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/andy-pham-it/toolforge.git"},"scripts":{"postinstall":"node skills/postinstall.js","test":"node --test lib/*.test.js"},"dependencies":{"@andy-toolforge/core":"^1.0.0"},"_id":"@andy-toolforge/seo-generation@1.0.2","gitHead":"13f8dac5f981440ff64e699c165978285c470e1a","bugs":{"url":"https://github.com/andy-pham-it/toolforge/issues"},"homepage":"https://github.com/andy-pham-it/toolforge#readme","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-lk0AyRsw7THpdbh5xXYWgFFraC/yBXxnPHseI3K6Xj1aeyM7CtZjz+swAHlZ5sj71EouoZ84enmXN+vBtPPAWw==","shasum":"4b5df773f3bc7f5ea9796c22ea824c030b52ea8b","tarball":"https://registry.npmjs.org/@andy-toolforge/seo-generation/-/seo-generation-1.0.2.tgz","fileCount":20,"unpackedSize":80755,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCexfHABhBDfagfyLB8Y3XK0re7EkeV8zyXMqr8Bh6VsQIgMpbBc1VYAQzRaeIUtrE9EsLllaA1tQXeW5gCfLUQE/s="}]},"_npmUser":{"name":"andy_pham","email":"phamlehoaian@gmail.com"},"directories":{},"maintainers":[{"name":"andy_pham","email":"phamlehoaian@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/seo-generation_1.0.2_1784305214664_0.27028471600342874"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-01T10:07:51.978Z","modified":"2026-07-17T16:20:14.952Z","1.0.0":"2026-07-01T10:07:52.219Z","1.0.1":"2026-07-05T02:00:53.814Z","1.0.2":"2026-07-17T16:20:14.807Z"},"bugs":{"url":"https://github.com/andy-pham-it/toolforge/issues"},"homepage":"https://github.com/andy-pham-it/toolforge#readme","repository":{"type":"git","url":"git+https://github.com/andy-pham-it/toolforge.git"},"description":"Toolforge domain: SEO content generation for YouTube, TikTok, blog","maintainers":[{"name":"andy_pham","email":"phamlehoaian@gmail.com"}],"readme":"# @andy-toolforge/seo-generation\n\n[![npm](https://img.shields.io/npm/v/@andy-toolforge/seo-generation)](https://npmjs.com/package/@andy-toolforge/seo-generation)\n[![License](https://img.shields.io/npm/l/@andy-toolforge/seo-generation)](https://github.com/andy-pham-it/toolforge)\n\n**Tối ưu SEO content cho YouTube, TikTok, Facebook, blog.** Thuộc hệ sinh thái [toolforge](https://github.com/andy-pham-it/toolforge).\n\nPackage này giúp bạn:\n- Phân tích SEO cho YouTube (title, description, tags, hashtags)\n- Tối ưu TikTok và Facebook content\n- Repurpose content qua các nền tảng (blog → video → social)\n- Publish trực tiếp lên YouTube/TikTok/Facebook qua REST API\n\n## Installation\n\n```bash\nnpm install @andy-toolforge/seo-generation\n```\n\nYêu cầu `@andy-toolforge/core` (tự động cài kèm).\n\n## API Reference\n\n```javascript\nconst {\n    SEOAnalyzer,              // YouTube/TikTok/Facebook SEO analysis\n    ContentArbitrageEngine,   // Repurpose content across platforms\n    MultiPlatformPublisher,   // Publish via REST API\n} = require('@andy-toolforge/seo-generation');\n```\n\n---\n\n### SEOAnalyzer\n\nPhân tích và tối ưu SEO cho từng nền tảng.\n\n**Constructor:** `new SEOAnalyzer(config)`\n\n**Method: `analyzeYouTube(title, description, tags)`**\n\n| Param | Type | Mô tả |\n|-------|------|-------|\n| `title` | string | Video title |\n| `description` | string | Video description |\n| `tags` | string[] | Array of tags |\n\n**Return:** `{ suggestions, checks, score }`\n\nPhân tích:\n- Keyword có xuất hiện trong 2 dòng đầu description không?\n- Độ dài description (200-500 chars tối ưu)\n- Số lượng tags (3-5 tối ưu)\n- Hashtags trong description\n\n**Ví dụ:**\n\n```javascript\nconst { SEOAnalyzer } = require('@andy-toolforge/seo-generation');\n\nconst seo = new SEOAnalyzer();\nconst result = await seo.analyzeYouTube(\n    'Cách làm giàu từ chứng khoán',\n    'Hướng dẫn đầu tư chứng khoán cho người mới...',\n    ['chứng khoán', 'đầu tư', 'làm giàu']\n);\n\nconsole.log(result.suggestions);\n// [\"Include primary keyword in first 2 lines of description\"]\nconsole.log(result.score); // 85/100\n```\n\nTương tự: `analyzeTikTok(content)`, `analyzeFacebook(content)`.\n\n---\n\n### ContentArbitrageEngine\n\nRepurpose content across platforms: tối ưu nội dung cho từng nền tảng.\n\n**Method: `plan(content, sourcePlatform)`**\n\n| Param | Type | Mô tả |\n|-------|------|-------|\n| `content` | string | Original content |\n| `sourcePlatform` | string | Nền tảng gốc (blog, youtube, tiktok) |\n\n**Return:** Platform-specific adaptations (title, description, format)\n\n```javascript\nconst engine = new ContentArbitrageEngine(llm);\nconst plan = await engine.plan('Blog post about AI...', 'blog');\n// → adaptations for YouTube, TikTok, Facebook\n```\n\n---\n\n### MultiPlatformPublisher\n\nPublish content lên YouTube, TikTok, Facebook qua REST API.\n\n```javascript\nconst publisher = new MultiPlatformPublisher({ apiKey: '...' });\nawait publisher.publish('youtube', { title: '...', video: buffer, description: '...' });\n```\n\n---\n\n## MCP Tools\n\nKhi dùng với [@andy-toolforge/mcp](https://npmjs.com/package/@andy-toolforge/mcp):\n\n| Tool | Description |\n|------|-------------|\n| `toolforge_seo_generate` | Generate SEO metadata (title, description, tags, hashtags) cho video/audio |\n\n## Integration\n\n- **+ [@andy-toolforge/footage-generation](https://npmjs.com/package/@andy-toolforge/footage-generation):** Phân tích script → sinh visuals → SEO metadata → publish\n- **+ [@andy-toolforge/content-research](https://npmjs.com/package/@andy-toolforge/content-research):** Research topic → SEO optimization\n\n## Related\n\n- [@andy-toolforge/core](https://npmjs.com/package/@andy-toolforge/core)\n- [@andy-toolforge/footage-generation](https://npmjs.com/package/@andy-toolforge/footage-generation)\n- [@andy-toolforge/mcp](https://npmjs.com/package/@andy-toolforge/mcp)\n","readmeFilename":"README.md"}