Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
227 changes: 227 additions & 0 deletions skills/content-template/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
---
name: content-template
description: >-
Documents the recurring structure of a content type as a reusable template.
Use for PDPs, emails, collection pages, or any repeating format.
license: Apache-2.0
---

# Document a Content Template

This skill extracts and documents the recurring structure of a specific content type -- PDP, collection page, campaign email, landing page, or any other format a brand produces repeatedly. The output is a template primitive: a Markdown document that captures section names, order, format, constraints, and content expectations.

The template primitive is not content. It is the blueprint. Once saved, the user uploads it alongside content-generation skills so the AI knows the target structure without the user explaining it each time. The brand voice profile tells a skill how to sound. The positioning brief tells it what to emphasize. The template primitive tells it where everything goes and what shape each section takes.

See `references/example-output.md` for what the finished document looks like.

---

## Voice and Approach

Be direct and efficient. The user is here to document a structure, not explore options. Use their terminology for sections and content types -- do not rename to generic labels. When the extracted structure is ambiguous, surface it plainly and ask. Do not editorialize about the template's quality or suggest improvements. That is a different skill's job.

---

## Conversation Flow

### Turn 1: Collect the Template Source

Ask the user two things:

1. What content type they want to document (PDP, collection page, email, etc.)
2. An example of that content type -- screenshot, pasted content, URL, uploaded file, or verbal description

Let them know that sharing 2-3 examples of the same content type with different products or campaigns helps distinguish fixed structure from variable content, but one example is enough to start.

Accept whatever input format the user provides. If they share a URL, attempt to fetch it. If they share a screenshot, read the visible structure. If they describe it verbally, work from the description. If they provide multiple input types, use all of them.

Do not require a specific format. Do not ask for something they have not offered.

### Turn 2: Present the Extracted Structure

Read back the extracted structure as a numbered list of sections. For each section, include:

- **Section name** -- use whatever the brand calls it, not generic labels
- **Format** -- paragraph, bullet list, stat block, headline, image + caption, accordion, table, etc.
- **Approximate constraints** -- character count range, number of bullets, sentence count, estimated from the example
- **Content type** -- what goes here: product description, technical specs, social proof, usage instructions, CTA, etc.
- **Notes** -- anything distinctive: sentence fragments vs. full sentences, person (second person "you"), bold lead-ins on bullets, icon usage, column layout

Surface anything ambiguous. Common ambiguities:

- Accordion content not visible in a screenshot
- Unclear hierarchy between sections
- Sections that could be read as one section or two
- Content that might be part of the template structure or might be product-specific

Ask the user to confirm the list. Tell them to rename sections, add missing ones, remove extras, or correct any constraints before you produce the document.

**Stop here and wait for the user.**

### Turn 3: Produce the Template Document

After the user confirms (or after incorporating their edits), produce the full template primitive as a downloadable Markdown document following the output structure below.

Present the document and ask the user to review it. Let them know this is the file they will upload alongside content skills, so accuracy matters -- especially section names, format types, and constraints.

### Turn 4+: Revise

Edit the document in place when the user requests changes. Do not regenerate the entire document for a single correction.

---

## Output Structure

```markdown
# [Content Type] Template: [Brand Name]

<!-- content-template v0.1 -->

[One paragraph explaining what this document is: the structural template for
this brand's [content type]. It captures the section structure, format
constraints, and content expectations. Upload it alongside content-generation
skills so the AI knows the target structure without you having to explain it
each time.]

---

## Template Overview

- **Content type:** [PDP / Collection page / Campaign email / etc.]
- **Typical use:** [When this template is used]
- **Number of sections:** [count]
- **Estimated total length:** [word count range for the full content piece]

---

## Sections

### 1. [Section Name]

- **Format:** [paragraph / bullet list / stat block / headline / etc.]
- **Length:** [approximate -- e.g., "2-3 sentences," "4-6 bullets," "50-70 characters"]
- **Content:** [what goes here]
- **Notes:** [anything distinctive about how this section is written or displayed]

### 2. [Section Name]

[same structure]

[repeat for all sections]

---

## Structural Notes

[Any observations about the overall template that don't fit in individual
sections: the general flow/arc of the content, how sections relate to each
other, whether the structure changes meaningfully on mobile vs. desktop,
any conditional sections that only appear for certain product types, etc.]

---

## How to Use This Document

Upload this file alongside any SkillShelf skill that produces [content type]
content. The skill will use it as the structural blueprint: writing content
that fits your section names, follows your format constraints, and matches
your content expectations. The skill's other inputs (brand voice profile,
positioning brief, product data) determine what the content says and how it
sounds. This document determines where it goes and what shape it takes.
```

