Content lifecycle management. Config: services/content/config.yaml
Help:
{ "command": "core playbooks show domain_content-management" }viasystemprompt_helpRequires: Active session -> See Session
Configure Content Source
Edit services/content/config.yaml:
content:
sources:
- name: blog
path: services/content/blog
url_pattern: /blog/{slug}
template: blog-post
enabled: true
categories:
- name: tutorials
slug: tutorials
description: "Step-by-step guides"
- name: announcements
slug: announcements
description: "Product updates"
sitemap:
enabled: true
changefreq: weekly
priority: 0.8
rss:
enabled: true
title: "Blog RSS Feed"
description: "Latest posts"
max_items: 20
- name: documentation
path: services/content/documentation
url_pattern: /documentation/{category}/{slug}
template: documentation
enabled: true
sitemap:
enabled: true
changefreq: monthly
priority: 0.9
Create Content
Step 1: Create markdown file with frontmatter:
---
title: "My First Blog Post"
description: "An introduction to SystemPrompt"
slug: "my-first-post"
kind: "blog"
public: true
tags: ["introduction", "tutorial"]
published_at: "2026-02-01"
---
# My First Blog Post
Welcome to SystemPrompt!
## What You'll Learn
- How to create content
- How to publish it
Required frontmatter:
| Field | Type | Required |
|---|---|---|
title |
string | Yes |
description |
string | Yes |
slug |
string | Yes |
kind |
string | Yes |
public |
boolean | Yes |
published_at |
date | Yes |
author |
string | No |
tags |
array | No |
Publish Content
Step 1: Sync to database
{ "command": "cloud sync local content --direction to-db -y" }
Step 2: Run publish job
{ "command": "infra jobs run publish_pipeline" }
Step 3: Verify
{ "command": "core content list --source blog" } { "command": "core content show blog/my-first-post" }
Configure Categories
sources:
- name: blog
categories:
- name: tutorials
slug: tutorials
description: "Step-by-step guides"
order: 1
- name: announcements
slug: announcements
description: "Product updates"
order: 2
Assign content:
---
title: "My Tutorial"
category: tutorials
---
{ "command": "core content list --source blog --category tutorials" }
Configure Sitemap
sources:
- name: blog
sitemap:
enabled: true
changefreq: weekly
priority: 0.8
Changefreq options: always, hourly, daily, weekly, monthly, yearly, never
{ "command": "infra jobs run publish_pipeline" }
Configure RSS
sources:
- name: blog
rss:
enabled: true
title: "Blog Feed"
description: "Latest posts"
max_items: 20
language: "en"
{ "command": "infra jobs run publish_pipeline" }
Search Content
{ "command": "core content search "getting started"" } { "command": "core content search "tutorial" --source blog" }
Validate Content
{ "command": "core content validate" }
Troubleshooting
- Content missing:
{ "command": "cloud sync local content --direction to-db -y" },{ "command": "infra jobs run publish_pipeline" } - Sitemap not updating:
{ "command": "infra jobs run publish_pipeline" } - Search broken:
{ "command": "infra jobs run publish_pipeline" }
Quick Reference
| Task | Command |
|---|---|
| List | core content list |
| Show | core content show <source>/<slug> |
| Search | core content search "query" |
| Sync | cloud sync local content --direction to-db -y |
| Publish | infra jobs run publish_pipeline |
| Validate | core content validate |
Related
-> See Content Troubleshooting -> See Content Service