AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Email Writer

skill-nicholashidalgo-claude-skillforge-business-email-drafter · by nicholashidalgo

Writes clear, direct professional emails. Removes sycophancy, filler, and AI tells.

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add skill-nicholashidalgo-claude-skillforge-business-email-drafter

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-nicholashidalgo-claude-skillforge-business-email-drafter)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Email Writer? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

email-writer

Purpose: Convert a brief or messy email draft into a direct, natural-sounding professional email free of AI tells.

Input Schema

| Field | Type | Required | Notes | |---|---|---|---| | subject_line | string | yes | Proposed subject or topic | | intent | string | yes | What the email needs to accomplish | | key_facts | string[] | yes | Facts, names, dates that must be preserved | | tone | string | yes | One of: direct, formal, concise, warm-professional | | raw_draft | string | no | Rough draft to clean up |

{
  "subject_line": "API deprecation timeline",
  "intent": "Notify the payments team that v1 API endpoints are deprecated and cutover is required by March 31.",
  "key_facts": ["March 31 deadline", "v1 API", "payments team", "docs at /api/migration"],
  "tone": "direct",
  "raw_draft": "I hope this email finds you well! I wanted to reach out and touch base regarding the important and crucial matter of our API deprecation timeline going forward."
}

Output Schema

{
  "subject": "v1 API deprecation - cutover required by March 31",
  "body": "The v1 API endpoints will be shut off March 31. If your team is still using them, migrate before then - the guide is at /api/migration. Reply here or ping me in Slack if you hit anything unexpected.",
  "patterns_removed": [7, 19, 22],
  "word_count": 52
}

Prompt Flow

Pass 1: Apply core email rewrite. Remove: chatbot openers (P19), sycophancy (P21), em dashes (P13), AI vocab (P7), filler (P22), negative parallelisms (P9), excessive hedging (P23), copula avoidance (P8). Preserve key_facts.

Pass 2 Audit: "What makes this email so obviously AI-generated?" - list remaining tells.

Pass 2 Final: Rewrite removing remaining tells. Keep under 150 words unless facts require more.

Examples

Short - API notification

Before: "I hope this email finds you well! I wanted to reach out regarding the crucial API deprecation timeline, which stands as a pivotal moment in our infrastructure evolution." After: "The v1 API endpoints shut down March 31. Migrate before then - guide at /api/migration."

Medium - Status update

Before: "Just wanted to circle back and provide an update. At this point in time, we have completed the initial phase of the project." After: "Quick status: phase 1 is done. Phase 2 (auth integration) starts Monday. We're on track for the April 15 launch."

Long - Escalation with context

Before: "Great question regarding the outage. Additionally, industry observers have noted that distributed systems face challenges typical of complex environments. The future looks bright." After: "The March 14 outage (9:41-11:23 PM PT) was a misconfigured load balancer after the 11 PM deploy. 4,300 requests timed out. Fix: config rollback. Post-mortem at [link]. I've added a deploy checklist item to catch this going forward."

Unit Tests

# tests/skills/test_email_writer.py
import pytest
from ai_pattern_scrubber import detect_patterns

SHORT_FINAL = "The v1 API endpoints shut down March 31. Migrate before then - guide at /api/migration."
MEDIUM_FINAL = "Quick status: phase 1 is done. Phase 2 (auth integration) starts Monday. On track for April 15."
LONG_FINAL = (
    "The March 14 outage (9:41\u201311:23 PM PT) was a misconfigured load balancer. "
    "4,300 requests timed out. Fix: config rollback. Post-mortem at [link]."
)

def high_severity_hits(text):
    return [h for h in detect_patterns(text) if h.severity == "high"]

def test_email_short_no_high_severity_flags():
    assert high_severity_hits(SHORT_FINAL) == []

def test_email_medium_no_high_severity_flags():
    assert high_severity_hits(MEDIUM_FINAL) == []

def test_email_long_no_high_severity_flags():
    assert high_severity_hits(LONG_FINAL) == []

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.