---

## Extraction Rules

When extracting the template structure from user input, follow these principles:

### Use the brand's own labels

If the brand calls a section "Why You'll Love It," use that name. Do not rename it to "Key Benefits" or "Feature Highlights." The downstream skill needs to produce content that matches the brand's actual section headers.

### Be specific about constraints

Estimate constraints from the example(s) provided. Useful constraint descriptions:

- "4-6 bullets, each 8-15 words, starting with a bold key phrase"
- "2-3 sentences, 150-200 characters total"
- "Headline, 40-60 characters"
- "Two-column table, 6-10 rows, attribute name left, value right"

Not useful:

- "A few bullet points"
- "Short paragraph"
- "Some text"

When working from a single example, note that constraints are approximate. When working from multiple examples, use the range observed across examples.

### Capture format details that matter to downstream skills

These details determine whether AI-generated content actually fits the template:

- Sentence fragments vs. full sentences
- Person (first, second, third)
- Bold lead-ins on bullets
- Icon or emoji usage
- Column layout (two-column specs table, grid of feature cards)
- Accordion or expandable sections
- Character limits imposed by the CMS or platform

### Do not editorialize

Document the template as it is, or as the user wants it to be. Do not suggest improvements, critique the structure, recommend adding sections, or comment on effectiveness. The user is documenting, not optimizing.

### Handle multiple examples by documenting variation

When the user provides multiple examples of the same content type:

- Sections that appear in every example with the same format are fixed. Document them without qualification.
- Sections that appear in some examples but not others are conditional. Document them with the condition: "Appears for [product type]. Omit for products without [attribute]."
- Sections where the format varies (3 bullets in one example, 5 in another) get a range in the constraint field.

---

## Edge Cases

### Single example

Extract what is available. Note in the Template Overview or Structural Notes that the template was derived from a single example and constraints are approximate. Do not refuse to produce output.

### Partial screenshot

Ask once if the user has additional screenshots showing the rest of the page. If not, document what is visible. Add a note in Structural Notes: "Template may be incomplete -- extracted from a partial screenshot that did not capture the full page."

### Verbal description only

Work from the description. Present the extracted structure for confirmation. Note in Structural Notes that the template was described verbally rather than extracted from a live example, so format details and constraints may need refinement after comparing to actual content.

### Aspirational template

The user wants to document what they want, not what they have. Produce the document the same way. Add a note in the intro paragraph: "This is a target template representing the intended structure, not a documentation of an existing content format."

### Content type not in the common list

Handle it identically. The skill works with any recurring content format -- wholesale line sheets, retail sell sheets, investor updates, internal reports. The extraction process is the same regardless of content type.

---

## Quality Checklist

Before presenting the final document, verify:

- [ ] All section names use the brand's own labels, not generic names
- [ ] Every section has Format, Length, Content, and Notes fields
- [ ] Length constraints are specific (ranges, counts), not vague
- [ ] Format details that affect downstream generation are captured (person, fragments vs. sentences, bold patterns, layout)
- [ ] Conditional sections are documented with their conditions
- [ ] The document is between 300-600 words
- [ ] No editorial commentary about the template's quality or effectiveness
- [ ] The intro paragraph and How to Use section reference the correct content type

---

## Closing

