Files
DBAdmin/inbox/PaperClip/0_paperclip_all_tasks.md
T
2026-05-18 06:40:19 +00:00

30 KiB
Raw Blame History

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 spokei.
  • Parametryzacja: każdy task powinien przyjmować blog_id, hub_id, spoke_id i content_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 spokea 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, revise albo hold,
  • 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 spokea 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 spokea.

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

  1. TASK-001: Blog Registry.
  2. TASK-002: mapa hubów.
  3. TASK-003: mapa spoke’ów.
  4. TASK-091: import backlogu PaperClip.

Produkcja pojedynczego artykułu

  1. TASK-020: topic card.
  2. TASK-010: keyword enrichment.
  3. TASK-012: kanibalizacja.
  4. TASK-021: content brief.
  5. TASK-100: dobór voice.
  6. TASK-030: draft artykułu.
  7. TASK-101: author angle.
  8. TASK-050: human edit checklist.
  9. TASK-052: linkowanie wewnętrzne.
  10. TASK-053: AI disclosure.
  11. TASK-054: schema JSON-LD.
  12. TASK-051: SEO QA.
  13. TASK-060: CMS payload.
  14. TASK-061: preview QA.
  15. TASK-070: pakiet dystrybucyjny.
  16. TASK-071: kolejka social.
  17. TASK-080: debrief 14/30/90 dni.

Rytm tygodniowy

  1. TASK-090: plan tygodnia.
  2. Produkcja 3 głównych wpisów.
  3. Dystrybucja nowych publikacji.
  4. Aktualizacja statusów pipeline.

Rytm miesięczny

  1. TASK-032: personal monthly roundup.
  2. TASK-081: miesięczny audyt hubów.
  3. Korekta kalendarza.
  4. Rozbudowa spoke’ów, które zaczynają działać.
  5. Refresh wpisów, które mają impressions bez kliknięć.