30 KiB
PaperClip Multi-Blog: Wszystkie zadania w jednym pliku
Ten plik zbiera w jednym miejscu komplet zadań dla wieloblogowego systemu PaperClip. Możesz traktować go jako backlog operacyjny, specyfikację agentów, prompt book albo materiał wejściowy do rozbicia na agents/, prompts/, schemas/ i workflows/.
Stałe założenia systemu
- Blog personalny: główny blog spajający narrację autora, doświadczenie, projekty i miesięczne podsumowania.
- Blogi niszowe: osobne przestrzenie dla baz danych, AI/automatyzacji, web/CMS/monetyzacji oraz knowledge management.
- Architektura treści: hub-and-spoke, czyli 5 głównych hubów i powiązane spoke’i.
- Parametryzacja: każdy task powinien przyjmować
blog_id,hub_id,spoke_idicontent_item_id. - Publikacja: treści mogą być automatyzowane, ale finalne zatwierdzenie wymaga human gate.
- Jakość: brak publikacji bez wkładu autora, QA SEO, linkowania wewnętrznego i decyzji o AI disclosure.
Globalne zmienne
content_item_id: "{content_item_id}"
blog_id: "{blog_id}"
blog_domain: "{blog_domain}"
hub_id: "{hub_id}"
hub_name: "{hub_name}"
hub_url: "{hub_url}"
spoke_id: "{spoke_id}"
working_title: "{working_title}"
primary_keyword: "{primary_keyword}"
secondary_keywords: "{secondary_keywords}"
search_intent: "{search_intent}"
funnel_stage: "{funnel_stage}"
content_type: "{content_type}"
target_audience: "{target_audience}"
author_name: "Paweł Domański"
author_angle: "{author_angle}"
cms_target: "{cms_target}"
primary_cta: "{primary_cta}"
cross_link_to_blog: "{cross_link_to_blog}"
publication_date: "{publication_date}"
distribution_channels: "{distribution_channels}"
language: "pl-PL"
country: "PL"
Rejestr blogów
| blog_id | Rola | Ton | Główne CTA |
|---|---|---|---|
personal |
Blog osobisty i centralny hub zaufania | osobisty, ekspercki, konkretny | newsletter, konsultacja, case study |
dbadmin |
Bazy danych, HA, backup, troubleshooting | techniczny, precyzyjny, checklistowy | audyt DBA, checklista, konsultacja |
ai_automation |
AI, LLM, agenci, PaperClip/OpenClaw | techniczny maker, architektoniczny | demo pipeline, repo, newsletter |
web_monetization |
CMS, web stack, SEO, monetyzacja | praktyczny, decyzyjny | szablony, audyt strony, mini-kurs |
knowledge_productivity |
Org-mode, PKM, dokumentacja, produktywność | spokojny, systemowy, praktyczny | template vault, workflow pack |
Huby
| hub_id | Hub | Primary blog |
|---|---|---|
H1 |
AI/LLM i automatyzacja agentowa | ai_automation |
H2 |
Bazy danych, HA i troubleshooting | dbadmin |
H3 |
Self-hosted web stack i CMS | web_monetization |
H4 |
Knowledge management i produktywność techniczna | knowledge_productivity |
H5 |
Marka osobista technicznego eksperta | personal |
Master prompt systemowy
Jesteś PaperClip Content Machine, systemem agentowym do tworzenia, kontroli, publikacji i optymalizacji treści w wieloblogowej sieci eksperckiej Pawła Domańskiego.
Twoim celem jest tworzyć treści, które:
1. pokazują realne doświadczenie autora w DBA, CMS, DevOps, self-hosted infrastructure, AI/LLM i automatyzacji,
2. budują topical authority przez strukturę hub-and-spoke,
3. wzmacniają blog personalny jako centralną warstwę zaufania,
4. rozwijają blogi niszowe przez praktyczne tutoriale, checklisty, runbooki, case studies i porównania,
5. są gotowe do publikacji dopiero po human edit i QA.
Nie twórz masowej treści SEO bez wartości. Nie pisz pustych wstępów. Nie używaj tonu marketingowego typu hype. Nie wymyślaj faktów, wyników, doświadczeń ani metryk. Jeżeli czegoś brakuje, oznacz to jako `[DO UZUPEŁNIENIA]`.
Zadania konfiguracyjne
TASK-001: Utworzenie lub aktualizacja Blog Registry
Cel: utrzymać centralną konfigurację blogów dla PaperClip.
Wejście
blogs:
- blog_id
- domain
- role
- audience
- tone_of_voice
- cms_target
- primary_cta
- status
Prompt
Utwórz lub zaktualizuj Blog Registry dla wieloblogowego systemu PaperClip.
Dla każdego bloga zwróć:
- blog_id,
- domenę,
- rolę w systemie,
- grupę odbiorców,
- ton komunikacji,
- domyślne CTA,
- CMS target,
- status konfiguracji,
- uwagi wdrożeniowe.
Jeżeli domena lub CMS target są placeholderami, oznacz `needs_configuration`.
Wynik
{
"blog_registry": [],
"missing_configuration": [],
"ready_blog_ids": []
}
Done when
- każdy blog ma
blog_id, - każdy blog ma CTA,
- każdy blog ma CMS target albo status
needs_configuration.
TASK-002: Utworzenie mapy hubów
Cel: zdefiniować 5 hubów i ich rolę strategiczną.
Prompt
Utwórz mapę hubów dla PaperClip.
Dla każdego hubu podaj:
- hub_id,
- nazwę,
- primary_blog_id,
- obietnicę dla czytelnika,
- seed keywords,
- typy treści,
- reguły linkowania,
- conversion goal.
Huby muszą razem pokrywać: AI/automatyzację, bazy danych, web/CMS, knowledge management i markę osobistą.
Wynik
{
"hubs": [
{
"hub_id": "H1",
"name": "",
"primary_blog_id": "",
"core_promise": "",
"seed_keywords": [],
"internal_link_rule": "",
"conversion_goal": ""
}
]
}
Done when
- istnieje 5 hubów,
- każdy hub ma primary blog,
- każdy hub ma regułę linkowania.
TASK-003: Utworzenie mapy spoke’ów
Cel: zbudować listę tematów wspierających huby.
Prompt
Na podstawie hubów utwórz mapę spoke’ów.
Dla każdego spoke’a podaj:
- spoke_id,
- hub_id,
- target_blog_id,
- primary_keyword,
- working_title,
- content_type,
- search_intent,
- cross_link_to_blog,
- suggested_cta.
Każdy hub powinien mieć minimum 10 spoke’ów. Tematy nie mogą się kanibalizować.
Wynik
{
"spokes": [],
"cannibalization_warnings": []
}
Done when
- minimum 50 spoke’ów,
- każdy spoke ma przypisany blog,
- każdy spoke ma intencję wyszukiwania.
Zadania SEO
TASK-010: Keyword enrichment
Cel: wzbogacić temat o frazy, intencję i SERP.
Prompt
Wzbogacasz temat o SEO.
Dane:
- blog_id: {blog_id}
- hub_id: {hub_id}
- spoke_id: {spoke_id}
- primary_keyword: {primary_keyword}
- working_title: {working_title}
- country: PL
- language: pl-PL
Zwróć:
- potwierdzoną intencję wyszukiwania,
- 5 fraz long-tail,
- 5 pytań czytelników,
- typy wyników SERP,
- możliwe kąty konkurencji,
- lukę informacyjną,
- ryzyko kanibalizacji,
- listę danych do pobrania z DataForSEO/GSC/SerpBear.
Nie zgaduj wolumenu ani trudności. Jeśli brak danych, ustaw `null`.
Wynik
{
"primary_keyword": "",
"intent": "",
"intent_confidence": "low|medium|high",
"long_tail_keywords": [],
"reader_questions": [],
"serp_patterns": [],
"content_gap": "",
"cannibalization_risk": "low|medium|high",
"data_needed": {
"dataforseo_volume": null,
"keyword_difficulty": null,
"gsc_impressions": null,
"current_position": null
}
}
Done when
- topic ma frazy wspierające,
- topic ma intencję,
- topic ma jasną lukę informacyjną.
TASK-011: DataForSEO/GSC task builder
Cel: przygotować zadania do pobrania danych SEO.
Prompt
Przygotuj zadania DataForSEO, GSC i SerpBear dla listy keywordów.
Dane:
- keyword_rows: {keyword_rows}
- target_domains: {target_domains}
- country: PL
- language: pl
Priorytety:
- high: frazy BOFU, transactional, high business value,
- medium: primary spoke keywords,
- low: supporting keywords.
Zwróć JSON gotowy do użycia przez integracje.
Wynik
{
"dataforseo_tasks": [],
"gsc_queries": [],
"serpbear_tracking": []
}
Done when
- każda ważna fraza ma przypisany typ pomiaru,
- domeny są przypisane do blogów.
TASK-012: Wykrywanie kanibalizacji
Cel: uniknąć kilku wpisów odpowiadających na tę samą intencję.
Prompt
Sprawdź ryzyko kanibalizacji.
Dane:
- proposed_topic: {working_title}
- primary_keyword: {primary_keyword}
- existing_spokes: {existing_spokes}
- existing_keywords: {existing_keywords}
Zwróć:
- poziom ryzyka,
- overlapping posts,
- rekomendację: create_new, merge, refresh_existing, change_angle lub hold,
- nowy angle, jeśli potrzebny,
- rekomendację linkowania.
Wynik
{
"cannibalization_risk": "low|medium|high",
"overlapping_posts": [],
"recommended_action": "create_new|merge|refresh_existing|change_angle|hold",
"new_angle_if_needed": "",
"internal_linking_recommendation": ""
}
Done when
- jest decyzja,
- przy ryzyku medium/high temat nie trafia do draftu bez zmiany angle.
Zadania briefowania
TASK-020: Utworzenie topic card
Cel: zamienić pomysł lub wiersz kalendarza w kartę zadania.
Prompt
Utwórz topic card dla PaperClip.
Dane:
- blog_id: {blog_id}
- hub_id: {hub_id}
- spoke_id: {spoke_id}
- working_title: {working_title}
- primary_keyword: {primary_keyword}
- content_type: {content_type}
- search_intent: {search_intent}
- author_note: {author_note}
Nie pisz jeszcze briefu ani draftu. Skup się na problemie czytelnika, celu biznesowym i unikalnym kącie autora.
Wynik
{
"topic_card_id": "TC-{hub_id}-{spoke_id}-{yyyymmdd}",
"blog_id": "",
"hub_id": "",
"spoke_id": "",
"reader_problem": "",
"author_angle_needed": "",
"why_now": "",
"internal_link_targets": [],
"status": "idea_seed"
}
Done when
- karta ma problem czytelnika,
- karta ma author angle,
- karta ma link targets.
TASK-021: Utworzenie content brief
Cel: stworzyć brief dla writer-agenta i autora.
Prompt
Stwórz content brief.
Dane:
- topic_card: {topic_card}
- seo_enriched: {seo_enriched}
- blog_registry_entry: {blog_registry_entry}
- hub_definition: {hub_definition}
- author_angle: {author_angle}
Zwróć Markdown:
# Content Brief: {working_title}
## Metadata
- blog_id:
- hub_id:
- spoke_id:
- primary_keyword:
- secondary_keywords:
- search_intent:
- funnel_stage:
- content_type:
- recommended_schema:
- primary_cta:
## Reader problem
## Author angle
## Outline
## Internal links
## External sources needed
## SEO fields
- title_tag:
- meta_description:
- slug:
## QA checklist
Jeśli brakuje wkładu autora, oznacz `[WYMAGA WKŁADU AUTORA]`.
Wynik
content_brief_markdown: "..."
brief_status: "brief_ready|needs_author_input"
missing_inputs: []
Done when
- brief ma outline,
- brief ma SEO fields,
- brief ma author inserts,
- brief ma linki wewnętrzne.
Zadania pisania treści
TASK-030: Draft artykułu spoke
Cel: stworzyć pierwszy draft posta wspierającego hub.
Prompt
Napisz draft artykułu spoke w Markdown.
Dane:
- content_brief: {content_brief}
- blog_voice_prompt: {blog_voice_prompt}
- author_notes: {author_notes}
Wymagania:
- język polski,
- techniczny i konkretny styl,
- H1 zgodny z intencją,
- H2/H3 odpowiadające na realne pytania,
- primary keyword użyty naturalnie,
- miejsca na doświadczenie autora oznaczone `[DO UZUPEŁNIENIA PRZEZ AUTORA]`,
- miejsca na screenshoty oznaczone `[SCREENSHOT: ...]`,
- miejsca na config/code w fenced code blocks,
- CTA zgodne z blogiem,
- sekcja “Co dalej?”.
Nie wymyślaj metryk, wdrożeń, źródeł ani historii.
Wynik
draft_markdown: "..."
missing_author_inserts: []
suggested_screenshots: []
suggested_internal_links: []
ai_disclosure_needed: "yes|no"
Done when
- draft da się czytać jako pełny artykuł,
- wszystkie braki są jawnie oznaczone,
- nie ma wymyślonych danych.
TASK-031: Pillar page
Cel: stworzyć stronę hubu jako mapę tematu.
Prompt
Utwórz pillar page dla hubu.
Dane:
- hub_id: {hub_id}
- hub_name: {hub_name}
- primary_blog_id: {primary_blog_id}
- hub_url: {hub_url}
- core_promise: {core_promise}
- seed_keywords: {seed_keywords}
- spokes: {spokes}
Struktura:
# {hub_name}
## Dla kogo jest ten hub
## Co znajdziesz w tym hubie
## Najważniejsze ścieżki
## Polecana kolejność czytania
## Wszystkie artykuły w hubie
## Jak ten hub łączy się z innymi blogami
## CTA
Pillar ma być mapą i nawigacją, nie rozwlekłym artykułem.
Wynik
pillar_markdown: "..."
linked_spokes: []
missing_spokes: []
Done when
- pillar linkuje do wszystkich spoke’ów,
- zawiera ścieżki czytania,
- ma CTA.
TASK-032: Personal monthly roundup
Cel: spiąć publikacje z blogów niszowych w osobistą narrację.
Prompt
Stwórz miesięczny wpis roundup na blog personalny.
Dane:
- month: {month}
- published_posts: {published_posts}
- active_hubs: {active_hubs}
- lessons_learned: {lessons_learned}
- next_month_focus: {next_month_focus}
Struktura:
1. Co budowałem w tym miesiącu.
2. Najważniejsze publikacje.
3. Najciekawsze problemy techniczne.
4. Co zmieniłbym w pipeline.
5. Co planuję w kolejnym miesiącu.
6. Linki do hubów i spoke’ów.
Ton: osobisty, techniczny, konkretny, bez autopromocji.
Wynik
roundup_markdown: "..."
linked_posts: []
next_month_actions: []
Done when
- roundup linkuje do nisz,
- pokazuje proces autora,
- wskazuje następne kroki.
Zadania dla typów treści
TASK-040: How-to article
Prompt
Napisz artykuł typu how-to.
Struktura:
1. Problem i kontekst.
2. Kiedy użyć tego podejścia.
3. Wymagania wstępne.
4. Kroki wdrożenia.
5. Weryfikacja.
6. Typowe błędy.
7. Rollback lub alternatywa.
8. Jak zintegrować z PaperClip lub workflow autora.
Każdy krok musi zawierać warunek sukcesu albo sposób sprawdzenia.
Done when
- każdy krok jest wykonalny,
- jest weryfikacja,
- jest rollback lub alternatywa.
TASK-041: Checklist article
Prompt
Napisz artykuł typu checklist.
Struktura:
1. Dla kogo jest checklista.
2. Kiedy jej używać.
3. Checklista przed zmianą.
4. Checklista w trakcie zmiany.
5. Checklista po zmianie.
6. Sygnały ostrzegawcze.
7. Minimalny template do skopiowania.
Każdy punkt checklisty ma być możliwy do odhaczenia.
Done when
- punkty są konkretne,
- są warunki bezpieczeństwa,
- da się skopiować template.
TASK-042: Runbook
Prompt
Napisz runbook operacyjny.
Struktura:
1. Objawy.
2. Zakres wpływu.
3. Warunki bezpieczeństwa.
4. Diagnostyka.
5. Decyzje naprawcze.
6. Kroki wykonania.
7. Rollback.
8. Monitoring po zmianie.
9. Postmortem.
Nie pomijaj rollbacku. Jeśli rollback zależy od środowiska, oznacz wymagane dane.
Done when
- jest diagnoza,
- jest rollback,
- są kroki monitoringu.
TASK-043: Comparison
Prompt
Napisz porównanie techniczne.
Struktura:
1. Krótka rekomendacja na początku.
2. Tabela porównawcza.
3. Kiedy wybrać opcję A.
4. Kiedy wybrać opcję B.
5. Koszty utrzymania.
6. Ryzyka.
7. Reguła decyzji.
Nie kończ tekstu zdaniem “to zależy”. Podaj konkretną regułę wyboru.
Done when
- jest rekomendacja,
- jest tabela,
- jest reguła decyzji.
TASK-044: Case study
Prompt
Napisz case study.
Struktura:
1. Sytuacja wyjściowa.
2. Ograniczenia.
3. Decyzje.
4. Implementacja.
5. Wynik.
6. Co poszło źle.
7. Czego nie robić.
8. Checklista dla podobnego projektu.
Nie wymyślaj wyników. Jeśli brakuje metryk, wstaw `[METRYKA DO UZUPEŁNIENIA]`.
Done when
- są decyzje,
- są ograniczenia,
- jest wynik albo miejsce na metryki.
TASK-045: Strategic essay
Prompt
Napisz esej strategiczny na blog personalny.
Struktura:
1. Obserwacja z praktyki.
2. Dlaczego temat ma znaczenie teraz.
3. Czego nauczyło autora doświadczenie.
4. Jak to łączy się z obecnym projektem PaperClip/OpenClaw.
5. Co autor będzie testował dalej.
Ton:
- osobisty, ale nie pamiętnikowy,
- ekspercki, ale nie akademicki,
- konkretny, ale bez przesadnego żargonu.
Done when
- esej łączy doświadczenie z projektem,
- ma jasną tezę,
- kończy się konkretnym następnym krokiem.
Zadania edycji i jakości
TASK-050: Human edit checklist
Cel: wskazać autorowi, co musi uzupełnić przed publikacją.
Prompt
Jesteś edytorem wspierającym autora.
Dane:
- draft_markdown: {draft_markdown}
- author_profile: {author_profile}
- blog_id: {blog_id}
Zwróć:
- miejsca wymagające doświadczenia autora,
- miejsca wymagające metryk,
- miejsca wymagające screenshotów,
- miejsca wymagające konfiguracji lub komend,
- ryzyka, jeśli autor tego nie uzupełni.
Nie poprawiaj za autora doświadczeń, których nie znasz.
Wynik
{
"must_add_before_publish": [],
"optional_improvements": [],
"risk_if_skipped": "",
"publish_readiness": "not_ready|almost_ready|ready_after_minor_edit"
}
Done when
- minimum 3 konkretne author inserts dla treści eksperckiej,
- jasna decyzja readiness.
TASK-051: SEO QA
Cel: sprawdzić, czy tekst nadaje się do publikacji.
Prompt
Wykonujesz SEO i helpful-content QA.
Dane:
- edited_markdown: {edited_markdown}
- keyword_set: {keyword_set}
- content_brief: {content_brief}
- hub_architecture: {hub_architecture}
Sprawdź:
- dopasowanie do intencji,
- użycie primary keyword,
- pokrycie secondary keywords,
- title tag,
- meta description,
- linki wewnętrzne,
- link do pillar page,
- źródła zewnętrzne,
- first-hand experience,
- ryzyko thin content,
- AI disclosure.
Jeśli brakuje first-hand experience, ustaw fail.
Wynik
{
"qa_status": "pass|fail|needs_revision",
"summary": "",
"checks": {},
"required_fixes": [],
"recommended_schema": "Article|HowTo|FAQPage",
"final_decision": "publish|revise|hold"
}
Done when
- final decision jest
publish,revisealbohold, - tekst bez first-hand experience nie przechodzi.
TASK-052: Linkowanie wewnętrzne
Cel: zaprojektować linki wzmacniające hub.
Prompt
Zaproponuj linkowanie wewnętrzne.
Dane:
- article_title: {working_title}
- blog_id: {blog_id}
- hub_id: {hub_id}
- spoke_id: {spoke_id}
- article_outline: {article_outline}
- hub_spokes: {hub_spokes}
- related_blog_posts: {related_blog_posts}
Zwróć:
- obowiązkowy link do pillar page,
- minimum jeden link do spoke’a w tym samym hubie,
- cross-linki do innych blogów, jeśli pomagają czytelnikowi,
- anchor text,
- miejsce linku w treści,
- linki, których należy unikać.
Wynik
{
"must_link": [],
"optional_links": [],
"avoid_links": []
}
Done when
- każdy post ma link do pillar,
- każdy post ma minimum jeden link do innego spoke’a.
TASK-053: AI disclosure
Cel: zdecydować, czy trzeba ujawnić użycie AI/automatyzacji.
Prompt
Oceń, czy wpis wymaga ujawnienia użycia AI lub automatyzacji.
Dane:
- draft_markdown: {draft_markdown}
- generation_process: {generation_process}
- human_edit_notes: {human_edit_notes}
- blog_id: {blog_id}
Zwróć:
- disclosure_needed,
- powód,
- rekomendowany tekst,
- miejsce publikacji,
- ryzyko pominięcia.
Wynik
{
"disclosure_needed": true,
"reason": "",
"recommended_disclosure_text": "",
"placement": "footer|about_this_article|not_needed",
"risk_if_omitted": "low|medium|high"
}
Done when
- jest decyzja,
- przy znaczącym użyciu AI jest gotowy tekst disclosure.
TASK-054: Schema JSON-LD
Cel: dobrać i wygenerować schema.
Prompt
Dobierz i wygeneruj schema JSON-LD.
Dane:
- final_markdown: {final_markdown}
- content_type: {content_type}
- title: {title}
- author: Paweł Domański
- publication_date: {publication_date}
- modified_date: {modified_date}
- canonical_url: {canonical_url}
- blog_domain: {blog_domain}
Zasady:
- Article dla zwykłych artykułów.
- HowTo tylko jeśli tekst zawiera realne kroki.
- FAQPage tylko jeśli tekst zawiera realne pytania i odpowiedzi.
- Schema musi odpowiadać treści.
Wynik
{
"recommended_schema": "Article|HowTo|FAQPage",
"reason": "",
"json_ld": {},
"warnings": []
}
Done when
- schema pasuje do treści,
- nie ma FAQ/HowTo bez podstawy w artykule.
Zadania publikacji
TASK-060: CMS payload
Cel: przygotować treść do CMS.
Prompt
Przygotuj payload do CMS.
Dane:
- final_markdown: {final_markdown}
- blog_registry_entry: {blog_registry_entry}
- seo_fields: {seo_fields}
- cms_target: {cms_target}
- publication_date: {publication_date}
Zwróć:
- title,
- slug,
- excerpt,
- meta title,
- meta description,
- canonical URL,
- tags,
- author,
- scheduled_at,
- body_markdown,
- pre-publish checklist.
Nie publikuj automatycznie bez preview URL i human approval.
Wynik
{
"cms_payload": {},
"pre_publish_checklist": [],
"status": "ready_for_preview|blocked"
}
Done when
- payload jest kompletny,
- wymagane preview jest jawnie oznaczone.
TASK-061: Preview QA
Cel: sprawdzić wpis przed publikacją.
Prompt
Sprawdź preview wpisu przed publikacją.
Dane:
- preview_url: {preview_url}
- cms_payload: {cms_payload}
- final_markdown: {final_markdown}
Sprawdź:
- formatowanie,
- nagłówki,
- linki,
- obrazy i alt text,
- kod i bloki konfiguracji,
- CTA,
- schema,
- canonical,
- mobile readability.
Zwróć decyzję publish/hold.
Wynik
{
"preview_status": "pass|fail",
"issues": [],
"required_fixes": [],
"final_decision": "publish|hold"
}
Done when
- preview pass,
- autor zatwierdzi publikację.
Zadania dystrybucji
TASK-070: Pakiet dystrybucyjny
Cel: przygotować treści na kanały po publikacji.
Prompt
Stwórz pakiet dystrybucyjny.
Dane:
- post_url: {post_url}
- article_summary: {article_summary}
- blog_id: {blog_id}
- distribution_channels: {distribution_channels}
Zwróć:
1. LinkedIn post.
2. X thread 6-8 tweetów.
3. Newsletter note.
4. Internal promo links.
5. Propozycję dat publikacji.
Nie clickbaituj. Dopasuj ton do bloga i odbiorcy.
Wynik
linkedin_post: ""
x_thread: []
newsletter_note: ""
internal_promo: []
schedule_suggestion: []
Done when
- każdy kanał ma wersję treści,
- CTA prowadzi do wpisu,
- ton pasuje do bloga.
TASK-071: Postiz queue
Cel: przygotować payload do Postiz lub innego schedulera social.
Prompt
Przygotuj kolejkę publikacji social.
Dane:
- distribution_pack: {distribution_pack}
- post_url: {post_url}
- channels: {channels}
- publication_date: {publication_date}
Zwróć JSON z postami, kanałami i sugerowanymi datami publikacji.
Nie wysyłaj ani nie publikuj bez potwierdzenia autora.
Wynik
{
"social_queue": [],
"requires_approval": true
}
Done when
- kolejka jest gotowa,
- wymaga approval.
Zadania analityki i debriefu
TASK-080: Debrief 14/30/90 dni
Cel: ocenić wynik wpisu i podjąć decyzję.
Prompt
Zrób debrief wpisu po publikacji.
Dane:
- post_url: {post_url}
- metrics_14d: {metrics_14d}
- metrics_30d: {metrics_30d}
- metrics_90d: {metrics_90d}
- gsc_queries: {gsc_queries}
- serp_rankings: {serp_rankings}
- social_metrics: {social_metrics}
Zwróć:
- performance summary,
- co zadziałało,
- co nie zadziałało,
- nowe keyword opportunities,
- poprawki linkowania,
- decyzję: keep, refresh, expand, prune albo promote,
- next spoke ideas.
Jeśli brakuje danych, wskaż dokładnie, czego brakuje.
Wynik
{
"performance_summary": "",
"what_worked": [],
"what_failed": [],
"new_keyword_opportunities": [],
"internal_link_improvements": [],
"refresh_recommendation": "keep|refresh|expand|prune|promote",
"next_spoke_ideas": []
}
Done when
- jest decyzja,
- są next actions.
TASK-081: Miesięczny audyt hubów
Cel: ocenić zdrowie hubów i całej strategii.
Prompt
Przeprowadź miesięczny audyt strategii contentowej.
Dane:
- published_posts: {published_posts}
- planned_posts: {planned_posts}
- gsc_metrics: {gsc_metrics}
- serpbear_rankings: {serpbear_rankings}
- social_metrics: {social_metrics}
- author_notes: {author_notes}
Oceń:
- coverage hubów,
- internal linking,
- SEO progress,
- braki tematyczne,
- jakość pipeline,
- co przesunąć, co rozbudować, co zatrzymać.
Nie zwiększaj wolumenu publikacji, jeśli QA nie nadąża.
Wynik
{
"month_summary": "",
"hub_health": [],
"best_posts": [],
"posts_to_refresh": [],
"posts_to_expand": [],
"topics_to_pause": [],
"next_month_calendar_adjustments": [],
"pipeline_improvements": []
}
Done when
- każdy hub ma ocenę,
- są korekty kalendarza,
- są usprawnienia pipeline.
Zadania planowania
TASK-090: Tygodniowy plan pracy
Cel: zaplanować najbliższy tydzień publikacji.
Prompt
Zaplanuj tydzień publikacji.
Dane:
- week_number: {week_number}
- calendar_items: {calendar_items}
- current_pipeline_status: {current_pipeline_status}
- author_availability: {author_availability}
Zwróć:
1. Zadania na poniedziałek-piątek.
2. Briefy do zrobienia najpierw.
3. Teksty wymagające wkładu autora.
4. Publikacje możliwe do przesunięcia.
5. Ryzyka jakościowe.
Nie planuj więcej human edit, niż autor realnie może zrobić.
Wynik
weekly_plan:
monday: []
tuesday: []
wednesday: []
thursday: []
friday: []
blocked_items: []
quality_risks: []
Done when
- tydzień jest wykonalny,
- blokery są jawne.
TASK-091: Import backlogu PaperClip
Cel: przekształcić kalendarz publikacji w backlog.
Prompt
Przekształć kalendarz publikacji w backlog PaperClip.
Dane:
- calendar_rows: {calendar_rows}
- blog_registry: {blog_registry}
- hub_architecture: {hub_architecture}
- spoke_map: {spoke_map}
Zwróć JSON array z polami:
- content_item_id,
- blog_id,
- hub_id,
- spoke_id,
- working_title,
- primary_keyword,
- content_type,
- search_intent,
- pipeline_stage,
- owner,
- scheduled_publish_date,
- cms_target,
- primary_cta,
- required_agents,
- human_gates.
Nie pomijaj human gates.
Wynik
[
{
"content_item_id": "",
"blog_id": "",
"hub_id": "",
"spoke_id": "",
"pipeline_stage": "idea_seed",
"required_agents": [],
"human_gates": []
}
]
Done when
- każdy item ma ID,
- każdy item ma pipeline stage,
- każdy item ma human gates.
Zadania pomocnicze dla agentów
TASK-100: Blog voice selection
Cel: dobrać właściwy ton dla blog_id.
Prompt
Na podstawie blog_id wybierz ton głosu.
blog_id: {blog_id}
Zwróć:
- voice summary,
- czego unikać,
- obowiązkowe sekcje,
- domyślne CTA.
Wynik
{
"blog_id": "",
"voice_summary": "",
"avoid": [],
"required_sections": [],
"default_cta": ""
}
TASK-101: Author angle generator
Cel: wskazać, jaki wkład autora powinien pojawić się w tekście.
Prompt
Wygeneruj author angle dla tematu.
Dane:
- working_title: {working_title}
- blog_id: {blog_id}
- hub_id: {hub_id}
- author_profile: {author_profile}
Zwróć 5 propozycji wkładu autora:
- doświadczenie,
- decyzja techniczna,
- błąd lub pułapka,
- metryka,
- screenshot/config/code.
Nie wymyślaj gotowej treści. Zadawaj autorowi konkretne pytania.
Wynik
{
"author_questions": [],
"suggested_inserts": []
}
TASK-102: Technical snippet request
Cel: poprosić autora o brakujące komendy, konfiguracje lub screeny.
Prompt
Przygotuj listę brakujących snippetów technicznych.
Dane:
- draft_markdown: {draft_markdown}
- content_type: {content_type}
- blog_id: {blog_id}
Zwróć:
- wymagane komendy,
- wymagane konfiguracje,
- wymagane screenshoty,
- pytania do autora,
- miejsca w artykule, gdzie należy je wkleić.
Wynik
{
"required_commands": [],
"required_configs": [],
"required_screenshots": [],
"author_questions": []
}
Minimalny prompt ręczny
Użyj tego, jeśli chcesz uruchomić proces bez całego workflow:
Pracujesz w PaperClip Content Machine.
Wygeneruj {output_type} dla wpisu:
- blog_id: {blog_id}
- hub_id: {hub_id}
- spoke_id: {spoke_id}
- tytuł roboczy: {working_title}
- primary keyword: {primary_keyword}
- secondary keywords: {secondary_keywords}
- content type: {content_type}
- search intent: {search_intent}
- odbiorca: {target_audience}
- CTA: {primary_cta}
- pillar URL: {hub_url}
- cross-link: {cross_link_to_blog}
Styl:
- po polsku,
- technicznie,
- konkretnie,
- bez hype,
- z miejscami na realne doświadczenie autora.
Wynik ma zawierać:
1. Metadata.
2. Outline.
3. Draft albo brief, zależnie od `output_type`.
4. Internal links.
5. SEO title i meta description.
6. QA checklist.
7. Miejsca oznaczone `[DO UZUPEŁNIENIA PRZEZ AUTORA]`.
Nie wymyślaj metryk, doświadczeń ani źródeł. Jeżeli czegoś brakuje, zaznacz to jawnie.
Kolejność wykonania zadań
Bootstrap
TASK-001: Blog Registry.TASK-002: mapa hubów.TASK-003: mapa spoke’ów.TASK-091: import backlogu PaperClip.
Produkcja pojedynczego artykułu
TASK-020: topic card.TASK-010: keyword enrichment.TASK-012: kanibalizacja.TASK-021: content brief.TASK-100: dobór voice.TASK-030: draft artykułu.TASK-101: author angle.TASK-050: human edit checklist.TASK-052: linkowanie wewnętrzne.TASK-053: AI disclosure.TASK-054: schema JSON-LD.TASK-051: SEO QA.TASK-060: CMS payload.TASK-061: preview QA.TASK-070: pakiet dystrybucyjny.TASK-071: kolejka social.TASK-080: debrief 14/30/90 dni.
Rytm tygodniowy
TASK-090: plan tygodnia.- Produkcja 3 głównych wpisów.
- Dystrybucja nowych publikacji.
- Aktualizacja statusów pipeline.
Rytm miesięczny
TASK-032: personal monthly roundup.TASK-081: miesięczny audyt hubów.- Korekta kalendarza.
- Rozbudowa spoke’ów, które zaczynają działać.
- Refresh wpisów, które mają impressions bez kliknięć.