After the user approves the document, let them know how to use it: download the file and upload it alongside any SkillShelf skill that produces this content type. The skill will use the template as the structural blueprint. If they produce multiple content types (PDPs and collection pages, for example), they can run this skill once per content type to build a set of template primitives.
157 changes: 157 additions & 0 deletions skills/content-template/references/example-output.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
# PDP Template: TrailForge

<!-- content-template v0.1 -->

This document captures the structural template for TrailForge's product detail pages. It defines the section structure, format constraints, and content expectations for every PDP on the site. Upload it alongside content-generation skills so the AI knows the target structure without you having to explain it each time.

---

## Template Overview

- **Content type:** Product detail page (PDP)
- **Typical use:** Every product on the site -- apparel, footwear, and gear
- **Number of sections:** 14 (8 in the buy box, 6 in the accordion panel)
- **Estimated total length:** 400-800 words of written content, depending on product complexity

---

## Sections

### 1. Product Title

- **Format:** Single headline
- **Length:** 3-6 words
- **Content:** Product name followed by gender designation
- **Notes:** All caps. Format is "[Product Name] [Gender]" -- e.g., "SUMMIT AR JACKET MEN'S"

### 2. Badge

- **Format:** Small label above or beside the title
- **Length:** 1-2 words
- **Content:** Product status indicator -- "Best seller," "New," "Revised," etc.
- **Notes:** Conditional. Not all products have a badge. Only one badge displays at a time.

### 3. Star Rating & Review Link

- **Format:** Star icons + linked text
- **Length:** N/A (functional element)
- **Content:** Aggregate star rating with a "Leave a review" link
- **Notes:** May include a subtitle note when reviews span multiple product versions.

### 4. Short Description

- **Format:** Single sentence
- **Length:** 60-100 characters
- **Content:** One-line product summary covering core function, primary technology, and intended use
- **Notes:** Appears above the price. Factual and concise -- not a marketing tagline. Reads as a product identifier, not a sell line.

### 5. Price Block

- **Format:** Price + installment line
- **Length:** N/A (functional element)
- **Content:** Full price, installment breakdown (4 payments via third-party provider), and link to financing details
- **Notes:** No written content needed from content skills. Populated by the commerce platform.

### 6. Color & Size Selectors

- **Format:** Swatch grid (color) + button row (size)
- **Length:** N/A (functional elements)
- **Content:** Color name displayed as "Colour: [Color Name]". Size options displayed as individual buttons. Link to sizing chart below size row.
- **Notes:** No written content needed. Populated by product data.

### 7. Add to Cart & Utility Sections

- **Format:** Button + expandable rows
- **Length:** N/A (functional elements)
- **Content:** Add to cart button, expandable Delivery section (shipping/returns summary), expandable In-store Availability section, Product Details link
- **Notes:** No written content needed. Populated by platform logic.

### 8. Description

- **Format:** Accordion section with multiple content blocks
- **Length:** 150-250 words total across all blocks
- **Content:** The main product narrative. Contains the following sub-sections in order:

**8a. Main Description**
- 3-5 sentences. Narrative product description in second person ("you"). Opens with a use-case scenario, then explains key construction details and how they benefit the user. Ends with a short payoff sentence. Tone is confident and direct -- not breathless or hyperbolic.

**8b. What's Been Updated** *(conditional)*
- 2-3 sentences preceded by a bold "What's been updated:" label. Appears only for revised or updated products. Lists specific changes: materials, construction, patterning. Factual, not promotional.

**8c. Cross-Sell Link**
- Single sentence with an inline linked product name. Format: "Need [alternative use case]? Try the [Product Name]." Points the user to a related product that serves a different need.

**8d. Product Tip**
- 1-3 sentences preceded by a bold "Product tip:" label. Practical usage advice -- fit guidance, care notes, or performance expectations. Written as peer advice, not marketing copy.

- **Notes:** The Description section is the primary content block and the only section with a narrative voice. All other accordion sections are structured/tabular.

### 9. Features & Specs

- **Format:** Accordion section with a two-column grid of categorized bullet lists, followed by a key-value table
- **Length:** Varies by product complexity. Typically 8-14 category groups with 1-6 bullets each, plus 5-8 table rows.
- **Content:** Two distinct sub-sections:

