brand-intent 0.1.1 → 0.1.3
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/cli/index.mjs +2 -1
- package/package.json +1 -1
- package/skills/brand-intent.md +13 -33
package/cli/index.mjs
CHANGED
|
@@ -120,7 +120,8 @@ const args = process.argv.slice(2);
|
|
|
120
120
|
const command = args[0];
|
|
121
121
|
const cwd = process.cwd();
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
const pkg = JSON.parse(readFileSync(join(PKG_ROOT, 'package.json'), 'utf-8'));
|
|
124
|
+
console.log(`Brand Intent v${pkg.version}\n`);
|
|
124
125
|
|
|
125
126
|
switch (command) {
|
|
126
127
|
case 'install-skills':
|
package/package.json
CHANGED
package/skills/brand-intent.md
CHANGED
|
@@ -86,45 +86,25 @@ Contains: slot-to-position mappings in grid or flow mode.
|
|
|
86
86
|
|
|
87
87
|
## Composing Context for Content Generation
|
|
88
88
|
|
|
89
|
-
When generating content for a specific 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.
|
|
90
90
|
|
|
91
|
-
###
|
|
91
|
+
### Reading layers (internal, not shown to user):
|
|
92
92
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
- `anti-audience`: never sound like you're addressing these people
|
|
99
|
-
- `values`: use behavior statements to guide decisions when voice rules don't cover a situation
|
|
100
|
-
- `positioning`: use when content needs to differentiate
|
|
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
|
|
101
98
|
|
|
102
|
-
###
|
|
99
|
+
### Output format:
|
|
103
100
|
|
|
104
|
-
|
|
105
|
-
- Enforce `sentence-max` on all generated text
|
|
106
|
-
- Follow `headline-pattern` for headlines
|
|
107
|
-
- Use `number-format` for numbers
|
|
108
|
-
- Apply `density` from content-defaults
|
|
101
|
+
For each brand that has the requested purpose:
|
|
109
102
|
|
|
110
|
-
|
|
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)
|
|
111
106
|
|
|
112
|
-
|
|
113
|
-
- `audience:` only use language guidance from these audience blocks
|
|
114
|
-
- `pillars:` restrict to this pillar scope (`primary`, `secondary`, or `all`)
|
|
115
|
-
|
|
116
|
-
If no filter is specified, include everything.
|
|
117
|
-
|
|
118
|
-
### Step 4: Apply `context` from `.purpose`
|
|
119
|
-
|
|
120
|
-
Read the `context` block. This contains slot-specific instructions that cannot be derived from identity or brand. Follow them literally; they are precise, not general.
|
|
121
|
-
|
|
122
|
-
### Step 5: Generate per-slot content
|
|
123
|
-
|
|
124
|
-
For each slot in the purpose:
|
|
125
|
-
- Respect `maxLength` (hard character limit)
|
|
126
|
-
- Use `samples` as structural reference (match the pattern, not the words)
|
|
127
|
-
- 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.
|
|
128
108
|
|
|
129
109
|
## Validation Checklist
|
|
130
110
|
|