agentsclimarketplace

Client context

Skill EditorialOS/editorial-os/skills/client-context

Editorial strategy system for Claude. 7 commands, 5 specialist skills — audit, competitor analysis, 90-day calendars, drafting, social repurposing. Your Google Drive folder is the configuration.

Install
npx -y skills add EditorialOS/editorial-os --skill client-context

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Read a client's Google Drive folder and build complete editorial context from real documents — brand guides, audience personas, competitor analyses, content history, performance data. Replaces config files and onboarding interviews. Called silently at the start of every command. Your documents are the config.

SKILL.md

13.5 KB, ~2.8k tokens by cl100k_base, as published. Nobody here has run it

Client Context

Read a client's Google Drive folder and extract everything a command needs to work with full personalization. Called silently at the start of every command. Never ask the user to repeat information that lives in their documents.

Why This Exists

The client already has their brand voice documented somewhere. Their audience personas exist in a deck or brief. Their competitor list is in a strategy doc. Their past newsletters are in a folder. This skill finds all of it and builds structured context from real documents — not from a config interview, not from a settings file, not from a 20-minute onboarding.

This is the core architectural innovation of the plugin: Google Drive as persistent client context. Instead of local settings files or conversational customization that resets across sessions, the client's real documents are the source of truth. Update a brand guide in Drive and every command picks it up on the next invocation.

Reading Sequence

When a command loads, execute this sequence silently — never narrate the loading process to the user.

Step 1 — Find the Client Folder

Check if a ~~docs folder has been configured for this client (set during /setup or during first command use). Look for:

  • A named Google Drive folder
  • Image folder reference (Cloudinary or Drive subfolder)
  • Active connectors (which ~~email, ~~crm, ~~calendar tools are connected)

If no folder configured → work with whatever the user provides directly. Mention /setup at the end of the output as a suggestion, not at the beginning as a gate. First experience is a deliverable, not setup.

Step 2 — Read the Drive Folder

Use the ~~docs connector to search the client folder. Read documents in priority order:

Priority Documents (Read First)

PriorityDocument TypeSearch TermsWhat to Extract
1Brand guide / style guide"brand guide", "style guide", "brand voice", "voice and tone"Voice attributes, vocabulary rules, style rules, headline conventions
2Audience personas"audience", "persona", "segments", "ICP"Segment names, descriptions, content preferences, funnel stage
3Competitor analysis"competitor", "competitive", "landscape", "battlecard"Competitor names, URLs, strengths, weaknesses, positioning
4Content strategy"content strategy", "editorial strategy", "pillars", "content plan"Pillar themes, pillar descriptions, content territories
5Editorial calendar"editorial calendar", "content calendar", "publishing schedule"Current or recent publishing plans, cadence
6Campaign briefs"brief", "campaign brief", "content brief"Active campaigns, messaging, target segments

Content History (Read for Patterns)

PriorityDocument TypeWhat to Extract
7Past newsletters (most recent 3–5)Voice patterns, recurring topics, section structure, engagement signals
8Recent blog posts (most recent 5)Topic coverage, depth, angle patterns
9Performance reportsOpen rates, click rates, top performers, underperformers, audience growth

Image Reference

PriorityDocument TypeWhat to Extract
10Asset list / image indexImage categories, naming conventions, usage guidelines

If no dedicated image document found: note that image queries will use ~~assets search directly.

Step 3 — Extract and Structure Context

From the documents found, extract and hold in working context:

Brand Identity

ElementWhere to Find ItHow to Use It
Publication nameBrand guide header, newsletter mastheadUse in all output headers
Voice attributesBrand guide "voice" or "personality" sectionApply as baseline tone for all content commands
Voice adjectivesOften listed as 3-5 descriptor wordsMatch these in every /draft and /social-pack output
Vocabulary — use listStyle guide terminology sectionHard constraint — always use these terms
Vocabulary — avoid listStyle guide terminology sectionHard constraint — never use these terms
Headline styleStyle guide formatting sectionApply to all headlines (sentence case / title case / AP)
Grammar rulesStyle guide (Oxford comma, contractions, etc.)Apply consistently across all content commands
Tone adaptation notesBrand guide tone sectionDial voice attributes up/down by context

Audience

ElementWhere to Find ItHow to Use It
Segment namesPersona docs, strategy docsReference by name in all analysis and planning
Segment descriptionsPersona docsMatch content angle to segment needs
Content preferences by segmentPersona docs, performance reportsWeight format and channel recommendations
Geographic contextPersona docs, audience docsLocalize recommendations where relevant
Expertise levelPersona docsCalibrate depth and jargon level
Funnel stagePersona docs, strategy docsAlign content type to buying stage

Competitors

ElementWhere to Find ItHow to Use It
Competitor names and URLsCompetitive analysis docsLoad into /competitor command automatically
Documented strengthsCompetitive analysis, battlecardsRepresent honestly — never soften
Documented weaknessesCompetitive analysis, battlecardsUse for white space identification
Competitive positioning notesStrategy docsInform differentiation recommendations
Competitive stalenessDocument modified dateFlag if > 90 days old

Content Pillars and Themes

ElementWhere to Find ItHow to Use It
Core pillar themesStrategy docs, editorial calendarStructure all audits and calendars around these
Pillar descriptionsStrategy docsInform gap analysis scope
Content territoriesStrategy docsDefine boundaries for recommendations
Historical emphasisPast content, calendarIdentify over/under-indexed pillars

Performance Patterns

