fix(cola-avatar-pack): prompt stability, bg detection, color & tagline quality#25
Merged
fix(cola-avatar-pack): prompt stability, bg detection, color & tagline quality#25
Conversation
…ity, sprite sheet spike Batch 1 — GENERATE.md prompt layer: - Cat demotion: remove cats from 活泼/毒舌 pools, add non-cat priority rule with 3 exceptions - Slot micro-templates with fixed sentence structure for base_prompt - Switch from transparent background to plain solid white background - Expand negative_prompt with checkerboard, transparency grid, gradient, paper texture - Add Phase 2.6 prompt validation (no Chinese, 65-95 words, no repeats) - Add Phase 2.7 prompt freeze (avatar.json is source of truth for Phase 5+) - Upgrade avatar.json to schema_version 2 with observability fields - Rewrite Phase 5.5 to use --check-bg script instead of LLM visual check - Add differentiated failure strategy (core input stops, single item skips) - Update Phase 7 to only send files present in avatar.json Batch 2 — process_avatar.py background detection: - Two-tier _is_bg_remnant thresholds (bright/mid/dark) - Border flood-fill supplement (Stage A.5) between existing fill and Stage B - New check_background() with 5-step decision tree (fail-safe default) - New --check-bg CLI mode with JSON output Batch 3 spike — sprite_sheet_spike.py: - Standalone script for Banana-inspired v1 validation - Splits 1x4 sprite sheet, validates frames, assembles ping-pong GIF - Imports from process_avatar.py, no code duplication Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…(color batch 1) - Brighten WUXING_COLORS primary and light values across all 5 elements (wood, fire, metal, water, earth) to reduce dark/muted card appearance - Lighten profile card description text from rgb(90,90,90) to rgb(110,110,115) - Add "desaturated colors, muted palette, washed-out colors" to negative_prompt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Redefine Phase 2.4 goal: tagline must be character-specific, not generic - Add anchor priority model (high: unique_detail/name_origin/outfit; mid: species/speech_habit; low: abstract personality labels) - Rewrite tagline prompt to require at least 1 character-specific anchor - Expand Character info inputs to include species, unique_detail, outfit_summary, name_origin, speech_habit - Add Phase 2.4.1 tagline validation: substring match against anchor keywords with pass/fail_generic/fail_line2_redundant outcomes - Update good/bad examples to demonstrate anchor-bound vs generic taglines Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…facing text Replace all descriptive uses of "profile card" with "自画像卡" in GENERATE.md and SKILL.md to prevent Cola from mixing English terms into Chinese conversations with users. Kept unchanged: - English locale prompt (line 266) still says "profile card" - Code identifiers: profile_card.png, --profile-only, "profile_card" JSON keys - SKILL.md description has both: "profile card (自画像卡)" Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Standalone spike script not referenced by any skill flow. Kept locally for Batch 3 validation but should not ship in PR. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0xFANGO
approved these changes
Apr 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Addresses P0/P1 issues in the Cola Avatar Pack: prompt randomness (#8), cat overrepresentation (#1), opaque backgrounds (#3), and tagline homogeneity (#4).
Prompt stability (#8)
base_promptavatar.jsonis source of truth, Phase 5+ reads verbatimschema_versionupgraded to 2 with observability fields (species,species_rationale,palette_summary,outfit_summary,detail_summary)Background fix (#3)
transparent background→plain solid white backgroundin promptnegative_promptwith checkerboard, transparency grid, gradient, paper texturecheck_background()with 5-step decision tree (fail-safe default)--check-bgCLI mode with structured JSON output_is_bg_remnant()thresholds (bright/mid/dark)Species diversity (#1)
Color quality
WUXING_COLORSprimary and light values across all 5 elementsrgb(90,90,90)torgb(110,110,115)desaturated colors, muted palette, washed-out colorsto negative promptTagline quality (#4)
Terminology
Test plan
--check-bgtested with 6 background types (white/transparent/checkerboard/gradient/gray/paper)remove_backgroundtwo-tier thresholds verified (dark outlines preserved, bright bg removed)save_base_imageoutputs 3 files (original, 128px, 256px)--check-bgstandalone mode, missing args error, missing file error🤖 Generated with Claude Code