content-type
Use the contentType() factory to define root-level Storyblok components like pages, articles, or settings.
Skill by jimdrury
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jimdrury-content-type
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/content-type
What's inside
- Skill name
content-type- Description
- Use the contentType() factory to define root-level Storyblok components like pages, articles, or settings. Use when creating a new content type or configuring its schema, folder, tags, or preview settings.
- License
- MIT
- Instructions
- 68 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# contentType
A content type is a root-level component representing a top-level entry in Storyblok -- pages, blog posts, settings, etc.
## Import
```ts
import { contentType } from '@jimdrury/storyblok-component-schema';
```
## Parameters
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | `string` | yes | Unique machine name. Lowercase letters and underscores only. |
| `display_name` | `string` | yes | Human-readable label shown in the Storyblok UI. |
| `image` | `string` (URL) | no | Preview image URL for the component picker. |
| `preview_field` | `string` | no | Name of the field used as the preview title in the UI. |
| `folder` | `string` | no | Component group / folder path (e.g. `content`, `layout`). |
| `tags` | `string[]` | no | Internal tags for filtering and block restrictions. |
| `schema` | `FieldType[]` | yes | Array of field definitions. Field names must be unique. |
Returns an object with `is_root: true`.
## Examples
### Minimal
```ts
import { contentType, text } from '@jimdrury/storyblok-component-schema';
export default contentType({
name: 'article',
display_name: 'Article',
schema: [
text({ name: 'title', required: true }),
],
});
```
### Full-featured
```ts
import { contentType, blocks, text, richtext, datetime, option } from '@jimdrury/storyblok-component-schema';
export default contentType({
name: 'page',
display_name: 'Page',
folder: 'content',
preview_field: 'title',
schema: [
text({ name: 'title', required: true }),
richtext({ name: 'body' }),
datetime({ name: 'published_at', disable_time: true }),
option({
name: 'status',
options: [
{ name: 'Draft', value: 'draft' },
{ name: 'Published', value: 'published' },
],
default_value: 'draft',
}),
blocks({ name: 'sections', disallowed_tags: ['layout'] }),
],
});
```From jimdrury/jimdrury-component-schema, MIT.
More from jimdrury/jimdrury-component-schema
- 0.409score
text
jimdrury
Use the text() factory for single-line text input fields like titles, headings, or slugs.
SkillDFreshness: DClaude Code +9 - 0.409score
create-component
jimdrury
Create and configure Storyblok component definitions using the TypeScript schema DSL.
SkillDFreshness: DClaude Code +9 - 0.409score
install
jimdrury
Install and configure @jimdrury/storyblok-component-schema in a project.
SkillDFreshness: DClaude Code +9 - 0.409score
multiasset
jimdrury
Use the multiasset() factory for multiple file/image picker fields like galleries.
SkillDFreshness: DClaude Code +9 - 0.409score
number
jimdrury
Use the number() factory for numeric input fields like prices, ratings, or quantities.
SkillDFreshness: DClaude Code +9 - 0.409score
nestable
jimdrury
Use the nestable() factory to define reusable Storyblok blocks that can be embedded inside other components via blocks() fields.
SkillDFreshness: DClaude Code +9 - 0.408score
datetime
jimdrury
Use the datetime() factory for date and time picker fields.
SkillDFreshness: DClaude Code +9 - 0.408score
markdown
jimdrury
Use the markdown() factory for markdown editor fields.
SkillDFreshness: DClaude Code +9 - 0.408score
richtext
jimdrury
Use the richtext() factory for WYSIWYG rich text editor fields.
SkillDFreshness: DClaude Code +9 - 0.408score
boolean
jimdrury
Use the boolean() factory for toggle/checkbox fields.
SkillDFreshness: DClaude Code +9 - 0.408score
asset
jimdrury
Use the asset() factory for single file/image picker fields.
SkillDFreshness: DClaude Code +9 - 0.406score
blocks
jimdrury
Use the blocks() factory for nested component block fields.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Mar 20, 2026 (7 months ago)
- Last release
- Mar 21, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jimdrury
- 0.409score
multiasset
jimdrury
Use the multiasset() factory for multiple file/image picker fields like galleries.
SkillDFreshness: DClaude Code +9 - 0.409score
number
jimdrury
Use the number() factory for numeric input fields like prices, ratings, or quantities.
SkillDFreshness: DClaude Code +9 - 0.409score
nestable
jimdrury
Use the nestable() factory to define reusable Storyblok blocks that can be embedded inside other components via blocks() fields.
SkillDFreshness: DClaude Code +9 - 0.409score
install
jimdrury
Install and configure @jimdrury/storyblok-component-schema in a project.
SkillDFreshness: DClaude Code +9 - 0.409score
create-component
jimdrury
Create and configure Storyblok component definitions using the TypeScript schema DSL.
SkillDFreshness: DClaude Code +9 - 0.409score
text
jimdrury
Use the text() factory for single-line text input fields like titles, headings, or slugs.
SkillDFreshness: DClaude Code +9
Cite this page
content-type skill. Agent Mart. https://agentmart.dev/skills/jimdrury-content-type (last updated 2026-10-24)