Add comprehensive release planning documentation: - V3_RELEASE_MASTER_PLAN.md - Complete 4-week campaign strategy - V3_RELEASE_SUMMARY.md - Quick reference summary - WEBSITE_HANDOFF_V3.md - Website update instructions for other Kimi - RELEASE_PLAN.md, RELEASE_CONTENT_CHECKLIST.md, RELEASE_EXECUTIVE_SUMMARY.md - QA_FIXES_SUMMARY.md - QA fixes documentation
16 KiB
🌐 Website Handoff: v3.0.0 Updates
For: Kimi instance working on skillseekersweb
Repository: /mnt/1ece809a-2821-4f10-aecb-fcdf34760c0b/Git/skillseekersweb
Deadline: Week 1 of release (Feb 9-15, 2026)
🎯 Mission
Update the Skill Seekers website for v3.0.0 "Universal Intelligence Platform" release.
Key Deliverables:
- ✅ Blog section (new)
- ✅ 4 blog posts
- ✅ Homepage v3.0.0 updates
- ✅ New integration guides
- ✅ v3.0.0 changelog
- ✅ RSS feed
- ✅ Deploy to Vercel
📁 Repository Structure
/mnt/1ece809a-2821-4f10-aecb-fcdf34760c0b/Git/skillseekersweb/
├── src/
│ ├── content/
│ │ ├── docs/ # Existing docs
│ │ └── blog/ # NEW - Create this
│ ├── pages/
│ │ ├── index.astro # Homepage - UPDATE
│ │ ├── blog/ # NEW - Create this
│ │ │ ├── index.astro # Blog listing
│ │ │ └── [...slug].astro # Blog post page
│ │ └── rss.xml.ts # NEW - RSS feed
│ ├── components/
│ │ └── astro/
│ │ └── blog/ # NEW - Blog components
│ └── layouts/ # Existing layouts
├── public/ # Static assets
└── astro.config.mjs # Astro config
📝 Task 1: Create Blog Section
Step 1.1: Create Content Collection
File: src/content/blog/_schema.ts
import { defineCollection, z } from 'astro:content';
const blogCollection = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
description: z.string(),
pubDate: z.coerce.date(),
author: z.string().default('Skill Seekers Team'),
authorTwitter: z.string().optional(),
tags: z.array(z.string()).default([]),
image: z.string().optional(),
draft: z.boolean().default(false),
featured: z.boolean().default(false),
}),
});
export const collections = {
'blog': blogCollection,
};
File: src/content/config.ts (Update existing)
import { defineCollection, z } from 'astro:content';
// Existing docs collection
const docsCollection = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
description: z.string(),
section: z.string(),
order: z.number().optional(),
}),
});
// NEW: Blog collection
const blogCollection = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
description: z.string(),
pubDate: z.coerce.date(),
author: z.string().default('Skill Seekers Team'),
authorTwitter: z.string().optional(),
tags: z.array(z.string()).default([]),
image: z.string().optional(),
draft: z.boolean().default(false),
featured: z.boolean().default(false),
}),
});
export const collections = {
'docs': docsCollection,
'blog': blogCollection,
};
Step 1.2: Create Blog Posts
Post 1: v3.0.0 Release Announcement
File: src/content/blog/2026-02-10-v3-0-0-release.md
---
title: "Skill Seekers v3.0.0: The Universal Intelligence Platform"
description: "Transform any documentation into structured knowledge for any AI system. 16 output formats. 1,852 tests. One tool for LangChain, LlamaIndex, Cursor, Claude, and more."
pubDate: 2026-02-10
author: "Skill Seekers Team"
authorTwitter: "@skillseekers"
tags: ["v3.0.0", "release", "langchain", "llamaindex", "cursor", "claude"]
image: "/images/blog/v3-release-banner.png"
featured: true
---
# Skill Seekers v3.0.0: The Universal Intelligence Platform
## TL;DR
- 🚀 **16 output formats** (was 4 in v2.x)
- 🛠️ **26 MCP tools** (was 9)
- ✅ **1,852 tests** passing (was 700+)
- ☁️ **Cloud storage** support (S3, GCS, Azure)
- 🔄 **CI/CD ready** (GitHub Action + Docker)
```bash
pip install skill-seekers
skill-seekers scrape --config react.json
The Problem We're Solving
Every AI project needs documentation:
- RAG pipelines: "Scrape these docs, chunk them, embed them..."
- AI coding tools: "I wish Cursor knew this framework..."
- Claude skills: "Convert this documentation into a skill"
Everyone rebuilds the same scraping infrastructure. Stop rebuilding. Start using.
The Solution: Universal Preprocessor
Skill Seekers v3.0.0 transforms any documentation into structured knowledge for any AI system:
For RAG Pipelines
# LangChain
skill-seekers scrape --format langchain --config react.json
# LlamaIndex
skill-seekers scrape --format llama-index --config vue.json
# Pinecone-ready
skill-seekers scrape --target markdown --config django.json
For AI Coding Assistants
# Cursor
skill-seekers scrape --target claude --config react.json
cp output/react-claude/.cursorrules ./
# Windsurf, Cline, Continue.dev - same process
For Claude AI
skill-seekers install --config react.json
# Auto-fetches, scrapes, enhances, packages, uploads
What's New in v3.0.0
16 Platform Adaptors
| Category | Platforms | Command |
|---|---|---|
| RAG/Vectors | LangChain, LlamaIndex, Chroma, FAISS, Haystack, Qdrant, Weaviate | --format <name> |
| AI Platforms | Claude, Gemini, OpenAI | --target <name> |
| AI Coding | Cursor, Windsurf, Cline, Continue.dev | --target claude |
| Generic | Markdown | --target markdown |
26 MCP Tools
Your AI agent can now prepare its own knowledge:
- Config tools (3): generate_config, list_configs, validate_config
- Scraping tools (8): estimate_pages, scrape_docs, scrape_github, scrape_pdf, scrape_codebase, detect_patterns, extract_test_examples, build_how_to_guides
- Packaging tools (4): package_skill, upload_skill, enhance_skill, install_skill
- Source tools (5): fetch_config, submit_config, add/remove_config_source, list_config_sources
- Splitting tools (2): split_config, generate_router
- Vector DB tools (4): export_to_weaviate, export_to_chroma, export_to_faiss, export_to_qdrant
Cloud Storage
Upload skills directly to cloud storage:
# AWS S3
skill-seekers cloud upload output/react/ --provider s3 --bucket my-bucket
# Google Cloud Storage
skill-seekers cloud upload output/react/ --provider gcs --bucket my-bucket
# Azure Blob Storage
skill-seekers cloud upload output/react/ --provider azure --container my-container
CI/CD Ready
GitHub Action:
- uses: skill-seekers/action@v1
with:
config: configs/react.json
format: langchain
Docker:
docker run -v $(pwd):/data skill-seekers:latest scrape --config /data/config.json
Production Quality
- ✅ 1,852 tests across 100 test files
- ✅ 58,512 lines of Python code
- ✅ 80+ documentation files
- ✅ 12 example projects for every integration
Quick Start
# Install
pip install skill-seekers
# Create a config
skill-seekers config --wizard
# Or use a preset
skill-seekers scrape --config configs/react.json
# Package for your platform
skill-seekers package output/react/ --target langchain
Migration from v2.x
v3.0.0 is fully backward compatible. All v2.x configs and commands work unchanged. New features are additive.
Links
Ready to transform your documentation?
pip install skill-seekers
The universal preprocessor for AI systems.
---
**Post 2: RAG Pipeline Tutorial**
**File:** `src/content/blog/2026-02-12-rag-tutorial.md`
```markdown
---
title: "From Documentation to RAG Pipeline in 5 Minutes"
description: "Learn how to scrape React documentation and ingest it into a LangChain + Chroma RAG pipeline with Skill Seekers v3.0.0"
pubDate: 2026-02-12
author: "Skill Seekers Team"
tags: ["tutorial", "rag", "langchain", "chroma", "react"]
image: "/images/blog/rag-tutorial-banner.png"
---
# From Documentation to RAG Pipeline in 5 Minutes
[Full tutorial content with code examples]
Post 3: AI Coding Assistant Guide
File: src/content/blog/2026-02-14-ai-coding-guide.md
---
title: "Give Cursor Complete Framework Knowledge with Skill Seekers"
description: "How to convert any framework documentation into Cursor AI rules for better code completion and understanding"
pubDate: 2026-02-14
author: "Skill Seekers Team"
tags: ["cursor", "ai-coding", "tutorial", "windsurf", "cline"]
image: "/images/blog/ai-coding-banner.png"
---
# Give Cursor Complete Framework Knowledge
[Full guide content]
Post 4: GitHub Action Tutorial
File: src/content/blog/2026-02-16-github-action.md
---
title: "Auto-Generate AI Knowledge on Every Documentation Update"
description: "Set up CI/CD pipelines with Skill Seekers GitHub Action to automatically update your AI skills when docs change"
pubDate: 2026-02-16
author: "Skill Seekers Team"
tags: ["github-actions", "ci-cd", "automation", "devops"]
image: "/images/blog/github-action-banner.png"
---
# Auto-Generate AI Knowledge with GitHub Actions
[Full tutorial content]
🎨 Task 2: Create Blog Pages
Step 2.1: Blog Listing Page
File: src/pages/blog/index.astro
---
import { getCollection } from 'astro:content';
import Layout from '../../layouts/Layout.astro';
import BlogList from '../../components/astro/blog/BlogList.astro';
const posts = await getCollection('blog', ({ data }) => {
return !data.draft;
});
// Sort by date (newest first)
const sortedPosts = posts.sort((a, b) =>
b.data.pubDate.valueOf() - a.data.pubDate.valueOf()
);
// Get featured post
const featuredPost = sortedPosts.find(post => post.data.featured);
const regularPosts = sortedPosts.filter(post => post !== featuredPost);
---
<Layout
title="Blog - Skill Seekers"
description="Latest news, tutorials, and updates from Skill Seekers"
>
<main class="max-w-6xl mx-auto px-4 py-12">
<h1 class="text-4xl font-bold mb-4">Blog</h1>
<p class="text-xl text-gray-600 mb-12">
Latest news, tutorials, and updates from Skill Seekers
</p>
{featuredPost && (
<section class="mb-16">
<h2 class="text-2xl font-semibold mb-6">Featured</h2>
<BlogCard post={featuredPost} featured />
</section>
)}
<section>
<h2 class="text-2xl font-semibold mb-6">All Posts</h2>
<BlogList posts={regularPosts} />
</section>
</main>
</Layout>
Step 2.2: Individual Blog Post Page
File: src/pages/blog/[...slug].astro
---
import { getCollection } from 'astro:content';
import Layout from '../../layouts/Layout.astro';
export async function getStaticPaths() {
const posts = await getCollection('blog');
return posts.map(post => ({
params: { slug: post.slug },
props: { post },
}));
}
const { post } = Astro.props;
const { Content } = await post.render();
---
<Layout
title={post.data.title}
description={post.data.description}
image={post.data.image}
>
<article class="max-w-3xl mx-auto px-4 py-12">
<header class="mb-12">
<div class="flex gap-2 mb-4">
{post.data.tags.map(tag => (
<span class="px-3 py-1 bg-blue-100 text-blue-800 rounded-full text-sm">
{tag}
</span>
))}
</div>
<h1 class="text-4xl font-bold mb-4">{post.data.title}</h1>
<p class="text-xl text-gray-600 mb-6">{post.data.description}</p>
<div class="flex items-center gap-4 text-gray-500">
<span>{post.data.author}</span>
<span>•</span>
<time datetime={post.data.pubDate.toISOString()}>
{post.data.pubDate.toLocaleDateString('en-US', {
year: 'numeric',
month: 'long',
day: 'numeric',
})}
</time>
</div>
</header>
<div class="prose prose-lg max-w-none">
<Content />
</div>
</article>
</Layout>
Step 2.3: Create Blog Components
File: src/components/astro/blog/BlogCard.astro
---
interface Props {
post: any;
featured?: boolean;
}
const { post, featured = false } = Astro.props;
---
<article class={`bg-white rounded-lg shadow-md overflow-hidden ${featured ? 'md:flex' : ''}`}>
{post.data.image && (
<img
src={post.data.image}
alt={post.data.title}
class={`object-cover ${featured ? 'md:w-1/2 h-64 md:h-auto' : 'w-full h-48'}`}
/>
)}
<div class="p-6">
<div class="flex gap-2 mb-3">
{post.data.tags.slice(0, 3).map(tag => (
<span class="px-2 py-1 bg-gray-100 text-gray-700 rounded text-xs">
{tag}
</span>
))}
</div>
<h3 class={`font-bold mb-2 ${featured ? 'text-2xl' : 'text-xl'}`}>
<a href={`/blog/${post.slug}`} class="hover:text-blue-600">
{post.data.title}
</a>
</h3>
<p class="text-gray-600 mb-4 line-clamp-3">{post.data.description}</p>
<div class="flex items-center gap-2 text-sm text-gray-500">
<span>{post.data.author}</span>
<span>•</span>
<time datetime={post.data.pubDate.toISOString()}>
{post.data.pubDate.toLocaleDateString('en-US', {
month: 'short',
day: 'numeric',
year: 'numeric',
})}
</time>
</div>
</div>
</article>
File: src/components/astro/blog/BlogList.astro
---
import BlogCard from './BlogCard.astro';
interface Props {
posts: any[];
}
const { posts } = Astro.props;
---
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
{posts.map(post => (
<BlogCard post={post} />
))}
</div>
📡 Task 3: Create RSS Feed
File: src/pages/rss.xml.ts
import rss from '@astrojs/rss';
import { getCollection } from 'astro:content';
export async function GET(context: any) {
const posts = await getCollection('blog');
return rss({
title: 'Skill Seekers Blog',
description: 'Latest news, tutorials, and updates from Skill Seekers',
site: context.site,
items: posts.map(post => ({
title: post.data.title,
description: post.data.description,
pubDate: post.data.pubDate,
link: `/blog/${post.slug}/`,
})),
});
}
🏠 Task 4: Update Homepage
File: src/pages/index.astro
Key Updates Needed:
-
Hero Section:
- Update tagline to "Universal Documentation Preprocessor"
- Add v3.0.0 badge
- Highlight "16 Output Formats"
-
Features Section:
- Add new platform adaptors (16 total)
- Update MCP tools count (26)
- Add test count (1,852)
-
Add Blog Preview:
- Show latest 3 blog posts
- Link to blog section
-
Add CTA:
- "Get Started with v3.0.0"
- Link to installation docs
📝 Task 5: Update Changelog
File: src/content/docs/community/changelog.md
Add v3.0.0 section at the top (same content as main repo CHANGELOG).
🔗 Task 6: Add Navigation Links
Update site navigation to include:
- Blog link
- New integration guides
- v3.0.0 highlights
🚀 Task 7: Deploy
cd /mnt/1ece809a-2821-4f10-aecb-fcdf34760c0b/Git/skillseekersweb
# Install dependencies
npm install
# Test build
npm run build
# Deploy to Vercel
vercel --prod
📋 Checklist
Content
- 4 blog posts created in
src/content/blog/ - All posts have proper frontmatter
- All posts have images (or placeholder)
Pages
- Blog listing page (
src/pages/blog/index.astro) - Blog post page (
src/pages/blog/[...slug].astro) - RSS feed (
src/pages/rss.xml.ts)
Components
- BlogCard component
- BlogList component
Configuration
- Content collection config updated
- RSS feed configured
Homepage
- Hero updated with v3.0.0 messaging
- Features section updated
- Blog preview added
Navigation
- Blog link added
- New integration guides linked
Testing
- Build passes (
npm run build) - All pages render correctly
- RSS feed works
- Links work
Deployment
- Deployed to Vercel
- Verified live site
- Checked all pages
📞 Questions?
Main Repo: /mnt/1ece809a-2821-4f10-aecb-fcdf34760c0b/Git/Skill_Seekers
Master Plan: See V3_RELEASE_MASTER_PLAN.md in main repo
Content: Blog post content is provided above
Key Resources:
- Examples: Copy from main repo
/examples/ - Integration guides: Copy from main repo
/docs/integrations/ - Images: Create or use placeholders initially
Deadline: End of Week 1 (Feb 15, 2026)
Good luck! 🚀