Skip to content
Back to skills

Content Publisher

ASecurity

Use when automating drafting and publishing articles to Substack and

  • 12 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
ai-agentsjavascriptpythongojavanodedebugginggitapisecurityperformance

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add oyi77/1ai-skills --skill content-publisher --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Content Publisher?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Content Publisher
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/oyi77-content-publisher/badge)](https://www.skillsdirectory.com/skills/oyi77-content-publisher)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: content-publisher
description: Use when automating drafting and publishing articles to Substack and
  Medium with SEO optimization, editorial calendars, and cross-platform distribution.
domain: automation
author: oyi77
license: Apache-2.0
subdomain: workflow-automation
tags:
- automation
- content
- productivity
- publisher
- seo
- workflow
version: 1.0.0
category: automation
---

# Content Publisher

## When to Use

**Trigger phrases:**
- "content publisher"
- "Help me with content publisher"

**Use cases:**
- When the task matches this skill's domain expertise

**When NOT to use:**
- For tasks outside this skill's scope


Automates drafting and publishing articles to Substack and Medium with workflow automation.


## When NOT to Use

- For one-off tasks that will never repeat
- When the process requires human judgment at every step
- When the cost of automation exceeds the cost of manual execution


## Overview

Content Publisher automates workflow automation to reduce manual effort and increase reliability.

## Workflow

```python
# Example: Workflow automation
import schedule
import time

def run_workflow():
    data = fetch_data()
    processed = transform(data)
    deliver(processed)

schedule.every().hour.do(run_workflow)
while True:
    schedule.run_pending()
    time.sleep(60)
```

1. **Define triggers** — Set up events or schedules that initiate the automation
2. **Configure inputs** — Specify data sources and parameters
3. **Design pipeline** — Define the sequence of automated steps
4. **Add error handling** — Set up retries, alerts, and fallback paths
5. **Test end-to-end** — Validate the full automation with realistic data
6. **Deploy and monitor** — Activate and track performance


## Code Examples

### Python: Medium Draft
```python
import os, requests

def publish_medium(title, body, tags):
    token = os.environ["MEDIUM_TOKEN"]
    headers = {"Authorization": f"Bearer {token}", "Content-Type": "application/json"}
    user = requests.get("https://api.medium.com/v1/me", headers=headers).json()["data"]["id"]
    payload = {"title": title, "contentFormat": "markdown", "content": body,
               "tags": tags[:5], "publishStatus": "draft"}
    resp = requests.post(f"https://api.medium.com/v1/users/{user}/posts", headers=headers, json=payload)
    resp.raise_for_status()
    return resp.json()["data"]["url"]
```

### Node.js: WordPress Post
```javascript
export async function publishWP(title, content, tags) {
  const auth = Buffer.from(`${process.env.WP_USER}:${process.env.WP_APP_PASSWORD}`).toString("base64");
  const resp = await fetch(`${process.env.WP_URL}/wp-json/wp/v2/posts`, {
    method: "POST", headers: { Authorization: `Basic ${auth}`, "Content-Type": "application/json" },
    body: JSON.stringify({ title, content, status: "draft", tags }),
  });
  if (!resp.ok) throw new Error(`WP ${resp.status}`);
  return (await resp.json()).link;
}
```

## Configuration

- Set trigger conditions (schedule, webhook, event)
- Define input validation rules
- Configure notification channels for alerts
- Set retry policies and timeout limits

## Best Practices

- Start with simple automations and iterate
- Add logging at every step for debugging
- Use idempotent operations where possible
- Test with edge cases before deploying

## Common Issues & Troubleshooting

| Problem | Solution |
|---|---|
| Medium 403 Forbidden | Token expired. Regenerate in Settings → Security → Integration tokens. |
| Substack draft missing | Session cookie expires ~24h. Re-authenticate and extract fresh `SUBSTACK_SESSION`. |
| WordPress 401 Unauthorized | Wrong app password or URL. Verify `WP_URL` ends with `/wp-json/wp/v2/`. |
| Cross-post formatting differs | Unsupported Markdown features. Strip footnotes and uncommon extensions before dispatch. |
| Medium tag limit (max 5) | API rejects >5 tags. Truncate to `tags[:5]` in the request payload. |

## Anti-Rationalization Table

| Rationalization | Reality |
|---|---|
| "Manual is faster for one-off tasks" | One-off tasks become recurring. Automate early, save time later. |
| "I will add error handling later" | You never do. Handle errors from day one. |
| "Automation is overkill" | If you do it twice, automate it. If you do it daily, it is critical infrastructure. |


## Process

1. **Research** — Analyze target audience, competitors, and trending topics
1. **Create** — Generate content following brand guidelines and best practices
1. **Publish & Optimize** — Distribute to target platforms, track performance, iterate

## Monetization

- **Content syndication service** — Offer automated cross-publishing to bloggers and small businesses. Google Doc or Markdown → Substack + Medium + WP.
- **Newsletter arbitrage** — Repurpose top Medium articles to a paid Substack newsletter; auto-forward new Substack posts back to Medium for discovery traffic.
- **SEO content agency** — Combine automated publishing with SEO analysis as a "write once, rank everywhere" retainer service for clients.
- **Publishing templates & scripts** — Sell reusable publishing workflows, editorial calendar templates, and API integration scripts as digital products.

## Verification

- [ ] All steps executed successfully
- [ ] Results validated against acceptance criteria
- [ ] Error handling tested with edge cases
- [ ] Documentation updated with findings

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…