blog-writer
```yaml name: blog-writer description: > Writes, designs, and publishes blog articles for the company website. Handles the full lifecycle from writing through…
```yaml name: email-writer description: > Drafts emails in the user's authentic voice and tone. Handles replies, cold outreach, follow-ups, introductions, and internal communication. Used by zero-inbox and any email drafting task. triggers: - draft an email - reply to this email
$ npx -y skills add getnao/sylph --skill email-writer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/email-writerContext preview
The summary Claude sees to decide when to auto-load this skill.
```yaml name: email-writer description: > Drafts emails in the user's authentic voice and tone. Handles replies, cold outreach, follow-ups, introductions, and internal communication. Used by zero-inbox and any email drafting task. triggers: - draft an email - reply to this email
name: email-writer description: > Drafts emails in the user's authentic voice and tone. Handles replies, cold outreach, follow-ups, introductions, and internal communication. Used by zero-inbox and any email drafting task. triggers: - draft an email - reply to this email - write an email - email response
---
| Connector | Purpose | |-----------|---------| | Gmail | Send drafted emails |
Match formality to the relationship:
<!-- Customize: add columns for each language the CAO writes in. Run /sylph-setup-skill email to auto-configure. -->
| Relationship | English | [Other language] | |-------------|---------|--------| | Friends / close peers | "Hey [name]," | [casual greeting] | | Colleagues / warm contacts | "Hi [name]," | [warm greeting] | | Prospects / cold contacts | "Hello [name]," | [formal greeting] | | Formal / unknown | "Dear [name]," | [formal greeting] |
**Always follow the greeting with a warm opener:**
Never skip the opener. It bridges the greeting and the body.
---
<!-- Customize: match language columns to your Greetings table above. -->
| Context | English | [Other language] | |---------|---------|--------| | Warm / friendly | "Best," | [warm closing] | | Professional | "Thanks," | [professional closing] | | After a request | "Thanks in advance," | [request closing] | | Formal | "Kind regards," | [formal closing] | | Internal / quick | "Cheers," | [casual closing] |
---
Every email follows this three-part structure:
Reference the context: what they said, what happened, or why you're writing.
The substance of the email. Keep it tight:
Always end with a clear next action:
Never end an email without a next step. Even "No action needed on your end" is a next step.
---
**Match the language of the thread.** If the incoming email is in French, reply in French. If it is in English, reply in English. If the thread switches languages, follow the most recent message.
Do not ask the user which language to use. Just match.
---
---
**Email drafts go to the email client only, never to the repo.**
Do not save email drafts to `content/` or `_drafts/` folders. Emails are ephemeral and belong in the email tool (Gmail, Outlook, etc.) or in the conversation. The only exception is outbound campaign templates, which go in `sales/outbound/campaigns/`.
---
---
| Don't | Why | Do Instead | |-------|-----|------------| | Start with "I hope this email finds you well" | Cliche, robotic | Use the standard opener for the relationship | | Write paragraphs longer than 3 sentences | Nobody reads long email paragraphs | Break it up or use bullets | | Use "per my last email" | Passive-aggressive | Reference the specific point directly | | CC people without reason | Creates noise | Only CC people who need to act or be informed | | Use em dashes (--) | Formatting rule | Use hyphens (-) or colons (:) | | End without a next step | Leaves the thread hanging | Always state what happens next | | Use "please do the needful" | Dated and unclear | Be specific about what you need | | Over-apologize | Undermines confidence | Acknowledge once, then move forward | | Write "As per our discussion" | Stiff | "Following up on our chat" or just reference the topic | | Add a signature block | The email client handles this | Just end with the closing | | Save drafts to the repo | Emails are ephemeral | Send via email tool or present in conversation | | Invent a tone the user hasn't used | Feels off-brand | Match previous emails from the user |
After the CAO edits an email draft before sending:
1. Diff what was drafted vs what she sent - identify patterns in her edits to tone, structure, or phrasing 2. If her edits reveal a voice rule not captured here, add it to the Tone Calibration or What NOT to Do sections 3. If she consistently rewrites openers, closings, or CTAs in a specific way, update the Structure section 4. Update `.claude/MEMORY.md` if the pattern applies across channels (not just email) 5. Note: email drafts don't go to `_published/` (they're ephemeral), but the rules learned still update this skill file
The open-source company brain. Run your entire company with AI agents, skills, and a self-improving context.
Repo: getnao/sylph
```yaml name: blog-writer description: > Writes, designs, and publishes blog articles for the company website. Handles the full lifecycle from writing through…
Process for creating any branded visual asset (social graphics, one-pagers, banners, etc.).
The canonical reference for [your-company]'s brand identity. Load this before creating any branded content.
Runs the CEO's daily operating rhythm - inbox triage, project tracking, weekly planning, and briefing delivery.
Owns the content calendar, weekly planning, daily drafting, docs maintenance, and website review.
Build targeted outbound campaigns from ICP definition through personalized sequences.