PaperClip Company: "AI Mentorship Blog"
│
├── CEO Agent (orkiestrator)
│   └── hiring plan: 5 agentów
│       ├── Researcher
│       ├── Selector/Hook Writer
│       ├── SEO Analyst
│       ├── Post Writer
│       └── Quality Checker
│
├── Skills (runtime injection)
│   ├── blog-registry.skill     ← profile blogów
│   ├── researcher.skill
│   ├── selector.skill
│   ├── seo-analyst.skill
│   ├── post-writer.skill
│   └── quality-checker.skill
│
└── Heartbeats / Tickets
    └── pipeline_run per blog



Dobra — PaperClip natywnie obsługuje **multi-company isolation**, **org charts**, **heartbeaty**, **approval gates** i **runtime skill injection**. [github](https://github.com/paperclipai/paperclip) Cały pipeline możesz zbudować **wyłącznie w PaperClip** bez zewnętrznego kodu TypeScript. Oto jak to zrobić krok po kroku.

## Architektura natywna w PaperClip

```
PaperClip Company: "AI Mentorship Blog"
│
├── CEO Agent (orkiestrator)
│   └── hiring plan: 5 agentów
│       ├── Researcher
│       ├── Selector/Hook Writer
│       ├── SEO Analyst
│       ├── Post Writer
│       └── Quality Checker
│
├── Skills (runtime injection)
│   ├── blog-registry.skill     ← profile blogów
│   ├── researcher.skill
│   ├── selector.skill
│   ├── seo-analyst.skill
│   ├── post-writer.skill
│   └── quality-checker.skill
│
└── Heartbeats / Tickets
    └── pipeline_run per blog
```

***

## Krok 1 — Utwórz Company per blog

PaperClip ma natywny **multi-company** z pełną izolacją danych. [github](https://github.com/paperclipai/paperclip) Każdy blog to osobna Company w jednym deploymencie.

```
Dashboard → New Company
─────────────────────────────────────
Name:    AI Mentorship Business
Slug:    ai-mentorship
Mission: Run social media pipeline for business owners audience.
         Practical AI content. No hype. Credibility first.
─────────────────────────────────────
Name:    Tech Blog PL
Slug:    tech-blog-pl
Mission: Run social media pipeline for Polish tech audience.
─────────────────────────────────────
```

Każda company widzi tylko swoje agenty, taski i outputy. Jeden PaperClip — wiele izolowanych firm. [github](https://github.com/paperclipai/paperclip)

***

## Krok 2 — Utwórz Skills

Skills w PaperClip to runtime-injected kontekst — agent ładuje je przy starcie taska, bez retrainingu. [github](https://github.com/paperclipai/paperclip) Trzymasz je w `.agents/skills/` lub przez UI.

### `blog-registry.skill`

To jest profil bloga wstrzykiwany do wszystkich agentów w tej company:

```markdown
# BLOG CONTEXT

Blog: AI Mentorship Business
Domain: example.com
Language: en

Audience: Business owners, creators, solo founders who want
  practical AI systems, workflow automation, revenue leverage.

Audience excludes: Developers, engineers, AI hobbyists,
  theory-focused readers.

Brand voice: Sharp, grounded, plain English, experienced
  operator, no hype, no fake certainty.

Forbidden phrases:
- "AI is changing everything"
- "The future is now"
- "Unlock the power of"
- "Game-changer"

Topics that perform:
- Tool reviews with specific time/cost savings
- Contrarian takes on AI timelines
- "I tested this for X hours" stories
- Industry disruption predictions

Topics to avoid:
- Dev/engineering content without business angle
- Generic AI hype with no specific angle
- Academic research

Keyword niche: AI for business, workflow automation,
  solopreneur AI systems

Channels: LinkedIn, Twitter/X
SEO priority: medium
CTA style: soft, credibility-building, not salesy
Approval mode: founder_required
```

### `researcher.skill`

```markdown
# RESEARCHER AGENT

You are a content researcher for this blog.

Mission: Research Reddit and YouTube (last 14 days).
Find ~10 high-potential content ideas with real engagement data.

Platforms:
- Reddit: r/ChatGPT, r/artificial, r/smallbusiness,
  r/Entrepreneur, r/SaaS, r/automation, r/nocode
- YouTube: AI for business, workflow automation,
  solopreneur AI use cases

Per idea capture:
- Topic summary (1 sentence)
- Source platform + URL
- Engagement data (upvotes, comments, views, like ratio)
- Audience fit (1 sentence)
- Adaptation angle (1 sentence)
- Risk flags
- Score: 1-100

Rules:
- Do NOT fabricate engagement numbers
- Do NOT include generic "AI is amazing" content
- Do NOT include dev-only content without business angle
- Flag artificially inflated engagement

Output: ranked list of ~10 ideas → pass to Selector.
```

### `selector.skill`

```markdown
# SELECTOR / HOOK WRITER AGENT

Input: Researcher output (ranked ~10 ideas)

Mission: Select top 3 ideas. Generate 5 hooks per winner.

Scoring criteria:
- Audience fit
- Engagement strength
- Business relevance
- Hook potential
- Personal insight angle

Per top 3 deliver:
- Selection rationale
- Audience angle
- 5 hook options
- Recommended hook + why it wins

Hook rules:
- Hook in first line — no warm-up
- Concrete: numbers, outcomes, tools, real situations
- No motivational phrases
- Sounds like smart operator, not growth hacker

Output: top 3 + hooks → pass to SEO Analyst.
```

### `seo-analyst.skill`

```markdown
# SEO ANALYST AGENT

Input: Selector output (top 3 + hooks)

Mission: SEO brief per post.

Per idea deliver:
1. Search intent (informational/navigational/commercial/transactional)
2. Primary keyword — volume estimate, competition (low/med/high)
3. Supporting cluster — 3-5 related terms
4. 3 SEO title variants (work as LinkedIn headline OR blog title)
5. Content structure (H2/H3 if longer-form, key question to answer early)
6. Competitor content gap — what angle is missing?
7. SEO opportunity score: 1-100

Rules:
- Keywords must fit naturally — voice beats SEO every time
- No keyword density targets
- Flag keywords that would make post sound robotic
- If SEO opportunity weak — say so honestly

Output: SEO brief per post → pass to Post Writer.
```

### `post-writer.skill`

```markdown
# POST WRITER AGENT

Input: Selector output + SEO briefs

Mission: Write 1 full post per top 3 idea.

Each post:
- Open with approved hook — no changes without flagging
- Incorporate primary keyword + cluster naturally
- Stay concrete and specific
- Include practical takeaway or decision framework
- Easy to skim — short paragraphs, line breaks
- End with optional soft CTA
- Answer primary search intent early
- One person talking — not a marketing team

Format:
- LinkedIn: 150-250 words, line breaks, no hashtag walls
- Twitter/X: thread format if needed, tight punchy lines

Brand voice from BLOG CONTEXT applies strictly.
SEO rule: if keyword cannot fit naturally — omit and flag it.

Output: 3 posts + CTA options → pass to Quality Checker.
```

### `quality-checker.skill`

```markdown
# QUALITY CHECKER AGENT

Input: Post Writer output (3 posts)

Mission: Run 4 gates on every post.

Gate 1 — Humanizer:
- Remove robotic/repetitive sentence patterns
- Replace generic filler with specific language
- Must read like smart human wrote it

Gate 2 — Slippery slope:
- Remove overclaims
- Remove unrealistic timeline promises
- Remove anything embarrassing if screenshot
- Adjust certainty to what we can stand behind

Gate 3 — Brand voice:
✓ Practical, grounded, real experience, business owners
✗ Motivational speaker, growth hacker, vague, generic

Gate 4 — SEO integration:
- Primary keyword present and natural?
- Post answers search intent identified?
- Any forced keywords? Remove and flag.

Per post output:
- Final approved post (or rewritten)
- Humanizer changes (bullet list)
- Credibility issues removed/flagged
- SEO integration notes
- Brand voice: pass / conditional / fail
- Recommendation: APPROVE / REVISE / REJECT

Output: Founder Approval Package.
```

***

## Krok 3 — Zatrudnij agentów (Org Chart)

W PaperClip UI tworzysz org chart dla każdej company:

```
Dashboard → Company: AI Mentorship
→ Org Chart → Add Agent

┌─────────────────────────────────────┐
│  CEO                                │
│  Role: Pipeline Orchestrator        │
│  Skills: blog-registry              │
│  Reports to: Founder (you)          │
└──────────────┬──────────────────────┘
               │ hires
    ┌──────────┼──────────┐
    ▼          ▼          ▼
Researcher  Selector   SEO Analyst
skills:     skills:    skills:
researcher  selector   seo-analyst
blog-reg.   blog-reg.  blog-reg.

    ┌──────────┴──────────┐
    ▼                     ▼
Post Writer         Quality Checker
skills:             skills:
post-writer         quality-checker
blog-registry       blog-registry
```

Każdy agent dostaje:
- **System prompt**: rola agenta (np. "You are a content researcher...")
- **Skills**: `blog-registry` + własny skill (runtime injection)
- **Budget**: limit tokenów/kosztów miesięcznie
- **Reports to**: CEO

***

## Krok 4 — CEO System Prompt

To jest system message CEO agenta — łączy wszystko w pipeline:

```markdown
You are the CEO of this content business.
You orchestrate the social media pipeline.

When you receive: "Run social media pipeline"

Execute in sequence:

STEP 1: Delegate to Researcher
Task: "Research ~10 trending content ideas for this blog.
Apply blog-registry skill for audience and topic filters.
Deliver ranked list with engagement data."
Done when: ranked list of ~10 ideas delivered.

STEP 2: Delegate to Selector/Hook Writer
Input: Researcher output
Task: "Select top 3 ideas. Generate 5 hooks per winner.
Apply blog-registry skill for voice and audience rules."
Done when: top 3 with recommended hooks delivered.

STEP 3: Delegate to SEO Analyst
Input: Selector output
Task: "Build SEO brief for each of the top 3 ideas.
Apply blog-registry skill for keyword niche and SEO priority."
Done when: SEO brief per post delivered.

STEP 4: Delegate to Post Writer
Input: Selector output + SEO briefs
Task: "Write 1 full post per winning idea.
Apply blog-registry skill for brand voice, channels, CTA style."
Done when: 3 full posts with CTA options delivered.

STEP 5: Delegate to Quality Checker
Input: Post Writer output
Task: "Run all 4 quality gates on every post.
Apply blog-registry skill for forbidden phrases and brand voice."
Done when: APPROVE / REVISE / REJECT per post delivered.

STEP 6: Compile Founder Approval Package
Deliver one clean package:
- Research summary
- Top 10 candidate ideas
- Top 3 selections with hooks
- SEO briefs
- Final 3 posts with QA notes
- Pipeline status + any blockers

Then: request founder approval before any post goes to Postiz.

DECISION STANDARD:
2 excellent posts > 3 mediocre ones.
If research is weak — say so. Recommend no-post or re-research.
Never forward content that could embarrass the founder.
```

***

## Krok 5 — Uruchomienie

Trzy sposoby odpalenia pipeline'u:

### A — z PaperClip UI (dashboard)
```
Company: AI Mentorship Business
→ CEO Agent
→ New Task
→ "Run social media pipeline"
→ Submit
```

### B — z CLI (terminal)
```bash
# Jeśli masz CLI od PaperClip
paperclip task create \
  --company ai-mentorship \
  --agent ceo \
  --title "Run social media pipeline" \
  --priority high
```

### C — z Twojego pluginu content-machine
```typescript
// Komenda: /social run --blog=ai-mentorship
// wywołuje PaperClip API

await paperclipClient.createTask({
  companySlug: 'ai-mentorship',
  agentRole: 'ceo',
  title: 'Run social media pipeline',
  context: 'Weekly run. Date: ' + new Date().toISOString()
})
```

***

## Krok 6 — Approval Gate

PaperClip ma natywne **governance z approval gates**. [github](https://github.com/paperclipai/paperclip) Quality Checker kończy pracę i CEO flaguje task jako `awaiting_founder_approval`. Ty dostajesz notyfikację, otwierasz ticket w dashboardzie i:

```
┌─────────────────────────────────────────┐
│  FOUNDER APPROVAL                       │
│  Blog: AI Mentorship Business           │
│  Pipeline run: #47                      │
│                                         │
│  Post 1: "Claude + n8n saved me 4h/day" │
│  QA: ✓ pass | SEO: ✓ clean             │
│  [ ✓ Approve ] [ ✎ Revise ] [ ✗ Reject ]│
│                                         │
│  Post 2: "The AI timeline lie"          │
│  QA: ⚠ conditional | SEO: ✓ clean     │
│  [ ✓ Approve ] [ ✎ Revise ] [ ✗ Reject ]│
│                                         │
│  Post 3: "I tested 5 AI tools for 30h" │
│  QA: ✓ pass | SEO: ✓ clean             │
│  [ ✓ Approve ] [ ✎ Revise ] [ ✗ Reject ]│
└─────────────────────────────────────────┘
```

Po zatwierdzeniu CEO deleguje do **Publisher** → Postiz.

***

## Podsumowanie struktury plików

```
.agents/
└── skills/
    ├── blog-registry.skill       ← profil bloga (per company)
    ├── researcher.skill
    ├── selector.skill
    ├── seo-analyst.skill
    ├── post-writer.skill
    └── quality-checker.skill
```

Dla drugiego bloga: **nowa Company w PaperClip + nowy `blog-registry.skill`** z innym profilem. Wszystkie inne skills pozostają te same — zmieniają się tylko wartości w `blog-registry`. [github](https://github.com/paperclipai/paperclip)

Chcesz żebym rozpisał teraz **heartbeat schedule** — czyli jak ustawić żeby pipeline odpalał się automatycznie co tydzień bez ręcznego triggerowania?