ElementWhere to Find ItHow to Use It
Open ratesPerformance reports, ~~email dataSet realistic benchmarks for /subjects
Click ratesPerformance reportsWeight CTA and format recommendations
Top-performing contentPerformance reports, past newslettersIdentify what works — recommend more of it
Underperforming contentPerformance reportsIdentify what to avoid or rework
Audience growth trendsPerformance reportsContext for reach and awareness goals
Seasonal patternsPerformance reports, calendarBuild into /calendar seasonal planning

Operational Context

ElementWhere to Find ItHow to Use It
Publishing cadenceBriefs, calendar, newsletter frequencySet capacity ceiling for /calendar
Team or solo signalBrief language ("I" vs "we", byline patterns)Size all recommendations to team reality
Seasonal holdsCalendar, strategy docsBlock these weeks in /calendar
Active channelsPast content, strategy docsOnly recommend channels actually in use
Active connectorsSetup configEnable/disable connector-dependent features

Step 4 — Flag What's Missing

If a critical document type isn't found, note it briefly — don't block the command:

⚠️ No brand guide found in [{folder}] — using voice patterns extracted from past content
⚠️ No competitor list found — /competitor will ask for competitors this session
⚠️ No performance data found — recommendations will use industry benchmarks
⚠️ No audience personas found — using audience signals from newsletter intro copy

Missing documents reduce precision but never prevent output. Every command works with partial context.

Step 5 — Show Status Header

One line at the top of every command output:

🟢 [{client name}] | Drive: [{folder}] | [{N} docs read] | ~~email: {✓/–} | ~~crm: {✓/–}
🟡 [{client name}] | Drive: [{folder}] | Partial — [{what's missing}]
⚪ No client folder — working from what you provide directly. Run /setup to connect your docs.

Connector Awareness

After reading Drive context, check which live connectors are active and what they add:

~~email Active (Beehiiv, Mailchimp, ConvertKit, Klaviyo)

Data AvailableHow Commands Use It
Subscriber count and segmentsSize audience references in /audit and /calendar
Recent send metrics (open rate, CTR)Set real benchmarks in /subjects instead of industry averages
Top-performing sendsInform content-strategist skill recommendations
List growth trendContext for awareness and growth goals
Scheduled sendsAvoid conflicts in /calendar

~~crm Active (HubSpot, Salesforce, Close)

Data AvailableHow Commands Use It
Contact lists and segmentsMap content to real audience segments
Pipeline dataContext for B2B content priorities
Lifecycle stage dataAlign content to funnel stage
Company/contact propertiesPersonalization signals for /draft

~~calendar Active (Google Calendar)

Data AvailableHow Commands Use It
Upcoming eventsBuild into /calendar seasonal planning
Deadlines and milestonesAnchor calendar themes
Recurring meetingsUnderstand team time constraints

~~assets Active (Cloudinary)

Data AvailableHow Commands Use It
Image librarySuggest specific images in /draft and /social-pack
Asset tags and categoriesMatch images to content themes
Recent uploadsSurface new assets for timely content

No Connectors Active

Work from Drive documents and direct user input only. Note at the end of output which connectors would enhance results:

💡 Connect ~~email to use your real open rates instead of industry benchmarks.
💡 Connect ~~calendar to build seasonal events into your editorial calendar.

Working With Ambiguous Documents

Drive folders are not always tidy. Real client folders have outdated docs, conflicting information, and missing pieces. Apply judgment:

Multiple Documents of the Same Type

  • Read all versions
  • Prefer the most recently modified
  • If they conflict, use the most recent document's position and flag the conflict briefly

Outdated Documents

  • Use for structural context (pillars, competitors, audience segments)
  • Flag recency concern if document is > 90 days old
  • Don't use outdated performance data as current benchmarks

No Dedicated Document

  • No brand guide → extract voice patterns from the last 3-5 newsletters. Look for recurring phrases, sentence structure, formality level, and vocabulary patterns. Flag as "inferred voice" — less reliable than documented voice.
  • No audience doc → extract audience signals from newsletter intro copy, brief descriptions, and CTA targeting. Flag as "inferred audience."
  • No competitor doc → leave competitor fields empty. /competitor will ask for competitors in the session.
  • No strategy doc → infer pillars from recurring topics in the last 5 newsletters. Flag as "inferred pillars."

Conflicting Information

  • Note the conflict in the status header
  • Use the most recent document's position
  • Ask the user to resolve only if the conflict materially affects the output

Document Type Recognition

Not every client labels their documents neatly. Use content signals to identify document types:

If the document contains...Treat it as...
Voice adjectives, tone descriptions, "we are / we are not" languageBrand guide
Demographic or psychographic descriptions, segment names, "ICP"Audience personas
Competitor names with analysis, strengths/weaknesses, positioningCompetitive analysis
Theme names with descriptions, "pillar", "content territory"Content strategy
Dates with content assignments, publishing scheduleEditorial calendar
Open rates, click rates, subscriber counts, engagement dataPerformance report
"Brief:", objective, target audience, key message, deliverablesCampaign brief

What This Skill Does NOT Do

  • Does not ask the user to re-enter information that's in their documents
  • Does not require a specific folder structure — works with whatever documents exist
  • Does not block on missing documents — flags gaps and continues
  • Does not write or modify Drive documents — read-only
  • Does not cache context across sessions — reads fresh each invocation
  • Does not narrate the loading process — shows status header only
  • Does not require /setup before working — any command works cold

Cross-Skill Dependencies

  • Used by: editorial-config (interprets raw context into structured intelligence)
  • Used by: All commands (via editorial-config)
  • Designed for reuse: Copy this skill into any plugin that needs client context from Google Drive

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.