中文说明:README.zh-CN.md
Generate Project Visuals is a Codex Plugin and standalone Skill that reads a
repository and creates its Logo Mark and Logo Lockup plus an English README
Cover, 1280x640 Social Preview, and 16:9 Promo image. Every public image is
exported as PNG at an exact size; SVG is limited to bundled templates and
temporary Logo concepts. Additional or alternative languages are generated
only when explicitly requested or already configured.
The project brand is Generate Project Visuals. The stable Plugin, Skill,
and invocation name remains generate-github-cover.
- The Skill reads repository guidance, documentation, metadata, entry points, configuration, and existing visuals to determine the project's positioning.
- It creates three temporary Logo Mark directions outside the repository and presents them for the user to choose from.
- After the user selects a direction, it renders and validates the final Logo Mark and Logo Lockup.
- It writes an editable Cover configuration, then renders and validates the README Cover, Social Preview, and Promo images in English by default or in the explicitly requested languages.
The renderer requires Python 3.10+, Playwright, Segno, and Chromium:
python -m pip install playwright segno
python -m playwright install chromiumcodex plugin marketplace add ascendho/Generate-Project-Visuals --ref master
codex plugin add generate-github-cover@generate-project-visualsThe first command registers this GitHub repository as a marketplace source;
the second installs the Plugin from that source. This does not require a
listing in the public Plugins Directory. Start a new Codex thread after
installation, then invoke $generate-github-cover or describe a matching
visual-generation task.
Download generate-github-cover-vX.Y.Z.zip from the
latest Release,
verify its .sha256 file, and extract it into the user Skill directory:
shasum -a 256 -c generate-github-cover-vX.Y.Z.zip.sha256
mkdir -p "$HOME/.agents/skills"
unzip generate-github-cover-vX.Y.Z.zip -d "$HOME/.agents/skills"Cloning the whole repository is intended for development. Repository READMEs, workflow files, and showcase artwork are deliberately not included in the standalone Skill archive.
Use $generate-github-cover to create or update this GitHub project's Logo and English Cover, Social Preview, and Promo images.
The Skill reads repository guidance, READMEs, package metadata, entry points, configuration, and existing visuals before writing copy or choosing visual metaphors. It generates files only unless the user explicitly requests README, GitHub settings, commit, or remote updates.
When no language is requested, the Skill generates only English. An explicit
locale set replaces that default; ask to add or retain languages when existing
locales should remain. English uses unsuffixed filenames by default, while
Simplified Chinese uses -zh when English remains the default locale.
The Skill creates assets/<repo-slug>-cover.json as the editable source of
truth for generated artwork. Top-level fields hold project identity and style
selection, while locales holds all translatable Cover, Social Preview, and
Promo copy. It is generated automatically, so users do not need to create it
before invoking the Skill. See the English-only example
or English and Simplified Chinese example
for the complete schema.
To revise generated copy, edit headline, the two description_lines,
notice, or cta under the relevant locale, then rerun render --force and
validate. Template changes are not required for copy edits. Every locale must
remain complete, and each description_lines array must contain exactly two
strings.
source_files is provenance: list only repository-relative files that were
actually read and used. It does not make the renderer load those files. Exclude
secrets, caches, generated output, and unrelated files.
Cover is a compact 5:1 README banner rendered at 4000x800. Keep its two
supporting lines short for the right column. Optional social_preview copy
uses the same shape and falls back to cover; use it when the unchanged
1280x640 Social Preview needs longer wording.
The Skill normally writes the configuration and runs the renderers for you. If
the generated copy needs work, ask the Skill to revise and regenerate it, or
edit the relevant locale in assets/<repo-slug>-cover.json yourself. Users of
the standalone Release archive can then run:
SKILL_DIR="$HOME/.agents/skills/generate-github-cover"
python "$SKILL_DIR/scripts/render_cover.py" render \
assets/<repo-slug>-cover.json --output-dir assets --force
python "$SKILL_DIR/scripts/render_cover.py" validate \
assets/<repo-slug>-cover.json --output-dir assets--force intentionally replaces the existing generated PNGs. validate
checks the expected files and exact dimensions. The default locale uses
unsuffixed filenames; additional locales use -<locale> suffixes.
tools/package_skill.py validates the Plugin version and Skill contents,
creates a reproducible ZIP, and writes its SHA-256 checksum. A semantic version
tag runs the GitHub Actions workflow and publishes both files automatically:
# First update plugin.json to the same semantic version and commit it.
git tag -a v0.2.0 -m "Generate Project Visuals v0.2.0"
git push origin v0.2.0Raster images cannot contain clickable regions. Promo images therefore include the repository address and a QR code. On a web page, wrap the image in an ordinary link when click-through behavior is needed.
Released under the MIT License.
