Newspaper 技能创建
- 作者仓库星标 393
- 许可证 Apache-2.0
- 作者仓库 gradient-bang
Newspaper Asset Generator
Single entry point for all Gradient News & Observer image assets. Routes to the underlying script based on the asset type.
Usage
/newspaper <asset-type> [args]
Asset types:
banner— single wide masthead-style banner (e.g. CALL TO ARMS recruiting header). Handled below.front-page— full ten-section newspaper front page from real game events. Hands off to/news-front-page— invoke that skill directly instead.prompt-experiment— sweep prompt variants for front-page rendering. Callsnews-front-page-prompt-experiment(see src/gradientbang/newspaper/scripts/prompt_experiment.py for flags).
If the user passes an unrecognized asset type, list the three options above and stop — do not guess.
All output goes under artifacts/
artifacts/ is gitignored. Both copy markdown and rendered PNGs live there. Subdirectories per asset type:
artifacts/banners/artifacts/gradient-news-observer-regions/(front-page composited)artifacts/gradient-news-observer-images/(front-page one-shot)
Banner workflow
A banner is a single wide image with one dramatic headline + short body + call-to-action. Used for recruiting drives, special-edition broadsides, channel headers, etc.
Step 1 — gather copy from the user
Required inputs:
- Headline (largest type — e.g.
CALL TO ARMS) - Subhead (one line — e.g.
Pilots Wanted to Test the Combat Rework) - Body (1–3 short sentences setting the stakes)
- Call to action (e.g.
Join the test → #gradient-bang)
Optional:
- Kicker (small caps line above the headline; defaults to
THE GRADIENT NEWS & OBSERVER · SPECIAL EDITION) - Slug (short filename stem, kebab-case; defaults to a slugified headline)
If the user's prompt only gives you a topic ("call to arms for combat rework"), draft kicker/headline/subhead/body/CTA yourself in the newspaper's voice and confirm with the user before rendering — image-edit calls take ~2 minutes and cost real money.
Step 2 — write the copy markdown
Write to artifacts/banners/<slug>.md using this exact structure (each line on its own line, blank lines between blocks). Every visible word in the file is rendered verbatim — no extra hidden formatting.
<KICKER>
<HEADLINE>
<Subhead>
<Body sentences.>
<Call to action>
Keep total visible word count under ~50 — banners get cramped fast. If body runs long, trim it.
Step 3 — render
set -a && source .env.bot && set +a
uv run news-banner --copy-file artifacts/banners/<slug>.md
- Sources
.env.botbecause that's whereOPENAI_API_KEYlives in this repo (the script also auto-loads it from.envif present). - Defaults to
2048x1024(clean 2:1 banner). For wider Discord-banner shapes, append--size 2880x1024. Both dims must be multiples of 16; max edge 3840; max ratio 3:1. - Defaults to the masthead reference. For a busier full-page-style aesthetic, append
--reference src/gradientbang/newspaper/assets/references/full-page-style-fri-sat-pt.png. - Render takes ~120–150s. Stream stdout — the script prints the final PNG path on success.
- Pass
--forceto overwrite an existing PNG with the same name.
Step 4 — show the result
Read the generated PNG so the image is visible in chat, then summarize with the artifact path. The user reviews and either accepts, edits the markdown and re-renders, or asks for a fresh take (image-edit isn't deterministic — same input can produce a different layout).
Front-page workflow
Don't replicate the front-page logic here. Tell the user:
Front pages are a different animal — they pull real game events into a structured digest, then render a 2160×3840 ten-story page. Use
/news-front-page [duration](e.g./news-front-page 24h).
If they explicitly want to re-render an existing markdown front page without regenerating the digest, they can call news-front-page-image --front-page-md <path> directly.
Prompt-experiment workflow
This is a power-user tool for sweeping prompt variants. Run with --help first to surface the flags, then construct the right command for the user's question:
uv run news-front-page-prompt-experiment --help
Rules
- Always confirm copy before spending an image-edit call. Each one costs and takes ~2 min. Cheap to iterate on markdown, expensive to iterate on images.
- Only edit
artifacts/for copy and outputs. Don't write undersrc/for one-off banners. - Don't invent new script entry points. If the user wants something the existing scripts don't support (e.g. a different aspect or new layout), discuss the trade-off before adding code.
- Don't commit anything. The user reviews artifacts and decides what to share.
- 流狐分类
- AI 智能
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 94 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @pipecat-ai · Apache-2.0
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 需简单配置
- 是否需要外部 API Key
- 需要 · OpenAI
- 检测到的系统要求
- 未声明
- 底层运行要求
- 未声明
- 检测到的文件与系统行为
-
- 只读
- 允许写入 / 修改
- 读取环境变量
- 检测到的网络行为
- 允许外网请求
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
# All output goes under artifacts/
- `artifacts/banners/`
- `artifacts/gradient-news-observer-regions/` (front-page composited)
- `artifacts/gradient-news-observer-images/` (front-page one-shot) A banner is a single wide image with one dramatic headline + short body + call-to-action. Used for recruiting drives, special-edition broadsides, channel headers, etc.
Required inputs: Headline (largest type — e.g. CALL TO ARMS) Subhead (one line — e.g. Pilots Wanted to Test the Combat Rework)
Write to artifacts/banners/<slug>.md using this exact structure (each line on its own line, blank lines between blocks). Every visible word in the file is rendered verbatim — no extra hidden formatting. Keep total visible word count under ~50 — banners get…
Sources .env.bot because that's where OPENAIAPIKEY lives in this repo (the script also auto-loads it from .env if present). Defaults to 2048x1024 (clean 2:1 banner). For wider Discord-banner shapes, append --size 2880x1024. Both dims must be multiples of 16;…
Read the generated PNG so the image is visible in chat, then summarize with the artifact path. The user reviews and either accepts, edits the markdown and re-renders, or asks for a fresh take (image-edit isn't deterministic — same input can produce a different…
Don't replicate the front-page logic here. Tell the user: Front pages are a different animal — they pull real game events into a structured digest, then render a 2160×3840 ten-story page. Use /news-front-page [duration] (e.g. /news-front-page 24h).
# Newspaper Asset Generator
Single entry point for all *Gradient News & Observer* image assets. Routes to the underlying script based on the asset type.
## Usage
`/newspaper <asset-type> [args]`
Asset types:
- `banner` — single wide masthead-style banner (e.g. CALL TO ARMS recruiting header). Handled below.
- `front-page` — full ten-section newspaper front page from real game events. Hands off to **[`/news-front-page`](../news-front-page/SKILL.md)** — invoke that skill directly instead.
- `prompt-experiment` — sweep prompt variants for front-page rendering. Calls `news-front-page-prompt-experiment` (see [src/gradientbang/newspaper/scripts/prompt_experiment.py](../../../src/gradientbang/newspaper/scripts/prompt_experiment.py) for flags).
If the user passes an unrecognized asset type, list the three options above and stop — do not guess.
## All output goes under `artifacts/`
`artifacts/` is gitignored. Both copy markdown and rendered PNGs live there. Subdirectories per asset type:
- `artifacts/banners/`
- `artifacts/gradient-news-observer-regions/` (front-page composited)
- `artifacts/gradient-news-observer-images/` (front-page one-shot)
## Banner workflow
A banner is a single wide image with one dramatic headline + short body + call-to-action. Used for recruiting drives, special-edition broadsides, channel headers, etc.
### Step 1 — gather copy from the user
Required inputs:
- **Headline** (largest type — e.g. `CALL TO ARMS`)
- **Subhead** (one line — e.g. `Pilots Wanted to Test the Combat Rework`)
- **Body** (1–3 short sentences setting the stakes)
- **Call to action** (e.g. `Join the test → #gradient-bang`)
Optional:
- **Kicker** (small caps line above the headline; defaults to `THE GRADIENT NEWS & OBSERVER · SPECIAL EDITION`)
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> Usage → All output goes under artifacts/ → Banner workflow → Step 1 — gather copy from the user → Step 2 — write the copy markdown → Step 3 — render
要点 -> [/news-front-page](../news-front-page/SKILL.md) · Headline · Subhead · Body · Call to action · Kicker · Slug · Always confirm copy before spending an image-edit call.
文件/命令 -> /newspaper <asset-type> [args] · banner · front-page · /news-front-page · prompt-experiment · news-front-page-prompt-experiment · artifacts/ · artifacts/banners/
内容 SHA-256 -> a8a720f629c0
方法与流程
适用与边界
原文中的明确线索
/newspaper <asset-type> [args]、banner、front-page、/news-front-page、prompt-experiment、news-front-page-prompt-experiment、artifacts/、artifacts/banners/