create-post
Create a new blog post or content task about a given topic.
Skill by Glad-Labs
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/glad-labs-create-post
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/create-post
What's inside
- Skill name
create-post- Description
- Create a new blog post or content task about a given topic. Use when the user says "write a post about", "create content about", "draft an article on", or similar.
- License
- Apache-2.0
- Instructions
- 59 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- run.sh · scripts/
SKILL.md (first lines)
# Create Post
Creates a new content task via `POST /api/tasks`. Pending tasks are dispatched by
**Prefect** (`services/flows/content_generation.py`) and run through the
`canonical_blog` pipeline — a 36-node `graph_def` stored in the
`pipeline_templates` table (authored in `services/canonical_blog_spec.py`,
compiled by `services/pipeline_architect.py`). The chain runs linearly through
six blocks:
1. **verify** — `verify_task`: task record exists and is processable.
2. **writer** — `generate_draft` → `generate_title` → `check_title_originality`
→ `normalize_draft` → `draft_gate` (optional HITL, seeded off) →
`writer_self_review` → `resolve_internal_link_placeholders` →
`reconcile_citations` (deterministic citation repair, #765).
3. **quality + images** — `quality_evaluation` (pattern-QA gate) →
`url_validation` → `plan_image_markers` → `generate_images` →
`inject_images` → `source_featured_image` → `caption_images` (vision alt-text).
4. **qa.\* rail block** (12 atoms) — `qa.programmatic` → `qa.critic` →
`qa.deepeval` → `qa.ragas` → `qa.vision` → `qa.topic_delivery` →
`qa.citations` → `qa.unlinked_attribution` → `qa.consistency` →
`qa.self_consistency` → `qa.web_factcheck` → `qa.aggregate`: multi-model QA
delegating to `multi_model_qa.py`; `qa.aggregate` makes the gate decision
(halts on reject, no rewrite loop). Replaced the deleted `cross_model_qa`
stage (#355).
5. **seo + media** — `seo.generate_all_metadata` (single structured call, #734)
→ `generate_media_scripts` → `generate_video_shot_list` →
`capture_training_data`.
6. **finalize** — `compile_meta` → `persist_task` → `record_pipeline_version` →
`evaluate_auto_publish`: mark `awaiting_approval` (or auto-publish if
score ≥ threshold).
The writer model is **DB-configurable** via cost tiers
(`cost_tier.{free,budget,standard,premium}.model` in `app_settings`), not hardcoded.
Tasks that fail QA are rejected — `qa.aggregate` halts the graph on reject (no
automatic rewrite loop as of #355) and the post lands with a loud reason on the
`/pipeline` dashboard.
## Usage
```bash
scripts/run.sh "topic" [category] [target_audience] [primary_keyword]
```
## Parameters
- **topic** (string, optional): the subject of the post. Be specific — vague topics produce mediocre content and are more likely to trip the brand filter. Required unless `seed_url` is provided. Length: 3–200 characters.
- **seed_url** (string, optional): a URL to seed the topic from. When present, the handler fetches the URL, extracts the title and opening paragraph, uses the title as the topic if `topic` is omitted, and injects a "Source article" attribution block into the writer's research context. The brand filter is bypassed for URL-seeded tasks. One of `topic` or `seed_url` is required (HTTP 422 otherwise). If the fetch fails (404, login wall, timeout, oversize response, non-HTML content type), the API returns HTTP 400 with an `error: "seed_url_fetch_failed"` body and a human-readable `reason`. Max length: 2048 characters.
- **category** (string, optional): `technology`, `business`, `marketing`, etc. Defaults to `general`.
- **target_audience** (string, optional): `developers`, `founders`, `AI enthusiasts`. Defaults to `general`.
- **primary_keyword** (string, optional): SEO keyword. The SEO stage will use it as the preferred anchor.
The fetch behavior is tunable via `app_settings`: `seed_url_fetch_timeout_seconds` (default 10s), `seed_url_user_agent`, and `seed_url_max_bytes` (default 1 MiB).
## Output
Returns the task record with its `id` (UUID), `status: pending`, and metadata. When `seed_url` was provided, the URL is preserved on the task (and round-tripped via `task_metadata.seed_url`) so the writer can attribute the source. Track progress with `list-tasks` or the `/pipeline` dashboard.From Glad-Labs/poindexter, Apache-2.0.
More from Glad-Labs/poindexter
- 0.627score
approve-post
Glad-Labs
Approve a content task for publishing.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
cost-report
Glad-Labs
Show AI/LLM spending, budget usage, and operational cost metrics.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
find-similar-posts
Glad-Labs
Find blog posts semantically similar to a topic — pulls from the posts embedding source.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
list-tasks
Glad-Labs
List content tasks, show the pipeline queue, or check task status.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
site-settings
Glad-Labs
View or update pipeline settings stored in the database.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
vercel-status
Glad-Labs
Check Vercel deployment status, recent deployments, and domains for the public site via the Vercel REST API.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
voice-off
Glad-Labs
Turn off the LiveKit voice bridge for this Claude Code session.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
voice-on
Glad-Labs
Turn on the LiveKit voice bridge for this Claude Code session.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
voice-speak
Glad-Labs
Speak text into the active LiveKit voice bridge — TTS the assistant's reply into the room.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
quality-report
Glad-Labs
Show content quality scores and QA results for tasks that have cleared the pipeline.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
recall-conversation
Glad-Labs
Recall something said earlier in this voice conversation — semantic search over the voice_messages table.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
recall-decision
Glad-Labs
Look up a past decision or memory specifically — filtered to memory-type embeddings (decision logs, project notes, feedback).
SkillAFreshness: A★ 6Claude Code +9
Signals
- Stars
- 6
- Forks
- 2
- Open issues
- 31
- Last commit (this folder)
- Jul 26, 2026 (3 months ago)
- Last release
- Oct 21, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/Glad-Labs/poindexter
- Website
- www.gladlabs.io
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Glad-Labs
- 0.627score
approve-post
Glad-Labs
Approve a content task for publishing.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
find-similar-posts
Glad-Labs
Find blog posts semantically similar to a topic — pulls from the posts embedding source.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
list-tasks
Glad-Labs
List content tasks, show the pipeline queue, or check task status.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
cost-report
Glad-Labs
Show AI/LLM spending, budget usage, and operational cost metrics.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
quality-report
Glad-Labs
Show content quality scores and QA results for tasks that have cleared the pipeline.
SkillAFreshness: A★ 6Claude Code +9 - 0.627score
recall-conversation
Glad-Labs
Recall something said earlier in this voice conversation — semantic search over the voice_messages table.
SkillAFreshness: A★ 6Claude Code +9
Cite this page
create-post skill. Agent Mart. https://agentmart.dev/skills/glad-labs-create-post (last updated 2026-10-24)