Skip to content
This repository was archived by the owner on Jun 8, 2026. It is now read-only.

Commit 3dc8546

Browse files
authored
docs: add repo-local magazine image production skill
Add a repo-local direct-image magazine production skill, review rubric, and POC notes for text fidelity plus full-bleed/content page sequencing.
1 parent 25ed9f5 commit 3dc8546

8 files changed

Lines changed: 485 additions & 0 deletions

File tree

Lines changed: 233 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,233 @@
1+
---
2+
name: magazine-image-production
3+
description: Use when producing Frontend Technology Digest issues as direct full-page magazine images, packaging generated page images into a PDF, revising image-first magazine art direction, or handling requests that explicitly avoid HTML magazine assembly.
4+
---
5+
6+
# Magazine Image Production
7+
8+
Repo-local skill for producing Frontend Technology Digest as direct full-page magazine images plus a PDF. Use this when the issue should be drawn as finished pages, not assembled as HTML and not generated as reusable assets.
9+
10+
## Scope
11+
12+
- This is a repo skill for `chatbotgang/fe-magazine`.
13+
- Communication with the user remains Traditional Chinese; magazine content, prompts, filenames, commits, and PR text remain American English.
14+
- The output is a sequence of page PNGs and `{YY-MM}/{YY-MM}.pdf`.
15+
- Do not create `{YY-MM}/index.html` unless the user explicitly asks for the legacy HTML workflow.
16+
- Do not treat generated page images as reusable assets. They are the magazine.
17+
18+
## Intake
19+
20+
1. Read `{YY-MM}/content.md`.
21+
2. If it contains a Content Index pointing to `{YY-MM}/content/*.md`, read every listed file in order.
22+
3. Read any user-provided extra local markdown files, keeping each article/topic separate.
23+
4. Build an issue map with:
24+
- source file
25+
- article/topic title
26+
- core claim
27+
- required facts, dates, names, numbers, and quotes
28+
- visual opportunities
29+
- copyright or source sensitivity
30+
5. Never merge unrelated extra articles into one omnibus spread. Each distinct topic deserves its own editorial treatment unless the user explicitly asks for a roundup.
31+
32+
## Editorial Rules
33+
34+
- Article content is the body of the magazine. Illustration is a lure, rhythm device, or explanatory aid.
35+
- Use a deliberate page mix. Some pages can be almost entirely image-led, some must carry full article body text, and some should be diagram or caption-heavy hybrids.
36+
- Prefer content spreads over decorative openers. Add an opener only when it gives the reader new orientation, a meaningful visual pause, or a standalone visual argument.
37+
- Never repeat opener content in the article page that follows. A visual page and a text page may share a topic, but they must advance different facts or angles.
38+
- Full-bleed and large-image pages are allowed. They may contain very little body copy if the image itself explains something concrete and the adjacent pages carry the article substance.
39+
- Avoid abstract-only pages when the article has concrete mechanisms, people, tools, workflows, timelines, or trade-offs that can be depicted.
40+
- Page numbers are optional. If used, design a folio system intentionally; never allow random or inconsistent page numbers.
41+
- Flat editorial spreads only. Do not generate 3D scanned-book mockups, book gutters, page curls, cast shadows, table surfaces, or visible book edges.
42+
43+
## Page Mix And Content Ledger
44+
45+
Before generating images, create a page ledger. The ledger prevents repeated content and forces good editorial pacing.
46+
47+
For each planned page/spread, record:
48+
49+
| Field | Purpose |
50+
| --- | --- |
51+
| Page id | Stable filename prefix, such as `04-opus-postmortem` |
52+
| Role | full-bleed-image, image-led, article-body, diagram-led, timeline, roundup, cover, contents, closer |
53+
| Source topic | The exact article or section it draws from |
54+
| New information | The facts, claim, quote, timeline step, or example that appears here and nowhere else |
55+
| Visual job | Why this page needs an image or diagram |
56+
| Text load | none, light caption, medium sidebar, full body |
57+
| Carryover | What the next related page must not repeat |
58+
59+
Rules:
60+
61+
- Every article-level topic needs at least one page whose role is `article-body`, unless the topic is intentionally a short brief or visual-only interlude.
62+
- `image-led` pages must not be treated as filler. They need a visual job: explain a system, dramatize a consequence, make a timeline memorable, or create a pause before a dense read.
63+
- `full-bleed-image` pages are valid page roles. They can use little or no body copy, but they must reserve detailed article facts for adjacent content pages unless the full-bleed image is itself the explanatory artifact.
64+
- Do not allocate the same claim, quote, timeline, diagram, or article summary to two pages. If a later page refers back, it must add a new layer.
65+
- If two pages about the same topic feel interchangeable, merge one, rewrite one as a different role, or delete the decorative one.
66+
- Keep complete body text where the reader expects an article. Do not replace a real article with only a slogan, stat card, or abstract illustration.
67+
- Good pacing is not "opener then repeated article." Good pacing is "visual argument, then body text, then evidence/detail" or another clear editorial sequence.
68+
69+
For connected pages about the same topic, extend the ledger with continuity fields:
70+
71+
| Field | Purpose |
72+
| --- | --- |
73+
| Consumed information | Facts, labels, quotes, or concepts already used by the previous page |
74+
| Reserved information | Facts intentionally held for the next page |
75+
| Visual vocabulary used | Main image system, metaphor, composition, medium, and recurring symbols |
76+
| Visual vocabulary forbidden next | Image systems and motifs that the next related page must not reuse |
77+
| Forbidden title language | Exact title words and nearby metaphors that follow-up pages must not repeat |
78+
79+
Rules for connected full-bleed -> content sequences:
80+
81+
- The full-bleed page may establish mood, metaphor, or stakes. The follow-up page must advance the article with different title language, different visual grammar, and new information.
82+
- Do not repeat the full-bleed page's title, main metaphor, hero image, scene, or composition on the follow-up page.
83+
- If the full-bleed page uses a strong metaphor, ban the lexical family on the follow-up page, not just the image. Example: after a page titled `The Fast Door`, also ban `door`, `doorway`, `room`, `vault`, and similar access metaphors.
84+
- Pair contrasting visual systems deliberately: cinematic full-bleed scene -> analytical memo; painterly metaphor -> data table; abstract cover image -> documentary evidence page.
85+
- A follow-up page can explain facts hinted at by the full-bleed page, but it must not restage the same image.
86+
87+
## Style Islands
88+
89+
Different sections should be allowed to look unrelated. The issue can feel curated without sharing a house style.
90+
91+
For every major topic, define a style island before generation:
92+
93+
| Axis | Examples |
94+
| --- | --- |
95+
| Editorial genre | investigative broadsheet, field manual, fashion feature, scientific atlas, trading-card sheet, instruction placard, industrial catalog, zine, annual report |
96+
| Grid | dense columns, modular cards, asymmetric poster, blueprint, timeline, scrapbook, specimen plate |
97+
| Typography mood | condensed grotesk, literary serif, mono technical, tabloid slab, quiet humanist sans |
98+
| Palette | high-key white, safety yellow, black/red, sea-glass, monochrome ink, fluorescent UI, muted newsprint |
99+
| Illustration medium | isometric diagram, cel illustration, pixel art, product photography simulation, technical cutaway, collage, etched line art |
100+
| Density | article-heavy, data-heavy, caption-heavy, visual breather |
101+
102+
Quality gate:
103+
- Adjacent topics must differ on at least four axes.
104+
- Do not reuse the same color family, illustration medium, or layout skeleton for more than two pages unless the pages are part of the same article.
105+
- It is acceptable, and often better, for two chapters to look like they came from different magazines.
106+
107+
## Mascot And Character Policy
108+
109+
- There is no requirement to include the Claw'd mascot on every page.
110+
- Use the mascot only when it helps the topic. It should never replace the article's subject.
111+
- When used, reinvent it for the page's visual world. Keep only broad recognition cues: blocky seafood-colored crustacean, black square eyes, playful engineering context.
112+
- Prefer topic-specific illustrations: people at work, systems, tools, timelines, diagrams, environments, artifacts, and consequences.
113+
114+
## Copyright-Safe Character Design
115+
116+
When a page would benefit from a character inspired by a well-known fictional or commercial figure, do not put that figure, franchise, creator, actor, brand, logo, costume name, catchphrase, unique prop name, or other searchable identifier into the image prompt.
117+
118+
Use this two-step process instead:
119+
120+
1. **Anonymous design brief**
121+
- Describe the role and emotional function, not the source.
122+
- Describe anatomy, posture, age range, silhouette, clothing structure, materials, facial expression, color relationships, props, environment, lighting, and illustration medium in exhaustive neutral detail.
123+
- Change at least five identity-bearing traits: silhouette, palette, clothing, species/body type, era, setting, prop language, hairstyle/head shape, or personality.
124+
- Avoid exact costumes, logos, insignia, signature weapons, vehicles, sidekicks, catchphrases, and title typography.
125+
2. **Generation prompt**
126+
- Use only the anonymous brief.
127+
- Add `original character, no logos, no trademarks, no brand marks`.
128+
- If the character appears inside a full magazine page, keep article text in the layout but avoid text, logos, badges, slogans, or brand-like markings on the character, costume, props, and background artifacts.
129+
- Keep the character subordinate to the article concept unless the page is explicitly a character-led illustration.
130+
131+
Reject and regenerate if the result reads as a recognizable named character, brand mascot, poster, album cover, game asset, or franchise still.
132+
133+
## Direct Page Generation
134+
135+
### Text Fidelity Contract
136+
137+
Before writing the image prompt for any page, define a text contract:
138+
139+
| Field | Use |
140+
| --- | --- |
141+
| Allowed exact text | Headlines, section labels, key stats, dates, and quotes allowed to appear verbatim |
142+
| Opaque labels | Acronyms, project names, people, product names, and repo names that must never be expanded or renamed |
143+
| Forbidden text | Common wrong expansions, made-up labels, fake dates, fake PR numbers, fake versions, and any brand terms to avoid |
144+
| Free paraphrase zones | Body text areas where magazine-style paraphrase is acceptable |
145+
146+
Rules:
147+
148+
- Treat project/team acronyms as opaque labels unless the source explicitly expands them.
149+
- If exact wording matters, say so. Otherwise prefer fewer larger paragraphs over many tiny columns.
150+
- For diagram-led pages, use strict visible text inventories and blank placeholder lines for nonessential microcopy. Do not ask the image model to invent file bodies, status fields, authors, dates, versions, or PR details.
151+
- For article-body pages, lock the headline, deck, sidebar labels, names, numbers, dates, and acronyms. Body paragraphs may be paraphrased only inside declared free paraphrase zones.
152+
- If a full article page must preserve exact body text after two direct-image attempts, switch strategy: generate the page design with intentional blank text areas, then compose the final page image with deterministic text overlay. This is still a final page image, not an HTML issue and not reusable asset production.
153+
154+
For each page/spread, write a full-page prompt that includes:
155+
156+
- issue and page role
157+
- exact source topic
158+
- the page ledger's unique information allocation
159+
- the text fidelity contract
160+
- target aspect ratio and orientation
161+
- editorial genre and style island
162+
- layout structure: headline, deck, body columns, sidebars, captions, diagrams, callouts
163+
- concrete article facts to include
164+
- illustration subject and how it explains the article
165+
- text density target: none, light caption, medium sidebar, or full body
166+
- strict negatives: no book mockup, no folded pages, no random page numbers, no fake logos, no made-up dates, no invented stats
167+
168+
Use GPT Image generation for the final page image when available. Save outputs under a versioned folder such as `{YY-MM}/magazine-pages-v1/` or `{YY-MM}/magazine-pages-trimmed/`.
169+
170+
## Proofing Loop
171+
172+
Create a contact sheet after every generation round. Review the issue page by page, then as a full sequence.
173+
174+
Use [review-rubric.md](references/review-rubric.md) to score each page. Treat hard failures as regeneration triggers even if the page is visually attractive.
175+
176+
For pages with meaningful text, also perform original-size proofing:
177+
178+
- inspect the title, deck, sidebars, and densest body area at original size
179+
- verify opaque labels are unchanged
180+
- verify no forbidden text appears
181+
- verify dates, stats, names, repo names, and quoted phrases match the source or the page ledger
182+
- verify diagram microcopy does not invent implementation details
183+
184+
Regenerate any page with:
185+
186+
- too little article text
187+
- a full article topic that has no article-body page
188+
- unreadable or decorative-only text
189+
- abstract imagery where concrete content exists
190+
- repeated information already allocated to another page
191+
- invented names, dates, stats, UI labels, or citations
192+
- random page numbers or folios
193+
- visible book edges, gutters, page shadows, or scanned-book perspective
194+
- repeated opener material
195+
- repeated chapter style without editorial reason
196+
- every page showing the same mascot or same character type
197+
- recognizable copyrighted character, logo, costume, prop, or franchise visual identity
198+
- a layout that feels like a slide instead of a magazine page
199+
200+
Limit direct regeneration loops. After two attempts at the same page fail for the same reason, change the production strategy instead of repeating a nearly identical prompt.
201+
202+
After user feedback, create a new versioned folder instead of overwriting the previous round unless the user explicitly asks to replace it.
203+
204+
## PDF Packaging
205+
206+
Use the approved page folder, excluding contact sheets:
207+
208+
```bash
209+
magick {YY-MM}/magazine-pages-trimmed/[0-9][0-9]-*.png \
210+
-units PixelsPerInch -density 300 -compress Zip \
211+
{YY-MM}/{YY-MM}.pdf
212+
```
213+
214+
Verify:
215+
216+
```bash
217+
file {YY-MM}/{YY-MM}.pdf
218+
pdfinfo {YY-MM}/{YY-MM}.pdf | sed -n '1,20p'
219+
node -e "const fs=require('fs'); const issues=JSON.parse(fs.readFileSync('issues.json','utf8')); for (const {id} of issues) { const p=id+'/'+id+'.pdf'; if (!fs.existsSync(p)) { console.error('missing '+p); process.exit(1); } }"
220+
```
221+
222+
If `pdfinfo` is unavailable, use `file` plus a platform PDF preview check. Do not claim the PDF is valid until it has been freshly verified.
223+
224+
## Publish Checklist
225+
226+
When publishing a finished issue:
227+
228+
1. Add or update `{YY-MM}/{YY-MM}.pdf`.
229+
2. Add `{YY-MM}` to `issues.json` newest first.
230+
3. Add the issue row to `README.md` newest first.
231+
4. Do not publish generated page folders, alternate PDFs, or zips unless the user asks.
232+
5. Do not add `{YY-MM}/index.html` for direct image issues unless explicitly requested.
233+
6. Open a draft PR first unless the user explicitly asks to merge directly.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Review Rubric
2+
3+
Score each generated page from 0-3 for every criterion.
4+
5+
| Criterion | 3 | 2 | 1 | 0 |
6+
| --- | --- | --- | --- | --- |
7+
| Page role fit | Role is obvious and useful | Role is mostly clear | Role is muddled | Role is decorative only |
8+
| Unique information | Adds facts not repeated elsewhere | Minor overlap | Major repeated summary | Same content as another page |
9+
| Text load fit | Text amount matches role | Slightly too much or little | Text fights the role | Text is absent where needed, or unreadable |
10+
| Concrete visual value | Image explains content | Image supports mood and some detail | Image is generic | Abstract filler |
11+
| Style separation | Clearly unrelated to adjacent topics | Distinct but shares some moves | Too similar | Same template/style |
12+
| Magazine feel | Reads as editorial print | Mostly magazine-like | Slide/poster-like | Looks like a presentation slide |
13+
| Copyright safety | Original, no brand/character risk | Minor generic resemblance only | Noticeable resemblance risk | Recognizable protected character/brand |
14+
| Fact discipline | No invented facts visible | Only harmless atmospheric labels | Some suspicious labels | Fabricated stats/dates/names dominate |
15+
| Sequence continuity | Adjacent related pages advance without repeating title, metaphor, image, or facts | Minor echo only | Noticeable repetition | Same page restaged |
16+
17+
Minimum standard:
18+
19+
- Any hard failure means regenerate or change production strategy.
20+
- A publish candidate should score at least 23/27 when sequence continuity applies, or 20/24 for standalone pages.
21+
- Any article-body page must score 2+ on text load and fact discipline.
22+
- Any image-led page must score 3 on concrete visual value; otherwise it is filler.
23+
- Adjacent major topics should score 3 on style separation unless intentionally part of the same article package.
24+
25+
Hard failures:
26+
27+
- recognizable copyrighted character, logo, costume, prop, or brand mark
28+
- visible book gutter, folded page, cast shadow, or 3D book mockup
29+
- random page numbers or unmanaged folios
30+
- article-body page with unreadable body text
31+
- image-led page that says nothing concrete
32+
- duplicated core claim from another page without a new angle
33+
- opaque labels, dates, stats, names, repo names, or quotes changed from the source
34+
- connected full-bleed/content pages that repeat the same title, lexical metaphor, hero image, composition, or visual system

CLAUDE.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ fe-magazine/
1111
│ ├── magazine.md # Full workflow (orchestrator)
1212
│ ├── magazine-collect.md # Content collection (journalist)
1313
│ └── magazine-edit.md # Editorial design (art director)
14+
├── .agents/
15+
│ └── skills/
16+
│ └── magazine-image-production/ # Repo-local direct image magazine workflow
1417
├── {YY-MM}/ # Issue folder
1518
│ ├── {YY-MM}.pdf # PDF (primary output)
1619
│ ├── index.html # HTML source
@@ -69,6 +72,10 @@ The magazine workflow is split into two commands:
6972

7073
Use `/magazine` to run both in sequence within one session.
7174

75+
### Repo-Local Skills
76+
77+
Use `.agents/skills/magazine-image-production` when the user asks to produce the issue directly as finished magazine page images and a PDF instead of the legacy HTML assembly workflow. That skill overrides the default `{YY-MM}/index.html` expectation for that direct-image issue only.
78+
7279
### Content Guidelines
7380

7481
- **Focus on technical insights** — tooling, architecture, patterns, DX improvements
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.png

0 commit comments

Comments
 (0)