用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/boringdata/kurt-demo --skill cms-interaction命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | cms-interaction |
| description | Configure CMS connections and perform ad-hoc content searches (Sanity, Contentful, WordPress) |
Purpose: Ad-hoc CMS configuration and operations Subskills: onboard, search, publish Supported CMSs: Sanity (full support), Contentful (coming soon), WordPress (coming soon)
This skill provides ad-hoc CMS operations using kurt cms CLI commands:
For systematic content mapping and fetching, use the unified core workflow:
kurt map cms --platform sanity --instance prod --cluster-urls (discovery + clustering)kurt fetch --include "sanity/prod/*" (download + index)This workflow integrates CMS content with web content using the same commands. See project-management-skill (gather-sources subskill) for full orchestration.
This skill is a thin orchestration layer over kurt CLI commands:
User Request → Skill (routing) → kurt cms command → CMS API
All CMS logic lives in kurt-core:
src/kurt/commands/cms.py - CLI commandssrc/kurt/cms/sanity/adapter.py - Sanity implementationsrc/kurt/cms/config.py - Configuration managementThis skill focuses on:
cms-interaction onboard
Routes to: kurt cms onboard --platform sanity
This guides you through:
.kurt/cms-config.jsonUse during project planning to explore CMS content:
cms-interaction search --query "tutorial" --limit 10
Routes to: kurt cms search --query "tutorial" --limit 10
When to use:
For systematic ingestion, use kurt map cms instead (see project-management-skill).
cms-interaction publish --file draft.md --id <document-id>
Routes to: kurt cms publish --file draft.md --id <document-id>
Pushes completed content back to CMS as draft (never auto-publishes).
If you have an existing Sanity account, here's how to get started:
From your Sanity project dashboard:
productionCreate .kurt/cms-config.json:
{
"sanity": {
"prod": {
"project_id": "your-project-id",
"dataset": "production",
"token": "sk...your-read-token",
"write_token": "sk...your-write-token",
"base_url": "https://yoursite.com"
}
}
}
Note:
.kurt/ directory is already gitignored, so your credentials are safe.From Claude Code:
cms-interaction onboard
This discovers your content types and maps your custom field names.
cms-interaction search --limit 5
Routes to subskills based on first argument:
onboard → subskills/onboard.md → kurt cms onboardsearch → subskills/search.md → kurt cms searchpublish → subskills/publish.md → kurt cms publishEach subskill:
kurt cms commandUse the unified map-then-fetch workflow orchestrated by project-management-skill:
# Discovery + clustering
kurt map cms --platform sanity --instance prod --cluster-urls
# Selective fetching
kurt fetch --include "sanity/prod/*"
kurt fetch --in-cluster "Tutorials"
kurt fetch --with-content-type article
Benefits:
See project-management-skill/subskills/gather-sources.md for full orchestration.
All commands route to kurt cms:
cms-interaction onboard
→ kurt cms onboard --platform sanity
cms-interaction search --query "tutorial" --limit 20
→ kurt cms search --query "tutorial" --limit 20 --platform sanity
kurt cms fetch --id <document-id> --output-dir sources/cms/sanity/
kurt cms types --platform sanity
cms-interaction publish --file draft.md --id <document-id>
→ kurt cms publish --file draft.md --id <document-id> --platform sanity
kurt cms import --source-dir sources/cms/sanity/
After onboarding, .kurt/cms-config.json contains:
{
"sanity": {
"prod": {
"project_id": "abc123",
"dataset": "production",
"token": "sk...",
"write_token": "sk...",
"base_url": "https://yoursite.com",
"content_type_mappings": {
"article": {
"enabled": true,
"content_field": "content_body_portable",
"title_field": "title",
"slug_field": "slug.current",
"description_field": "excerpt",
"inferred_content_type":
Key fields:
slug_field: Used in semantic URLs for clusteringdescription_field: Provides context for topic clusteringinferred_content_type: Auto-assigned from schema name, skips LLM classificationOrchestrates systematic CMS ingestion:
kurt map cms --cluster-urls for discoverykurt fetch --include "sanity/*" for bulk downloadConsumes CMS content:
cms-interaction publish to push back to CMSComplements CMS search:
cms-interaction onboard
.kurt/cms-config.jsonkurt cms types --platform sanitycms-interaction search --limit 20kurt cms typeswrite_token with Editor role to configFor detailed subskill documentation, see subskills/.md files.*