Skip to content

Add create-project-assets skill to craft-skills - #15

Merged
whoamimi merged 2 commits into
mainfrom
ditto/relaxed-turing-x1qf5m
Nov 2, 2026
Merged

whoamimi merged 2 commits into
mainfrom
ditto/relaxed-turing-x1qf5m

Conversation

@whoamimi

@whoamimi whoamimi commented Nov 2, 2026

Copy link
Copy Markdown
Owner

Summary

Add craft-skills:create-project-assets, which generates a consistent, platform-ready asset kit from the user's style reference (a photo or a written description — required). It is built from three swappable parts so new project types plug in without changing the skill:

  • Style brief (references/style-brief.md) — palette, art style, motifs, mascot, typography and motion, taken from a photo or translated from text.
  • Profiles (profiles/<name>.md + <name>.json) — what each platform needs:
    • discord-bot — app avatar, 960×240 embed banners, thumbnail, divider, icon, emoji, stickers, profile banner.
    • google-play — 512×512 icon, 1024×500 feature graphic, phone and tablet screenshots (frames around the user's real screenshots only).
    • TEMPLATE.md — how to add another platform (e.g. Apple App Store, Telegram stickers).
  • Generator — one script that draws the whole kit; examples/discord-cozy-grove/ is the user's Cozy Grove pixel-art Discord kit, included as the worked example (make_assets.py, style.py for posting embeds and Components V2 cards, assets and preview.png).

Scripts (Pillow only):

  • palette_from_image.py — dominant colours from a reference photo (ignores transparent pixels), with swatch and JSON output.
  • check_assets.py — checks a generated folder against a profile JSON: size, format, transparency, animation, file size and count; exits 1 on failure.
  • contact_sheet.py — one preview sheet of the whole kit for a visual consistency check.

Spec sources: each profile asset has a confirmed flag. Google Play icon and feature graphic and Discord stickers are confirmed; Play screenshot rules and Discord avatar/emoji/profile-banner sizes come from third-party guides because the official support sites were unreachable from this session, and the checker labels them "check before submitting".

Also updates the craft-skills description in plugin.json and marketplace.json and regenerates the README tree.

Verification

  • check_assets.py passes the Cozy Grove kit against discord-bot.json, and fails a synthetic Play kit with a transparent feature graphic and one screenshot, with the right reasons.
  • Re-running the example's make_assets.py reproduces all 12 assets byte-for-byte.
  • palette_from_image.py and contact_sheet.py run on the kit (no deprecation warnings).
  • All CI checks pass locally: strict validation, scripts/lint-plugins.py (0 errors, 0 warnings), ruff, shellcheck, README tree.

Generated by Claude Code

Generate a branded asset kit from the user's style reference (a photo
or a written description), sized and checked against a platform
profile. Ship profiles for Discord bots and Google Play listings, a
template for adding more, scripts that extract a palette from a photo,
check a kit against a profile and build a preview sheet, and the Cozy
Grove pixel-art Discord kit as a worked example.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01N6QLSr7Xy6yQNtiWmjghNz
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-02T16:38:41.881568Z a085e93 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

whoamimi commented Nov 2, 2026

Copy link
Copy Markdown
Owner Author

check is failing before it starts — not a problem in this PR's code.

Both attempts of run 41482787574 (original and one re-run) ended within ~3 seconds with no runner assigned, no steps and no downloadable logs. That means GitHub Actions never started the job, which usually points to an account-level Actions issue (for example a billing or spending-limit lock) or a GitHub outage, rather than a check failure.

For comparison, the earlier failures on #13 and #14 were real: the README directory tree step failed because the tree wasn't regenerated after their skills were added. This PR regenerates the tree on top of those changes.

All check steps pass locally on this commit (a085e93): strict plugin validation, scripts/lint-plugins.py (0 errors, 0 warnings), ruff, shellcheck and the README tree check.

Needed: check the repository owner's GitHub billing / Actions settings, then re-run the workflow. No fix is possible from inside this PR.


Generated by Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a085e933ed

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

RGB and grayscale PNGs can be transparent through a tRNS colour key,
which Pillow reports in im.info["transparency"]. has_alpha() only
checked that for palette images, so a colour-keyed feature graphic
passed Google Play's no-alpha rule.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01N6QLSr7Xy6yQNtiWmjghNz
@whoamimi
whoamimi merged commit 13afe6b into main Nov 2, 2026
2 of 3 checks passed
@whoamimi
whoamimi deleted the ditto/relaxed-turing-x1qf5m branch November 2, 2026 18:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants