AI Agent & LLM Integration Skill

Empower LLMs (Claude, Cursor, Antigravity, ChatGPT, Copilot) to automatically integrate and query your headless blog API.

Enable AI coding agents (Claude, Cursor, Antigravity, Windsurf, Copilot) to automatically write integration code, query articles, manage taxonomy, and publish posts using our official AI Blogr Agent Skill.

Using the Skill in AI Coding Assistants

1. Antigravity & Agent Workspaces

Place the skill at .agents/skills/aiblogs-headless-cms/SKILL.md in your workspace root. The agent will automatically discover and load the skill when working with your headless blog.

2. Cursor / Windsurf / Claude Code

Add the prompt rule to your .cursorrules, .cursor/rules/aiblogs.mdc, or CLAUDE.md:

You are integrating the AI Blogs Headless CMS into this project.
- Base URL: https://aiblogr.app/api/v1/public
- Auth Header: X-API-Key: process.env.AIBLOGS_API_KEY
- Endpoints:
  * GET /api/v1/public/posts (Supports limit, cursor, category, tag, q, featured)
  * GET /api/v1/public/posts/:slug (Returns full article, author, SEO metadata, and JSON-LD schema)
  * GET /api/v1/public/categories & GET /api/v1/public/tags
  * GET /api/v1/public/sitemap
  * POST /api/v1/public/subscribe
- Always inject post.seo.jsonLd as structured Schema.org BlogPosting data in the page <head>.

Complete Zero-Dependency Client Example

export class AiBlogsClient {
  constructor(private apiKey: string, private baseUrl = "https://aiblogr.app") {}

  async getPosts(params: { limit?: number; category?: string; tag?: string; q?: string } = {}) {
    const qs = new URLSearchParams(params as any).toString();
    const res = await fetch(`${this.baseUrl}/api/v1/public/posts?${qs}`, {
      headers: { "X-API-Key": this.apiKey },
      next: { revalidate: 3600 },
    });
    const json = await res.json();
    return json.data.posts;
  }

  async getPostBySlug(slug: string) {
    const res = await fetch(`${this.baseUrl}/api/v1/public/posts/${encodeURIComponent(slug)}`, {
      headers: { "X-API-Key": this.apiKey },
      next: { revalidate: 3600 },
    });
    const json = await res.json();
    return json.data?.post ?? null;
  }
}
Chat with us