May 17, 2026, 11:40 PM
This commit is contained in:
@@ -0,0 +1,468 @@
|
||||
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?
|
||||
Reference in New Issue
Block a user