firstspirit-templating

Provide reference guidance for FirstSpirit templating across all template types.

Updated Oct 30, 2025
One-click install
npx skills add https://github.com/rawe/claude-dev-skills --skill firstspirit-templating
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: firstspirit-templating
Source: https://github.com/rawe/claude-dev-skills/tree/main/firstspirit-templating
Command: npx skills add https://github.com/rawe/claude-dev-skills --skill firstspirit-templating

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

FirstSpirit CMS templating has a unique architecture and syntax, making it challenging for developers to quickly grasp concepts like store separation, template types, and specific instructions. This skill centralizes comprehensive knowledge, enabling efficient and accurate template development.

Core Features & Use Cases

  • Comprehensive Knowledge Base: Access detailed documentation on FirstSpirit's six-store architecture, template types (page, section, format, link, script, table, workflow), and core development principles.
  • Syntax & System Object Reference: Understand FirstSpirit's unique template syntax, instructions ($CMS_VALUE, $CMS_IF, $CMS_FOR), expressions, data types, functions (editorId, if), and system objects (#global, #for, #style).
  • Dynamic Forms & Metadata: Learn to create interactive forms using rules, manage metadata inheritance, and configure snippets for rich content previews.
  • Use Case: A developer needs to create a new page template with dynamic form fields and SEO metadata. They use this skill to quickly reference page-templates.md, rules.md, and metadata.md to implement the form, validation, and metadata inheritance correctly, saving hours of searching through scattered documentation.

Quick Start

Explain the core architectural principles of FirstSpirit CMS, focusing on the separation of layout, content, and structure. Then, provide an example of how to use the $CMS_IF instruction to conditionally display content based on a variable.

Frequently Asked Questions about firstspirit-templating

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a page template with dynamic forms in FirstSpirit?

Page templates in FirstSpirit use `$CMS_VALUE` and `$CMS_IF` instructions to bind content fields and conditionally display elements. Define input components, apply rules for validation, and reference system objects like `#global` to access metadata. The skill provides syntax examples and architecture patterns for implementing forms with inheritance.

What's the difference between page, section, and format templates in FirstSpirit?

FirstSpirit separates templates by function: page templates define store-level structure; section templates organize content blocks within pages; format templates handle reusable content components. Each template type applies different rules, system objects, and metadata inheritance patterns documented in the skill's template-types reference.

How do I use conditional logic with `$CMS_IF` to control template output?

`$CMS_IF` evaluates expressions to display or hide content based on variables and metadata values. Pair it with `$CMS_VALUE` for field access and `$CMS_FOR` for loops. The skill details syntax, supported functions like `if`, and how to reference system objects to build dynamic, responsive templates.

Can I manage metadata inheritance across multiple FirstSpirit templates?

Yes. FirstSpirit metadata inherits across the six-store architecture through template configuration and system objects. Define metadata at template and store levels, apply rules to enforce consistency, and use snippets for rich content previews. The skill covers metadata setup, inheritance rules, and workflow integration.

What template syntax and system objects do I need to know for FirstSpirit development?

Core syntax includes `$CMS_VALUE`, `$CMS_IF`, `$CMS_FOR` instructions for accessing fields, conditionals, and loops. System objects like `#global`, `#for`, and `#style` provide runtime context. The skill centralizes syntax definitions, data types, functions, and expressions across all template types and stores.