brand-intent 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/brand-intent.md +24 -34
package/package.json
CHANGED
package/skills/brand-intent.md
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
description: Generate and validate on-brand content using Brand Intent files
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Brand Intent
|
|
6
|
+
|
|
7
|
+
**Scope:** `$ARGUMENTS`
|
|
8
|
+
|
|
9
|
+
> If `$ARGUMENTS` names a purpose (e.g. "daily-bread", "event", "quote"): compose context from the five layers and generate content for that purpose.
|
|
10
|
+
> If `$ARGUMENTS` is "validate": read the most recent generated or provided content and run the validation checklist against the brand files.
|
|
11
|
+
> If `$ARGUMENTS` is empty: discover all `.identity`, `.brand`, `.purpose` files in the project, summarize the brand voice and list available purposes.
|
|
2
12
|
|
|
3
13
|
You are working in a project that uses **Brand Intent**, an open file format for encoding brand identity, expression intent, and content composition rules across five composable layers. This skill teaches you how to read, compose, and validate Brand Intent files.
|
|
4
14
|
|
|
@@ -76,45 +86,25 @@ Contains: slot-to-position mappings in grid or flow mode.
|
|
|
76
86
|
|
|
77
87
|
## Composing Context for Content Generation
|
|
78
88
|
|
|
79
|
-
When generating content for a specific purpose,
|
|
80
|
-
|
|
81
|
-
### Step 1: Read `.identity`
|
|
82
|
-
|
|
83
|
-
Load the full identity. Pay special attention to:
|
|
84
|
-
- `voice.always` and `voice.never`: these are your hard constraints
|
|
85
|
-
- `voice.persona`: adopt this voice
|
|
86
|
-
- `voice.register`: match this formality level
|
|
87
|
-
- `pillars.avoid`: never generate content in these topic areas
|
|
88
|
-
- `anti-audience`: never sound like you're addressing these people
|
|
89
|
-
- `values`: use behavior statements to guide decisions when voice rules don't cover a situation
|
|
90
|
-
- `positioning`: use when content needs to differentiate
|
|
91
|
-
|
|
92
|
-
### Step 2: Read `.brand`
|
|
93
|
-
|
|
94
|
-
Load voice-constraints and content-defaults:
|
|
95
|
-
- Enforce `sentence-max` on all generated text
|
|
96
|
-
- Follow `headline-pattern` for headlines
|
|
97
|
-
- Use `number-format` for numbers
|
|
98
|
-
- Apply `density` from content-defaults
|
|
99
|
-
|
|
100
|
-
### Step 3: Apply `scope` from `.purpose`
|
|
89
|
+
When generating content for a specific purpose, read all layers silently (do not dump file contents or context notes to the user), then lead with the generated content.
|
|
101
90
|
|
|
102
|
-
|
|
103
|
-
- `audience:` only use language guidance from these audience blocks
|
|
104
|
-
- `pillars:` restrict to this pillar scope (`primary`, `secondary`, or `all`)
|
|
91
|
+
### Reading layers (internal, not shown to user):
|
|
105
92
|
|
|
106
|
-
|
|
93
|
+
1. **Read `.identity`** — voice.always/never (hard constraints), persona, register, pillars.avoid, anti-audience, values, positioning
|
|
94
|
+
2. **Read `.brand`** — voice-constraints: sentence-max, headline-pattern, number-format, register
|
|
95
|
+
3. **Apply `scope` from `.purpose`** — audience and pillar filters narrow the upstream context
|
|
96
|
+
4. **Apply `context` from `.purpose`** — slot-specific instructions, follow literally
|
|
97
|
+
5. **Generate per-slot content** — respect maxLength, use samples as structural reference (match pattern, not words), follow context instructions
|
|
107
98
|
|
|
108
|
-
###
|
|
99
|
+
### Output format:
|
|
109
100
|
|
|
110
|
-
|
|
101
|
+
For each brand that has the requested purpose:
|
|
111
102
|
|
|
112
|
-
|
|
103
|
+
- If multiple brands exist, show the **brand name** as a heading
|
|
104
|
+
- Show each **slot** with its generated content — nothing else
|
|
105
|
+
- After the content, show a **compact validation summary** (pass/fail per rule, only call out failures in detail)
|
|
113
106
|
|
|
114
|
-
|
|
115
|
-
- Respect `maxLength` (hard character limit)
|
|
116
|
-
- Use `samples` as structural reference (match the pattern, not the words)
|
|
117
|
-
- Follow the `context` instructions for this slot
|
|
107
|
+
Do NOT show: layer contents, file paths, context notes, voice constraint values, scope details, or step-by-step reasoning. The user wants content, not process.
|
|
118
108
|
|
|
119
109
|
## Validation Checklist
|
|
120
110
|
|