Use when creating FeatureBase posts, changelog entries, or articles with proper YAML frontmatter templates and API synchronization
Guided content creation with frontmatter templates and API synchronization.
You MUST use TodoWrite to track content creation phases.
Guides creation of FeatureBase content with:
Why this matters: Prevents validation errors, ensures sync compatibility, reduces manual frontmatter writing.
| Content Type | Required Fields | Optional Fields | File Path Pattern |
|---|---|---|---|
| Post | title, boardId | status, tags, upvotes | posts/{slug}.md |
| Changelog | title | publishedAt, tags | changelog/{YYYY-MM-DD}-{slug}.md |
| Article | title, category | slug, publishedAt | help-center/{category}/{slug}.md |
Ask user via AskUserQuestion:
Question: What type of FeatureBase content do you want to create?
Header: Content type
Options:
- Post (Feature request or feedback) - User-facing feedback posts that appear on the public roadmap
- Changelog (Product update) - Release notes and product announcements
- Article (Help documentation) - Knowledge base articles and guides
Selection determines template and required fields.
Required fields:
title - Post title (e.g., "Improve asset discovery speed")boardId - Board identifier (e.g., "board_abc123")Optional fields:
status - Status label (e.g., "in-progress", "planned", "completed")tags - Category tags (array of strings)Ask user via AskUserQuestion:
Question: What should the post title be?
Header: Title
(Free text input)
Question: Which board should this post belong to?
Header: Board
Options:
- Feature Requests (board_features) - New feature ideas
- Bug Reports (board_bugs) - Bug reports and issues
- Improvements (board_improvements) - Enhancement suggestions
Required fields:
title - Changelog entry titleOptional fields:
publishedAt - Publication date (defaults to current date)tags - Category tagsAsk user via AskUserQuestion:
Question: What is the changelog entry title?
Header: Title
(Free text input)
Question: When should this be published?
Header: Publish date
Options:
- Now (today's date) (Recommended)
- Specific date (you'll provide ISO 8601 format)
Required fields:
title - Article titlecategory - Article category (e.g., "getting-started", "troubleshooting")Optional fields:
slug - URL slug (defaults to slugified title)publishedAt - Publication dateAsk user via AskUserQuestion:
Question: What is the article title?
Header: Title
(Free text input)
Question: Which category does this article belong to?
Header: Category
Options:
- Getting Started - Onboarding and basics
- Troubleshooting - Problem-solving guides
- Advanced - In-depth technical guides
- API Documentation - API reference materials
See: Frontmatter Templates for complete template reference.
Quick reference:
title, boardId; optional status, tagstitle; optional publishedAt, tagstitle, category; optional slug, publishedAtNote: featurebaseId is NOT included initially. Added after API creation.
# Pattern: posts/{slug}.md
# Slug: lowercase, hyphenated, no special characters
# Example title: "Improve Asset Discovery Speed"
# Slug: "improve-asset-discovery-speed"
# Path: modules/chariot/docs/featurebase/posts/improve-asset-discovery-speed.md
Slug generation rules:
# Pattern: changelog/{YYYY-MM-DD}-{slug}.md
# Example title: "v2.5 Release - New Scanning Features"
# Date: 2026-01-14
# Slug: "v2-5-release-new-scanning-features"
# Path: modules/chariot/docs/featurebase/changelog/2026-01-14-v2-5-release-new-scanning-features.md
# Pattern: help-center/{category}/{slug}.md
# Example title: "Getting Started with Asset Discovery"
# Category: "getting-started"
# Slug: "getting-started-with-asset-discovery"
# Path: modules/chariot/docs/featurebase/help-center/getting-started/getting-started-with-asset-discovery.md
---
{frontmatter-from-phase-3}
---
# {title}
{content-placeholder}
See: Frontmatter Templates for content placeholder examples.
Ask user via AskUserQuestion:
Question: Would you like to sync this content to FeatureBase now?
Header: Sync
Options:
- Yes, sync to API now (Recommended) - Creates content immediately and updates file with featurebaseId
- No, save locally only - File will sync on next PR merge
For posts:
import { createPost, createFeaturebaseClient } from '.claude/tools/featurebase';
const client = createFeaturebaseClient();
const result = await createPost.execute({
title: frontmatter.title,
boardId: frontmatter.boardId,
status: frontmatter.status,
content: markdownBody,
tags: frontmatter.tags
}, client);
if (result.ok) {
// Update file with returned featurebaseId
const newFrontmatter = {
...frontmatter,
featurebaseId: result.data.id,
createdAt: result.data.createdAt,
updatedAt: result.data.updatedAt
};
// Write updated file
writeFileWithFrontmatter(filePath, newFrontmatter, markdownBody);
console.log(`✅ Post created: ${result.data.id}`);
} else {
console.error(`❌ Failed to create post: ${result.error.message}`);
}
For changelog/articles: Similar pattern using createChangelog or createArticle tools.
File will be synced when:
modules/chariot/docs/featurebase/featurebase-push.yml workflow executesfeaturebaseId is written back to file after creationSee: Validation Rules for complete validation logic.
Quick reference:
board_{alphanumeric} pattern^[a-z0-9-]+$ pattern, 10-80 charactersError: User skips required field (title, boardId)
Fix:
Error: BoardId doesn't exist in FeatureBase
Fix:
list-boards MCP toolError: createPost returns error (network, validation, auth)
Fix:
Error: File path already exists
Fix:
{slug}-{timestamp}.mdContent creation is successful when:
featurebaseId written back to file (if synced)User: "Create a post about improving scan speed"
Workflow:
posts/improve-scan-speed.mdcreatePost MCP toolfeaturebaseIdUser: "Add changelog entry for v2.5 release on January 20th"
Workflow:
changelog/2026-01-20-v2-5-release-new-features.mdUser: "Create a help article about setting up integrations"
Workflow:
help-center/getting-started/setting-up-integrations.mdcreateArticle MCP toolfeaturebaseId/featurebase create command (if created)syncing-featurebase-content pull (to create new content based on API data)| Skill | When | Purpose |
|---|---|---|
using-todowrite | Start | Track multi-phase creation workflow |
| Tool/Skill | Phase | Purpose |
|---|---|---|
| create-post (MCP) | 6 | Sync post to API |
| create-changelog (MCP) | 6 | Sync changelog to API |
| create-article (MCP) | 6 | Sync article to API |
| Skill | Trigger | Purpose |
|---|---|---|
syncing-featurebase-content | After creation | Verify sync or handle conflicts |
troubleshooting-featurebase-sync | Sync failure | Debug API errors |
syncing-featurebase-content - Bidirectional sync workflowtroubleshooting-featurebase-sync - Debug sync failures