Editorial Config — Context Loader
Load all available client context before generating any output. Call the client-context skill, then apply editorial interpretation to what's found. This is the bridge between raw documents and actionable editorial intelligence.
Loading Sequence
1. Call client-context skill
→ Reads ~~docs folder
→ Extracts brand, audience, competitor, pillar, performance, operational context
→ Checks active connectors (~~email, ~~crm, ~~calendar, ~~assets)
→ Returns status: 🟢 Configured / 🟡 Partial / ⚪ No client loaded
2. Apply editorial interpretation layer (this skill)
→ From competitor documents: build competitors[] with genuine strengths and weaknesses
→ From strategy/pillar docs: build pillars[] with current health assessment
→ From audience docs: build segments[] with content preference and funnel stage
→ From past content: extract history.biggest_wins and approaches_tested
→ From briefs/calendar: extract constraints (cadence, team, seasonal holds)
→ From performance reports: extract goals.metrics_that_matter
→ From brand guide: extract voice rules, vocabulary, tone adaptation
3. Show status header (one line — never narrate the loading process)
Status Header
🟢 [{client name}] | Drive: [{folder}] | Competitors: {N} | Pillars: {N} | Segments: {N}
🟡 [{client name}] | Drive: [{folder}] | Partial — [{what's missing and effect on output}]
⚪ No client loaded — working from what you provide. Run /setup to connect your docs.
Interpretation Rules by Domain
Competitors
| Rule |
Why |
| Use competitors found in Drive docs — never invent or generalize |
Imagined competitors produce imagined analysis |
| Apply genuine_strengths as documented — don't soften |
Honest competitive analysis requires honest competitor assessment |
| Flag if competitive doc is > 90 days old |
Competitive intelligence has a short shelf life |
| If no competitor doc found: ask for competitors this session, state they're not in Drive |
Don't guess — the user knows their market |
| Distinguish between primary competitors (direct) and secondary (adjacent) |
Weight analysis toward primary competitors |
| Note competitor content cadence if observable from docs |
Calibrates competitive urgency |
Brand Voice
| Rule |
Why |
| Extract voice attributes and apply as baseline to all content commands |
Voice consistency is the foundation of brand trust |
| Note vocabulary to use (hard constraint) |
Brand terms are non-negotiable |
| Note vocabulary to avoid (hard constraint) |
Avoided terms exist for reasons — legal, brand, cultural |
| Apply voice rules to /draft, /subjects, /social-pack automatically |
The user should never have to re-state their voice |
| If no brand guide: extract patterns from past content, flag as "inferred" |
Inferred voice is less reliable than documented voice |
| If brand guide conflicts with past content patterns: prefer the guide |
The guide is the intended voice; past content may have drifted |
Voice Adaptation by Command
Different commands need different emphasis from the same voice:
| Command |
Voice Emphasis |
| /draft |
Full voice application — vocabulary, tone, style rules, headline conventions |
| /subjects |
Subject line voice — conciseness constraints override paragraph-level voice rules |
| /social-pack |
Platform-adapted voice — LinkedIn more professional, Twitter/X more punchy, but both recognizably the same brand |
| /audit |
Analytical voice — the output is for the strategist, not the audience |
| /competitor |
Analytical voice — honest, not promotional |
| /calendar |
Planning voice — clear, operational, decision-ready |
Content Pillars
| Rule |
Why |
| Extract pillar themes from strategy docs and content patterns |
Pillars are the structural foundation of editorial planning |
| Assess health from piece count, performance, and competitive position |
Health determines where to invest |
| Use four health statuses: Healthy / Developing / Thin / Untested |
Anything more granular is false precision |
| If no strategy doc: infer pillars from recurring topics in last 5 newsletters |
Better to infer than to ignore |
| Flag inferred pillars clearly — they're hypotheses, not commitments |
User should confirm before building a quarter around them |
| Note pillar overlap — some topics span multiple pillars |
Prevents double-counting in audits |
Pillar Health Assessment Criteria
| Status |
Signals |
| Healthy |
10+ pieces covering multiple angles; at least one top performer; competitive position is strong; directly aligned with primary goal |
| Developing |
5-10 pieces; some engagement but no standout; building competitive position; clear goal connection |
| Thin |
< 5 pieces or single angle only; no standout performer; competitors are stronger here; goal connection is clear but underserved |
| Untested |
0 pieces; unknown audience response; unknown competitive position; goal connection is hypothetical |
Audience Segments
| Rule |
Why |
| Use segment names from persona docs — don't rename them |
Consistency with the client's internal language |
| Map each segment to content preferences if documented |
Enables segment-specific recommendations |
| Note funnel stage for each segment |
Aligns content type to buying stage |
| If segments are documented differently across docs: use the most recent |
Segment definitions evolve |
| If no segments documented: note "general audience" and flag |
Segment-specific recommendations require segment data |
Email Context
| Rule |
Why |
| If ~~email connected: pull real open rates, click rates, list size |
Real data beats industry benchmarks |
| Use real benchmarks, not industry averages, when real data exists |
"Your 22% open rate" is more useful than "industry average 18-22%" |
| Apply subject line rules from brand guide if documented |
Subject lines are brand expression |
| If no email data: label all performance predictions as "estimated" |
Never present guesses as data |
| Note list size for audience context |
A 500-person list has different dynamics than a 50,000-person list |
Email Benchmarks (Use Only When No Real Data Available)
| Metric |
General Benchmark |
B2B Benchmark |
B2C Benchmark |
| Open rate |
18-25% |
20-28% |
15-22% |
| Click-through rate |
2-5% |
2-4% |
3-5% |
| Click-to-open rate |
10-17% |
10-15% |
12-18% |
| Unsubscribe rate |
< 0.5% |
< 0.3% |
< 0.5% |
| List growth rate (monthly) |
2-5% |
2-4% |
3-6% |
Always label these as "industry benchmarks" when used. Never present them as if they're the client's data.
Content History
| Rule |
Why |
| Extract "what worked" from past newsletters and performance reports |
Repeat and amplify proven approaches |
| Extract "what failed" from retrospective docs or performance drops |
Don't recommend what's already been tried and abandoned |
| Note content formats that have been used vs. not used |
Format gaps are opportunities or deliberate choices |
| Identify recurring topics vs. one-off experiments |
Recurring topics signal pillar commitment |
| Note seasonal patterns in past publishing |
Build into /calendar planning |
Operational Constraints
| Rule |
Why |
| Extract cadence from briefs and calendar documents |
Capacity ceiling — never plan beyond what the team can execute |
| Extract team signals from brief language |
"I write everything" = solo operation. "The team" = at least 2-3 people. |
| Respect blackout periods in calendar or strategy docs |
These are hard constraints, not suggestions |
| Only reference channels that appear in client's documents |
Don't recommend TikTok to a B2B newsletter operation |
| Note publishing tools in use (Beehiiv, WordPress, etc.) |
Practical context for execution recommendations |
Team Size Heuristics
When team size isn't explicitly stated, use these signals:
| Signal |
Likely Team Size |
Capacity Implication |
| "I" throughout briefs, single byline |
Solo creator |
1-2 pieces/week max, no parallel production |
| "We" with 1-2 bylines |
2-3 person team |
2-4 pieces/week, some parallel production |
| Multiple bylines, departments mentioned |
Full content team |
5+ pieces/week, parallel production possible |
| Agency/consultant language |
External team |
Variable — ask about hours allocated |
When Documents Are Ambiguous
| Situation |
Action |
| Multiple strategy docs |
Synthesize, prefer most recent by modified date |
| Competitors mentioned in passing (not in dedicated doc) |
Include with lower confidence, flag |
| No clear cadence signal |
Ask once in the command output, don't block |
| Conflicting audience descriptions |
Note the conflict, use most recent document |
| Brand guide says one thing, past content shows another |
Prefer the guide (intended voice); note the drift |
| Performance data exists but is > 90 days old |
Use for patterns, flag as potentially stale |
| Documents are in another language |
Extract what you can, note language barrier |
Never Do
- Never ask the user to re-enter information that's in their Drive documents
- Never use generic "your competitors probably..." when Drive docs have real competitors
- Never recommend approaches that past content shows were tried and dropped
- Never narrate the loading process — show the status header only
- Never block on missing context — flag what's missing and continue
- Never present industry benchmarks as if they're the client's real data
- Never make up competitors, segments, or pillars that aren't in the documents
- Never apply voice rules from one client to another client's context
Cross-Skill Dependencies
- Calls: client-context (reads Drive, extracts raw context)
- Called by: All commands as the first step
- Feeds into: content-strategist (pillar health, gaps, history)
- Feeds into: competitive-intel (competitor list, strengths, weaknesses)
- Feeds into: calendar-planner (constraints, cadence, seasonal data)
1---2name: editorial-config3description: Load client context at the start of every command by calling client-context skill. Interpret Drive documents into structured editorial intelligence — competitors, pillars, audience segments, constraints, content history, and performance baselines. Run silently. Never narrate the loading process.4---56# Editorial Config — Context Loader78Load all available client context before generating any output. Call the client-context skill, then apply editorial interpretation to what's found. This is the bridge between raw documents and actionable editorial intelligence.910## Loading Sequence1112```131. Call client-context skill14 → Reads ~~docs folder15 → Extracts brand, audience, competitor, pillar, performance, operational context16 → Checks active connectors (~~email, ~~crm, ~~calendar, ~~assets)17 → Returns status: 🟢 Configured / 🟡 Partial / ⚪ No client loaded18192. Apply editorial interpretation layer (this skill)20 → From competitor documents: build competitors[] with genuine strengths and weaknesses21 → From strategy/pillar docs: build pillars[] with current health assessment22 → From audience docs: build segments[] with content preference and funnel stage23 → From past content: extract history.biggest_wins and approaches_tested24 → From briefs/calendar: extract constraints (cadence, team, seasonal holds)25 → From performance reports: extract goals.metrics_that_matter26 → From brand guide: extract voice rules, vocabulary, tone adaptation27283. Show status header (one line — never narrate the loading process)29```3031## Status Header3233```34🟢 [{client name}] | Drive: [{folder}] | Competitors: {N} | Pillars: {N} | Segments: {N}35🟡 [{client name}] | Drive: [{folder}] | Partial — [{what's missing and effect on output}]36⚪ No client loaded — working from what you provide. Run /setup to connect your docs.37```3839## Interpretation Rules by Domain4041### Competitors4243| Rule | Why |44|------|-----|45| Use competitors found in Drive docs — never invent or generalize | Imagined competitors produce imagined analysis |46| Apply genuine_strengths as documented — don't soften | Honest competitive analysis requires honest competitor assessment |47| Flag if competitive doc is > 90 days old | Competitive intelligence has a short shelf life |48| If no competitor doc found: ask for competitors this session, state they're not in Drive | Don't guess — the user knows their market |49| Distinguish between primary competitors (direct) and secondary (adjacent) | Weight analysis toward primary competitors |50| Note competitor content cadence if observable from docs | Calibrates competitive urgency |5152### Brand Voice5354| Rule | Why |55|------|-----|56| Extract voice attributes and apply as baseline to all content commands | Voice consistency is the foundation of brand trust |57| Note vocabulary to use (hard constraint) | Brand terms are non-negotiable |58| Note vocabulary to avoid (hard constraint) | Avoided terms exist for reasons — legal, brand, cultural |59| Apply voice rules to /draft, /subjects, /social-pack automatically | The user should never have to re-state their voice |60| If no brand guide: extract patterns from past content, flag as "inferred" | Inferred voice is less reliable than documented voice |61| If brand guide conflicts with past content patterns: prefer the guide | The guide is the intended voice; past content may have drifted |6263### Voice Adaptation by Command6465Different commands need different emphasis from the same voice:6667| Command | Voice Emphasis |68|---------|---------------|69| /draft | Full voice application — vocabulary, tone, style rules, headline conventions |70| /subjects | Subject line voice — conciseness constraints override paragraph-level voice rules |71| /social-pack | Platform-adapted voice — LinkedIn more professional, Twitter/X more punchy, but both recognizably the same brand |72| /audit | Analytical voice — the output is for the strategist, not the audience |73| /competitor | Analytical voice — honest, not promotional |74| /calendar | Planning voice — clear, operational, decision-ready |7576### Content Pillars7778| Rule | Why |79|------|-----|80| Extract pillar themes from strategy docs and content patterns | Pillars are the structural foundation of editorial planning |81| Assess health from piece count, performance, and competitive position | Health determines where to invest |82| Use four health statuses: Healthy / Developing / Thin / Untested | Anything more granular is false precision |83| If no strategy doc: infer pillars from recurring topics in last 5 newsletters | Better to infer than to ignore |84| Flag inferred pillars clearly — they're hypotheses, not commitments | User should confirm before building a quarter around them |85| Note pillar overlap — some topics span multiple pillars | Prevents double-counting in audits |8687### Pillar Health Assessment Criteria8889| Status | Signals |90|--------|---------|91| **Healthy** | 10+ pieces covering multiple angles; at least one top performer; competitive position is strong; directly aligned with primary goal |92| **Developing** | 5-10 pieces; some engagement but no standout; building competitive position; clear goal connection |93| **Thin** | < 5 pieces or single angle only; no standout performer; competitors are stronger here; goal connection is clear but underserved |94| **Untested** | 0 pieces; unknown audience response; unknown competitive position; goal connection is hypothetical |9596### Audience Segments9798| Rule | Why |99|------|-----|100| Use segment names from persona docs — don't rename them | Consistency with the client's internal language |101| Map each segment to content preferences if documented | Enables segment-specific recommendations |102| Note funnel stage for each segment | Aligns content type to buying stage |103| If segments are documented differently across docs: use the most recent | Segment definitions evolve |104| If no segments documented: note "general audience" and flag | Segment-specific recommendations require segment data |105106### Email Context107108| Rule | Why |109|------|-----|110| If ~~email connected: pull real open rates, click rates, list size | Real data beats industry benchmarks |111| Use real benchmarks, not industry averages, when real data exists | "Your 22% open rate" is more useful than "industry average 18-22%" |112| Apply subject line rules from brand guide if documented | Subject lines are brand expression |113| If no email data: label all performance predictions as "estimated" | Never present guesses as data |114| Note list size for audience context | A 500-person list has different dynamics than a 50,000-person list |115116### Email Benchmarks (Use Only When No Real Data Available)117118| Metric | General Benchmark | B2B Benchmark | B2C Benchmark |119|--------|-----------------|---------------|---------------|120| Open rate | 18-25% | 20-28% | 15-22% |121| Click-through rate | 2-5% | 2-4% | 3-5% |122| Click-to-open rate | 10-17% | 10-15% | 12-18% |123| Unsubscribe rate | < 0.5% | < 0.3% | < 0.5% |124| List growth rate (monthly) | 2-5% | 2-4% | 3-6% |125126Always label these as "industry benchmarks" when used. Never present them as if they're the client's data.127128### Content History129130| Rule | Why |131|------|-----|132| Extract "what worked" from past newsletters and performance reports | Repeat and amplify proven approaches |133| Extract "what failed" from retrospective docs or performance drops | Don't recommend what's already been tried and abandoned |134| Note content formats that have been used vs. not used | Format gaps are opportunities or deliberate choices |135| Identify recurring topics vs. one-off experiments | Recurring topics signal pillar commitment |136| Note seasonal patterns in past publishing | Build into /calendar planning |137138### Operational Constraints139140| Rule | Why |141|------|-----|142| Extract cadence from briefs and calendar documents | Capacity ceiling — never plan beyond what the team can execute |143| Extract team signals from brief language | "I write everything" = solo operation. "The team" = at least 2-3 people. |144| Respect blackout periods in calendar or strategy docs | These are hard constraints, not suggestions |145| Only reference channels that appear in client's documents | Don't recommend TikTok to a B2B newsletter operation |146| Note publishing tools in use (Beehiiv, WordPress, etc.) | Practical context for execution recommendations |147148### Team Size Heuristics149150When team size isn't explicitly stated, use these signals:151152| Signal | Likely Team Size | Capacity Implication |153|--------|-----------------|---------------------|154| "I" throughout briefs, single byline | Solo creator | 1-2 pieces/week max, no parallel production |155| "We" with 1-2 bylines | 2-3 person team | 2-4 pieces/week, some parallel production |156| Multiple bylines, departments mentioned | Full content team | 5+ pieces/week, parallel production possible |157| Agency/consultant language | External team | Variable — ask about hours allocated |158159## When Documents Are Ambiguous160161| Situation | Action |162|-----------|--------|163| Multiple strategy docs | Synthesize, prefer most recent by modified date |164| Competitors mentioned in passing (not in dedicated doc) | Include with lower confidence, flag |165| No clear cadence signal | Ask once in the command output, don't block |166| Conflicting audience descriptions | Note the conflict, use most recent document |167| Brand guide says one thing, past content shows another | Prefer the guide (intended voice); note the drift |168| Performance data exists but is > 90 days old | Use for patterns, flag as potentially stale |169| Documents are in another language | Extract what you can, note language barrier |170171## Never Do172173- Never ask the user to re-enter information that's in their Drive documents174- Never use generic "your competitors probably..." when Drive docs have real competitors175- Never recommend approaches that past content shows were tried and dropped176- Never narrate the loading process — show the status header only177- Never block on missing context — flag what's missing and continue178- Never present industry benchmarks as if they're the client's real data179- Never make up competitors, segments, or pillars that aren't in the documents180- Never apply voice rules from one client to another client's context181182## Cross-Skill Dependencies183184- **Calls:** client-context (reads Drive, extracts raw context)185- **Called by:** All commands as the first step186- **Feeds into:** content-strategist (pillar health, gaps, history)187- **Feeds into:** competitive-intel (competitor list, strengths, weaknesses)188- **Feeds into:** calendar-planner (constraints, cadence, seasonal data)