--- name: daily-post description: Create today's best evidence-backed professional post after live research, topic scoring, originality checks, and format selection. Use on /CSpost, "what should I post today?", "good morning where is my post?", or equivalent requests. --- # Daily Post Factory The user should not choose the topic, category, audience, or format unless they want to. ## 0. Load context Read durable CareerSignal context and recent history. If profile is uninitialized, hand off to onboarding and then resume. ## 1. Research broadly inside the user's professional universe Use live web/search capability when available. Prefer: 1. first-party official documentation, release notes, repos, standards, papers; 2. primary research; 3. reputable technical sources; 4. community sources for pain points, not as sole authority for factual claims. Search for: - recent changes/releases; - recurring implementation failures; - API/tool changes; - practitioner pain points; - research worth translating; - misunderstood concepts; - debugging patterns; - security/governance problems; - useful evergreen problems when news is weak. Do not collect generic news. ## 2. Generate candidates Create 5–10 internal candidates across different domains. Domain examples: - agentic systems - LLMs - RAG - evals - MCP/tool use - Python - ML/deep learning - computer vision - data engineering - SQL/data quality - MLOps/deployment - APIs/automation - AI safety - open-source AI - research papers - cloud/GPU - debugging - BI/analytics - research data - the user's own evidence/project domains Use `references/domain-library.md`. ## 3. Turn each candidate into a problem For each candidate identify: - what changed or what commonly fails; - who experiences it; - why it matters; - the practical fix/decision; - what the reader can reuse. Reject candidates that are only announcements. ## 4. Score Use `references/scoring.md`. Important dimensions: - timeliness; - problem importance; - educational value; - actionability; - evidence strength; - match with user's knowledge boundary; - career/professional signal; - novelty; - memorability; - connection quality potential. ## 5. Originality and feed diversity Read recent topic/category/domain/format memory. Check: - same topic; - same core lesson; - same hook pattern; - same format; - same audience; - same visual; - same analogy/joke; - same emotional tone. Use script when available: `python3 engine/originality.py ...` Do not repeat polls or humor back-to-back. Do not let one domain dominate the feed. ## 6. Choose category independently from domain Use `references/category-library.md`. The best topic determines the category, not a rigid calendar. ## 7. Choose teaching structure For advanced learning content prefer: **problem → core idea → how it works → practical example → common mistake → when to use → one rule to remember** Not every post needs every section. Keep one main idea. ## 8. Build-before-post option If the best content would be stronger with original evidence, return BUILD instead of weak commentary. A BUILD action can be: - 5–30 minute code experiment; - small benchmark; - tiny data analysis; - quick architecture prototype; - reproducible comparison. When code execution is available, run it. Then use the result as original evidence and continue to the post. ## 9. Defensibility + counterargument check Before writing: - What would a knowledgeable peer challenge? - What limitation matters? - When is the recommendation wrong? - Can the user defend the post? Soften or remove claims that fail this check. ## 10. Choose format Possible outputs: - text; - poll; - carousel/document; - generated teaching image; - annotated real screenshot; - code + explanation; - architecture diagram; - decision tree; - chart; - short situational humor; - mini-guide. Prefer a real evidence visual over decorative generation. If image generation exists and an original image teaches better, generate it. If not, produce a precise visual brief. ## 11. Draft + quality pipeline Run: 1. evidence/claim check; 2. source freshness check; 3. privacy scan; 4. humanizer; 5. technical/factual audit; 6. hype/AI-tell audit; 7. originality check; 8. format-specific validation; 9. final voice pass. When executable code is used in a post, run/validate it when possible. ## 12. Save history If local state is available, save the draft metadata before returning it: - create a post JSON compatible with `schemas/post.schema.json`; - run `python3 skills/user-context/scripts/context_cli.py record-post --file `. Do not mark as published until the user says it was published. When they do, use `mark-published` and include the LinkedIn URL if they provide it. ## 13. User-visible response By default return only: - final post; - and the selected asset/poll/carousel/code if needed. Do not expose candidate rankings, chain-of-thought, audit tables, or research notes unless asked. If decision is BUILD / ENGAGE / SKIP, say so briefly with one useful action. ## CareerSignal shortcut modes All commands remain intent aliases and may also be expressed naturally. - `/CSpost` — run the complete daily-post workflow. - `/CSideas` — return 5–10 strong ranked ideas only; do not draft the post. - `/CSseries` — create a progressive multi-post learning series from one topic without repeating the same lesson. - `/CSvisual` — create or brief the strongest visual/carousel/diagram for an existing or selected post idea. - `/CSpoll` — create a useful practitioner poll with 2–4 distinct options and a follow-up learning angle. - `/CSreply` — draft a substantive reply/comment grounded in the supplied post/comment and the user's real evidence. - `/CSrepost` — take an older user post and find a materially new angle; do not paraphrase the same lesson. These modes still use evidence, privacy, voice, originality, and source checks.