**9a. Categorized Feature Bullets**
- Organized into named groups displayed in a two-column grid layout. First group is always "Technical features" (3-5 short keyword-style bullets naming core attributes). Remaining groups are category-specific:
- *Apparel:* Construction, Cuff & Sleeves configuration, Design & Fit, Fabric treatment, Hem configuration, Hood configuration, Patterning, Pocket configuration, Snowsport features, Sustainability, Zippers & Fly configuration
- *Footwear:* Footwear construction, Footwear geometry, Footwear outsole construction, Sustainability
- Each bullet is a single sentence describing a feature and its benefit. Written as declarative statements, not fragments.

**9b. Product Details Table**
- Key-value table at the bottom. Standard rows: Size, Weight, Fit (apparel) or Sizing chart (footwear), Activity, Model, Manufacturing facility.

- **Notes:** The category groups vary significantly between product types. The two-column grid layout and the Technical Features group at the top are fixed. Sustainability group appears for all products.

### 10. Fit & Sizing

- **Format:** Accordion section with fit name, short explanation, and link to size chart
- **Length:** 30-80 words
- **Content:** Names the fit type (e.g., "Regular," "Precision Fit"), explains what it means for the wearer, and links to the size chart. Footwear products include guidance on choosing between fit variations (roomier, default, closer).
- **Notes:** Fit type names are brand-specific terminology. Apparel and footwear use different fit systems.

### 11. Materials & Care

- **Format:** Accordion section with two sub-lists
- **Length:** Varies. Materials list can be long for technical products.
- **Content:** Materials sub-section lists fabric compositions with technical specifications (denier, GSM, membrane type, origin). Care sub-section lists care instructions as short imperative phrases ("Machine wash medium," "Do not bleach").
- **Notes:** Materials entries include origin of fabric, dyeing, and manufacture. Technical apparel has significantly more detail here than footwear.

### 12. Layering Guide / Educational Content

- **Format:** Accordion section with a short paragraph and a link
- **Length:** 30-50 words
- **Content:** Brief explanation of a relevant educational concept (layering systems for apparel, fit systems for footwear) with a link to a dedicated guide page.
- **Notes:** Conditional. Section name and content vary by product category. May not appear for all product types.

### 13. Reviews

- **Format:** Accordion section
- **Length:** N/A (user-generated content)
- **Content:** Customer reviews. No written content needed from content skills.
- **Notes:** Platform-managed section.

### 14. Questions & Answers

- **Format:** Accordion section
- **Length:** N/A (user-generated content)
- **Content:** Customer Q&A. No written content needed from content skills.
- **Notes:** Platform-managed section.

---

## Structural Notes

The PDP is split into two zones. The top zone is the buy box: product images on the left, title through add-to-cart on the right. The bottom zone is an accordion panel with a sticky left-side navigation listing all section names. Sections expand inline when clicked from the nav.

The Description section is the only section with a narrative voice. All other sections are structured, tabular, or functional. This means downstream content skills primarily need to produce copy for sections 4, 8, 9, 10, and 11 -- the short description, the description accordion, features & specs, fit & sizing, and materials & care.

The Features & Specs section varies the most between product types. The overall structure (Technical Features group at top, category-specific groups in a two-column grid, product details table at bottom) is consistent, but the specific category group names change entirely between apparel and footwear. A downstream skill writing feature bullets needs to know the product type to use the correct group names.

Conditional sections include: Badge (not all products), What's Been Updated (revised products only), Layering Guide / Educational Content (category-dependent), and In-store Availability (may depend on retail presence).

---

## How to Use This Document

Upload this file alongside any SkillShelf skill that produces PDP content. The skill will use it as the structural blueprint: writing content that fits your section names, follows your format constraints, and matches your content expectations. The skill's other inputs (brand voice profile, positioning brief, product data) determine what the content says and how it sounds. This document determines where it goes and what shape it takes.
Loading
Loading