#206 by GitHub stars
yang0/handraw-style
手绘风格编号画廊与双语提示词 Skill
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/article-cover-designer/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/article-illustration-planner/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/community-share/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/couple-photo-orchestrator/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/couple-photo-orchestrator/skills/hairstyle/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/couple-photo-orchestrator/skills/huanzhuang/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/couple-photo-orchestrator/skills/kefu/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/couple-photo-orchestrator/skills/makeup/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/couple-photo-orchestrator/skills/meihua/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/couple-photo-orchestrator/skills/paishe/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/couple-photo-orchestrator/skills/zongkong/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/custom-asset-manager/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/handdraw-style-prompter/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/ip-designer/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/layout-library-importer/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/personal-library/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/poster-prompt-generator/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/release-illustration-planner/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/style-business-analyzer/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/style-fusion-prompter/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/style-library-importer/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
skills/tweet-style-importer/SKILL.md
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 572dff8f8cc1
No earlier version was observed for comparison.
Verified commit 572dff8f8cc1dc16ff9bef1422e90b3dfc42284d
git clone --filter=blob:none --no-checkout https://github.com/yang0/handraw-style.git .hotskills/yang0-handraw-style && git -C .hotskills/yang0-handraw-style checkout --detach 572dff8f8cc1dc16ff9bef1422e90b3dfc42284d
# Copy each selected skill directory from .hotskills/yang0-handraw-style into .agents/skills/<skill-name>/Heat
8.3- Star growth, last 7 daysAhead of 98% of tracked repositories
- Star growth, last 24 hoursAhead of 96% of tracked repositories
- Rank movement, last 7 daysAhead of 90% of tracked repositories
- Commits, last 30 daysAhead of 91% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- handdraw-style-prompter
/ - article-cover-designer
skills/article-cover-designer - article-illustration-planner
skills/article-illustration-planner - community-share
skills/community-share - couple-photo-orchestrator
skills/couple-photo-orchestrator - editorial-hairstylist
skills/couple-photo-orchestrator/skills/hairstyle - couple-photo-wardrobe-board
skills/couple-photo-orchestrator/skills/huanzhuang - couple-photo-requirements-planner
skills/couple-photo-orchestrator/skills/kefu - editorial-makeup-artist
skills/couple-photo-orchestrator/skills/makeup - reference-beauty-prep
skills/couple-photo-orchestrator/skills/meihua - couple-photo-shooting-planner
skills/couple-photo-orchestrator/skills/paishe - couple-photo-orchestrator
skills/couple-photo-orchestrator/skills/zongkong - custom-asset-manager
skills/custom-asset-manager - handraw-skill
skills/handdraw-style-prompter - ip-designer
skills/ip-designer - layout-library-importer
skills/layout-library-importer - handraw-personal-library
skills/personal-library - poster-prompt-generator
skills/poster-prompt-generator - release-illustration-planner
skills/release-illustration-planner - style-business-analyzer
skills/style-business-analyzer - style-fusion-prompter
skills/style-fusion-prompter - style-library-importer
skills/style-library-importer - tweet-style-importer
skills/tweet-style-importer
How it works
handdraw-style-prompter
When your agent uses it
Turn a 001–367 hand-drawn and realistic style number and image theme into bilingual prompts, using model capability data to decide when core traits and a numbered reference image are required.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
8,534 tokensWhen the skill is activated
Reference documents
222,075 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Post-generation sharing across all routes
- Request routing index
- Default mode
- Style activation policy
- Session initialization
- Inputs
- Layout workflows
- Prompt modes
- Output
- Utilities
- Personal resources and community collections
Scripts executed separately
build_workbuddy_release.pyscripts/audit_release.pyscripts/batch_generate_all_business.pyscripts/build_markdown_galleries.pyscripts/contact_sheet_registry.pyscripts/discourse_client.pyscripts/generate_style_business.pyscripts/import_manual_style.pyscripts/import_tweet_style.pyscripts/migrate_style_assets.pyscripts/optimize_images.pyscripts/package_skill.pyscripts/patch_image_numbers.pyscripts/personal_library.pyscripts/scrape_tweet.pyscripts/style_asset_paths.pyscripts/style_library_import.pyscripts/sync_to_static.pyscripts/test_image_gallery.cjsscripts/verify_all_business_files.pyscripts/workbuddy_check_audit.pyscripts/workbuddy_midnight_resubmit.pyskills/handdraw-style-prompter/scripts/build_color_gallery.pyskills/handdraw-style-prompter/scripts/build_layout_gallery.pyskills/handdraw-style-prompter/scripts/build_library.pyskills/handdraw-style-prompter/scripts/prompt_style.pyskills/handdraw-style-prompter/scripts/prompt_style.pyskills/handdraw-style-prompter/scripts/resolve_reference.pyskills/handdraw-style-prompter/scripts/split_contact_sheets.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.pyskills/handdraw-style-prompter/scripts/validate_library.py
Files
.github/workflows/sync-gitee.ymlasset675 bytes.gitignoreasset1,517 bytesAGENTS.mddoc3,733 bytesCOLORS.mddoc12,037 bytesCOLORS_en.mddoc10,874 bytesDEPENDENCIES.mddoc2,208 bytesLAYOUTS.mddoc119,045 bytesLAYOUTS_en.mddoc139,537 bytesLICENSEasset1,606 bytesMANIFEST.mddoc1,562 bytesREADME.mddoc24,453 bytesREADME_en.mddoc26,209 bytesRELEASE_AUDIT.mddoc2,041 bytesSKILL.mdcore36,634 bytesSKILL.mdcore36,634 bytesSKILL.mdcore36,634 bytesSKILL.mdcore36,634 bytesSTYLES.mddoc174,096 bytesSTYLES_en.mddoc171,000 bytesTUTORIALS.mddoc2,310 bytesTUTORIALS_en.mddoc2,400 bytesbuild_workbuddy_release.pyruns2,437 bytesimages/A_001-016.webpasset187,224 bytesimages/A_017-032.webpasset192,920 bytesimages/A_033-035.webpasset62,470 bytesimages/B_036-048.webpasset211,766 bytesimages/B_049-054.webpasset126,482 bytesimages/C_055-070.webpasset227,286 bytesimages/C_071-082.webpasset229,296 bytesimages/D_083-098.webpasset262,168 bytesimages/D_099-114.webpasset265,576 bytesimages/D_115-123.webpasset169,858 bytesimages/E_124-139.webpasset478,314 bytesimages/E_140-154.webpasset332,100 bytesimages/F_155-170.webpasset340,850 bytesimages/F_171-186.webpasset306,864 bytesimages/F_187-200.webpasset389,392 bytesimages/G_201-216.webpasset309,482 bytesimages/H_217-232.webpasset189,538 bytesimages/H_233-248.webpasset291,736 bytesimages/H_249-264.webpasset332,354 bytesimages/H_265-280.webpasset380,438 bytesimages/H_281-296.webpasset449,892 bytesimages/H_297-312.webpasset360,032 bytesimages/H_313-328.webpasset426,284 bytesimages/H_329-331.webpasset132,702 bytesimages/I_332-347.webpasset319,512 bytesimages/I_348-363.webpasset374,174 bytesimages/I_364-367.webpasset138,516 bytesimages/avatar.pngasset132,493 bytesimages/avatar_dev.pngasset80,171 bytesimages/characters/CH-001.webpasset47,112 bytesimages/colors/C-01.webpasset10,552 bytesimages/colors/C-02.webpasset16,372 bytesimages/colors/C-03.webpasset13,402 bytesimages/colors/C-04.webpasset19,216 bytesimages/colors/C-05.webpasset12,350 bytesimages/colors/C-06.webpasset12,080 bytesimages/colors/C-07.webpasset11,926 bytesimages/colors/C-08.webpasset19,626 bytesimages/colors/C-09.webpasset13,318 bytesimages/colors/C-10.webpasset17,036 bytesimages/colors/C-11.webpasset10,372 bytesimages/colors/C-12.webpasset17,502 bytesimages/colors/C-13.webpasset16,328 bytesimages/colors/C-14.webpasset11,402 bytesimages/colors/C-15.webpasset15,432 bytesimages/colors/C-16.webpasset14,502 bytesimages/colors/C-17.webpasset11,342 bytesimages/colors/C-18.webpasset13,700 bytesimages/colors/C-19.webpasset12,144 bytesimages/colors/C-20.webpasset9,944 bytesimages/colors/C-21.webpasset16,898 bytesimages/colors/C-22.webpasset12,682 bytesimages/colors/C-23.webpasset18,514 bytesimages/colors/C-24.webpasset13,350 bytesimages/colors/C-25.webpasset11,966 bytesimages/colors/C-26.webpasset16,128 bytesimages/colors/C-27.webpasset17,694 bytesimages/colors/C-28.webpasset17,482 bytesimages/colors/C-29.webpasset12,416 bytesimages/colors/C-30.webpasset12,306 bytesimages/colors/C-31.webpasset14,124 bytesimages/colors/C-32.webpasset12,146 bytesimages/colors/C-33.webpasset19,208 bytesimages/colors/C-34.webpasset11,626 bytesimages/colors/C-35.webpasset14,738 bytesimages/colors/C-36.webpasset15,032 bytesimages/colors/sheet_01.webpasset80,734 bytesimages/colors/sheet_02.webpasset85,502 bytesimages/colors/sheet_03.webpasset81,346 bytesimages/colors/sheet_04.webpasset80,824 bytesimages/colors/sheet_05.webpasset84,936 bytesimages/colors/sheet_06.webpasset108,726 bytesimages/graphic-text-mode-demo.webpasset96,458 bytesimages/individual/FA/FA-001.webpasset15,082 bytesimages/individual/FA/FA-002.webpasset8,236 bytesimages/individual/FA/FA-003.webpasset19,032 bytesimages/individual/FA/FA-004.webpasset7,346 bytesimages/individual/FA/FA-005.webpasset14,186 bytesimages/individual/FA/FA-006.webpasset16,254 bytesimages/individual/FA/FA-007.webpasset15,930 bytesimages/individual/FA/FA-008.webpasset15,926 bytesimages/individual/FA/FA-009.webpasset30,016 bytesimages/individual/FA/FA-010.webpasset11,872 bytesimages/individual/FA/FA-011.webpasset18,870 bytesimages/individual/FA/FA-012.webpasset8,464 bytesimages/individual/FA/FA-013.webpasset15,326 bytesimages/individual/FA/FA-014.webpasset13,372 bytesimages/individual/FA/FA-015.webpasset10,734 bytesimages/individual/FA/FA-016.webpasset12,150 bytesimages/individual/FA/FA-017.webpasset16,634 bytesimages/individual/FA/FA-018.webpasset10,000 bytesimages/individual/FA/FA-019.webpasset18,580 bytesimages/individual/FA/FA-020.webpasset13,556 bytesimages/individual/FA/FA-021.webpasset8,802 bytesimages/individual/FA/FA-022.webpasset17,626 bytesimages/individual/FA/FA-023.webpasset15,248 bytesimages/individual/FA/FA-024.webpasset17,310 bytesimages/individual/FA/FA-025.webpasset11,000 bytesimages/individual/FA/FA-026.webpasset30,336 bytesimages/individual/FA/FA-027.webpasset21,796 bytesimages/individual/FA/FA-028.webpasset9,946 bytesimages/individual/FA/FA-029.webpasset8,414 bytesimages/individual/FA/FA-030.webpasset9,298 bytesimages/individual/FA/FA-031.webpasset8,598 bytesimages/individual/FA/FA-032.webpasset22,416 bytesimages/individual/FA/FA-033.webpasset9,604 bytesimages/individual/FA/FA-034.webpasset17,928 bytesimages/individual/FA/FA-035.webpasset16,314 bytesimages/individual/FA/FA-036.webpasset21,390 bytesimages/individual/FA/FA-036_grid.webpasset95,366 bytesimages/individual/FA/FA-037.webpasset21,134 bytesimages/individual/FA/FA-037_grid.webpasset95,676 bytesimages/individual/FA/FA-038.webpasset7,128 bytesimages/individual/FA/FA-038_grid.webpasset34,020 bytesimages/individual/FA/FA-039.webpasset56,028 bytesimages/individual/FA/FA-040.webpasset27,998 bytesimages/individual/FB/FB-001.webpasset28,670 bytesimages/individual/FB/FB-002.webpasset13,730 bytesimages/individual/FB/FB-003.webpasset20,462 bytesimages/individual/FB/FB-004.webpasset27,502 bytesimages/individual/FB/FB-005.webpasset30,978 bytesimages/individual/FB/FB-006.webpasset16,138 bytesimages/individual/FB/FB-007.webpasset16,328 bytesimages/individual/FB/FB-008.webpasset14,746 bytesimages/individual/FB/FB-009.webpasset24,188 bytesimages/individual/FB/FB-010.webpasset10,650 bytesimages/individual/FB/FB-011.webpasset10,922 bytesimages/individual/FB/FB-012.webpasset11,700 bytesimages/individual/FB/FB-013.webpasset26,600 bytesimages/individual/FB/FB-014.webpasset19,852 bytesimages/individual/FB/FB-015.webpasset22,274 bytesimages/individual/FB/FB-016.webpasset20,918 bytesimages/individual/FB/FB-017.webpasset14,072 bytesimages/individual/FB/FB-018.webpasset15,922 bytesimages/individual/FB/FB-019.webpasset12,464 bytesimages/individual/FB/FB-020.webpasset45,298 bytesimages/individual/FB/FB-020_grid.webpasset145,820 bytesimages/individual/FB/FB-021.webpasset53,642 bytesimages/individual/FB/FB-021_grid.webpasset138,638 bytesimages/individual/FB/FB-022.webpasset27,216 bytesimages/individual/FB/FB-022_grid.webpasset125,282 bytesimages/individual/FB/FB-023.webpasset52,090 bytesimages/individual/FB/FB-023_grid.webpasset127,550 bytesimages/individual/FB/FB-024.webpasset56,632 bytesimages/individual/FB/FB-024_grid.webpasset164,238 bytesimages/individual/FB/FB-025.webpasset97,946 bytesimages/individual/FB/FB-025_grid.webpasset307,374 bytesimages/individual/FB/FB-026.webpasset36,066 bytesimages/individual/FB/FB-026_grid.webpasset128,998 bytesimages/individual/FB/FB-027.webpasset99,022 bytesimages/individual/FB/FB-027_grid.webpasset219,676 bytesimages/individual/FB/FB-028.webpasset93,004 bytesimages/individual/FB/FB-028_grid.webpasset268,972 bytesimages/individual/FB/FB-029.webpasset141,048 bytesimages/individual/FB/FB-030.webpasset81,872 bytesimages/individual/FB/FB-030_grid.webpasset251,008 bytesimages/individual/FB/FB-031.webpasset57,404 bytesimages/individual/FB/FB-032.webpasset46,422 bytesimages/individual/FB/FB-033.webpasset78,482 bytesimages/individual/FB/FB-034.webpasset127,486 bytesimages/individual/FB/FB-035.webpasset56,960 bytesimages/individual/FB/FB-036.webpasset16,554 bytesimages/individual/FB/FB-037.webpasset59,598 bytesimages/individual/FB/FB-038.webpasset64,148 bytesimages/individual/FB/FB-039.webpasset67,434 bytesimages/individual/FB/FB-040.webpasset55,170 bytesimages/individual/FB/FB-041.webpasset52,518 bytesimages/individual/FB/FB-042.webpasset56,484 bytesimages/individual/FB/FB-043.webpasset38,860 bytesimages/individual/FB/FB-044.webpasset34,800 bytesimages/individual/FB/FB-045.webpasset44,772 bytesimages/individual/FB/FB-046.webpasset44,338 bytesimages/individual/FB/FB-047.webpasset48,386 bytesimages/individual/FB/FB-048.webpasset48,484 bytesimages/individual/FB/FB-049.webpasset51,660 bytesimages/individual/FB/FB-050.webpasset20,582 bytesimages/individual/FB/FB-051.webpasset61,510 bytesimages/individual/FB/FB-052.webpasset51,436 bytesimages/individual/FB/FB-053.webpasset66,364 bytesimages/individual/FB/FB-054.webpasset35,648 bytesimages/individual/FB/FB-055.webpasset64,046 bytesimages/individual/FB/FB-056.webpasset55,392 bytesimages/individual/FB/FB-057.webpasset44,326 bytesimages/individual/FB/FB-058.webpasset56,594 bytesimages/individual/FB/FB-059.webpasset42,302 bytesimages/individual/FB/FB-060.webpasset47,474 bytesimages/individual/FB/FB-061.webpasset34,692 bytesimages/individual/FB/FB-062.webpasset27,086 bytesimages/individual/FB/FB-063.webpasset55,932 bytesimages/individual/FB/FB-064.webpasset46,144 bytesimages/individual/FB/FB-065.webpasset59,444 bytesimages/individual/FB/FB-066.webpasset118,328 bytesimages/individual/FC/FC-001.webpasset35,476 bytesimages/individual/FC/FC-002.webpasset29,556 bytesimages/individual/FC/FC-003.webpasset17,774 bytesimages/individual/FC/FC-004.webpasset11,674 bytesimages/individual/FC/FC-005.webpasset10,862 bytesimages/individual/FC/FC-006.webpasset9,122 bytesimages/individual/FC/FC-007.webpasset18,832 bytesimages/individual/FC/FC-008.webpasset13,944 bytesimages/individual/FC/FC-009.webpasset19,838 bytesimages/individual/FC/FC-010.webpasset21,156 bytesimages/individual/FC/FC-011.webpasset14,192 bytesimages/individual/FC/FC-012.webpasset17,546 bytesimages/individual/FC/FC-013.webpasset20,430 bytesimages/individual/FC/FC-014.webpasset16,864 bytesimages/individual/FC/FC-015.webpasset10,492 bytesimages/individual/FC/FC-016.webpasset13,544 bytesimages/individual/FC/FC-017.webpasset14,710 bytesimages/individual/FC/FC-018.webpasset23,684 bytesimages/individual/FC/FC-019.webpasset30,928 bytesimages/individual/FC/FC-020.webpasset29,468 bytesimages/individual/FC/FC-021.webpasset26,438 bytesimages/individual/FC/FC-022.webpasset27,794 bytesimages/individual/FC/FC-023.webpasset31,446 bytesimages/individual/FC/FC-024.webpasset17,604 bytesimages/individual/FC/FC-025.webpasset14,390 bytesimages/individual/FC/FC-026.webpasset12,440 bytesimages/individual/FC/FC-027.webpasset31,602 bytesimages/individual/FC/FC-028.webpasset26,676 bytesimages/individual/FC/FC-029.webpasset46,168 bytesimages/individual/FC/FC-030.webpasset91,980 bytesimages/individual/FC/FC-031.webpasset61,976 bytesimages/individual/FC/FC-032.webpasset116,492 bytesimages/individual/FD/FD-001.webpasset28,026 bytesimages/individual/FD/FD-002.webpasset19,994 bytesimages/individual/FD/FD-003.webpasset11,536 bytesimages/individual/FD/FD-004.webpasset10,000 bytesimages/individual/FD/FD-005.webpasset20,626 bytesimages/individual/FD/FD-006.webpasset20,092 bytesimages/individual/FD/FD-007.webpasset20,088 bytesimages/individual/FD/FD-008.webpasset26,222 bytesimages/individual/FD/FD-009.webpasset15,056 bytesimages/individual/FD/FD-010.webpasset17,178 bytesimages/individual/FD/FD-011.webpasset24,854 bytesimages/individual/FD/FD-012.webpasset34,510 bytesimages/individual/FD/FD-013.webpasset19,658 bytesimages/individual/FD/FD-014.webpasset20,204 bytesimages/individual/FD/FD-015.webpasset9,080 bytesimages/individual/FD/FD-016.webpasset25,998 bytesimages/individual/FD/FD-017.webpasset26,798 bytesimages/individual/FD/FD-018.webpasset23,668 bytesimages/individual/FD/FD-019.webpasset22,350 bytesimages/individual/FD/FD-020.webpasset14,206 bytesimages/individual/FD/FD-021.webpasset8,950 bytesimages/individual/FD/FD-022.webpasset25,558 bytesimages/individual/FD/FD-023.webpasset36,276 bytesimages/individual/FD/FD-024.webpasset11,298 bytesimages/individual/FD/FD-025.webpasset13,934 bytesimages/individual/FD/FD-026.webpasset26,896 bytesimages/individual/FD/FD-027.webpasset17,292 bytesimages/individual/FD/FD-028.webpasset20,020 bytesimages/individual/FD/FD-029.webpasset24,294 bytesimages/individual/FD/FD-030.webpasset18,524 bytesimages/individual/FD/FD-031.webpasset19,874 bytesimages/individual/FD/FD-032.webpasset27,522 bytesimages/individual/FD/FD-033.webpasset23,576 bytesimages/individual/FD/FD-034.webpasset17,486 bytesimages/individual/FD/FD-035.webpasset19,620 bytesimages/individual/FD/FD-036.webpasset16,818 bytesimages/individual/FD/FD-037.webpasset26,998 bytesimages/individual/FD/FD-038.webpasset21,302 bytesimages/individual/FD/FD-039.webpasset26,970 bytesimages/individual/FD/FD-040.webpasset30,316 bytesimages/individual/FD/FD-041.webpasset25,648 bytesimages/individual/FD/FD-042.webpasset53,400 bytesimages/individual/FE/FE-001.webpasset39,718 bytesimages/individual/FE/FE-002.webpasset12,810 bytesimages/individual/FE/FE-003.webpasset25,902 bytesimages/individual/FE/FE-004.webpasset44,570 bytesimages/individual/FE/FE-005.webpasset36,126 bytesimages/individual/FE/FE-006.webpasset37,536 bytesimages/individual/FE/FE-007.webpasset31,146 bytesimages/individual/FE/FE-008.webpasset34,314 bytesimages/individual/FE/FE-009.webpasset44,136 bytesimages/individual/FE/FE-010.webpasset40,996 bytesimages/individual/FE/FE-011.webpasset35,920 bytesimages/individual/FE/FE-012.webpasset25,616 bytesimages/individual/FE/FE-013.webpasset36,886 bytesimages/individual/FE/FE-014.webpasset41,746 bytesimages/individual/FE/FE-015.webpasset39,484 bytesimages/individual/FE/FE-016.webpasset36,158 bytesimages/individual/FE/FE-017.webpasset28,560 bytesimages/individual/FE/FE-018.webpasset29,276 bytesimages/individual/FE/FE-019.webpasset30,880 bytesimages/individual/FE/FE-020.webpasset33,960 bytesimages/individual/FE/FE-021.webpasset27,614 bytesimages/individual/FE/FE-022.webpasset25,592 bytesimages/individual/FE/FE-023.webpasset19,210 bytesimages/individual/FE/FE-024.webpasset31,138 bytesimages/individual/FE/FE-025.webpasset21,668 bytesimages/individual/FE/FE-026.webpasset27,142 bytesimages/individual/FE/FE-027.webpasset30,318 bytesimages/individual/FE/FE-028.webpasset25,360 bytesimages/individual/FE/FE-029.webpasset26,512 bytesimages/individual/FE/FE-030.webpasset32,426 bytesimages/individual/FE/FE-031.webpasset24,486 bytesimages/individual/FE/FE-032.webpasset56,834 bytesimages/individual/FE/FE-033.webpasset50,242 bytesimages/individual/FE/FE-034.webpasset59,508 bytesimages/individual/FE/FE-035.webpasset48,430 bytesimages/individual/FE/FE-036.webpasset46,570 bytesimages/individual/FE/FE-037.webpasset42,576 bytesimages/individual/FE/FE-038.webpasset22,898 bytesimages/individual/FE/FE-039.webpasset41,286 bytesimages/individual/FE/FE-040.webpasset66,514 bytesimages/individual/FE/FE-041.webpasset59,864 bytesimages/individual/FE/FE-042.webpasset69,110 bytesimages/individual/FE/FE-043.webpasset61,662 bytesimages/individual/FE/FE-044.webpasset72,316 bytesimages/individual/FE/FE-045.webpasset68,272 bytesimages/individual/FE/FE-046.webpasset60,992 bytesimages/individual/FE/FE-047.webpasset71,606 bytesimages/individual/FE/FE-048.webpasset42,806 bytesimages/individual/FE/FE-049.webpasset35,602 bytesimages/individual/FE/FE-050.webpasset38,830 bytesimages/individual/FE/FE-051.webpasset32,980 bytesimages/individual/FE/FE-052.webpasset18,746 bytesimages/individual/FE/FE-053.webpasset41,432 bytesimages/individual/FE/FE-054.webpasset32,500 bytesimages/individual/FE/FE-055.webpasset29,376 bytesimages/individual/FE/FE-056.webpasset104,626 bytesimages/individual/FE/FE-057.webpasset98,916 bytesimages/individual/FE/FE-058.webpasset55,286 bytesimages/individual/FE/FE-059.webpasset94,688 bytesimages/individual/FE/FE-060.webpasset39,372 bytesimages/individual/FE/FE-061.webpasset49,604 bytesimages/individual/FE/FE-062.webpasset119,162 bytesimages/individual/FE/FE-063.webpasset75,770 bytesimages/individual/FE/FE-064.webpasset97,072 bytesimages/individual/FE/FE-065.webpasset58,760 bytesimages/individual/FE/FE-066.webpasset111,298 bytesimages/individual/FE/FE-067.webpasset83,602 bytesimages/individual/FE/FE-068.webpasset115,876 bytesimages/individual/FF/FF-001.webpasset21,368 bytesimages/individual/FF/FF-001_grid.webpasset97,192 bytesimages/individual/FF/FF-002.webpasset20,038 bytesimages/individual/FF/FF-002_grid.webpasset90,916 bytesimages/individual/FF/FF-003.webpasset45,652 bytesimages/individual/FF/FF-003_grid.webpasset128,924 bytesimages/individual/FF/FF-004.webpasset24,624 bytesimages/individual/FF/FF-004_grid.webpasset107,558 bytesimages/individual/FF/FF-005.webpasset30,858 bytesimages/individual/FF/FF-005_grid.webpasset112,600 bytesimages/individual/FF/FF-006.webpasset29,494 bytesimages/individual/FF/FF-006_grid.webpasset118,632 bytesimages/individual/FF/FF-007.webpasset29,162 bytesimages/individual/FF/FF-007_grid.webpasset119,268 bytesimages/individual/FF/FF-008.webpasset43,740 bytesimages/individual/FF/FF-008_grid.webpasset143,018 bytesimages/individual/FF/FF-009.webpasset29,816 bytesimages/individual/FF/FF-009_grid.webpasset106,504 bytesimages/individual/FF/FF-010.webpasset22,918 bytesimages/individual/FF/FF-010_grid.webpasset108,804 bytesimages/individual/FF/FF-011.webpasset26,058 bytesimages/individual/FF/FF-011_grid.webpasset86,094 bytesimages/individual/FF/FF-012.webpasset62,186 bytesimages/individual/FF/FF-012_grid.webpasset147,318 bytesimages/individual/FF/FF-013.webpasset41,890 bytesimages/individual/FF/FF-013_grid.webpasset126,850 bytesimages/individual/FF/FF-014.webpasset26,200 bytesimages/individual/FF/FF-014_grid.webpasset96,888 bytesimages/individual/FF/FF-015.webpasset40,204 bytesimages/individual/FF/FF-016.webpasset42,214 bytesimages/individual/FF/FF-017.webpasset68,658 bytesimages/individual/FG/FG-001.webpasset41,396 bytesimages/individual/FG/FG-001_grid.webpasset140,954 bytesimages/individual/FG/FG-002.webpasset51,760 bytesimages/individual/FG/FG-002_grid.webpasset193,542 bytesimages/individual/FG/FG-003.webpasset49,078 bytesimages/individual/FG/FG-003_grid.webpasset111,774 bytesimages/individual/FG/FG-004.webpasset74,900 bytesimages/individual/FG/FG-004_grid.webpasset205,566 bytesimages/individual/FG/FG-005.webpasset37,794 bytesimages/individual/FG/FG-005_grid.webpasset155,108 bytesimages/individual/FG/FG-006.webpasset49,980 bytesimages/individual/FG/FG-006_grid.webpasset136,148 bytesimages/individual/FG/FG-007.webpasset40,020 bytesimages/individual/FG/FG-008.webpasset52,896 bytesimages/individual/FG/FG-009.webpasset126,824 bytesimages/individual/FG/FG-010.webpasset98,562 bytesimages/individual/FG/FG-011.webpasset55,886 bytesimages/individual/FG/FG-012.webpasset39,436 bytesimages/individual/FG/FG-013.webpasset80,740 bytesimages/individual/FG/FG-014.webpasset69,130 bytesimages/individual/FG/FG-015.webpasset69,342 bytesimages/individual/FG/FG-016.webpasset72,716 bytesimages/individual/FG/FG-017.webpasset137,770 bytesimages/individual/FG/FG-018.webpasset75,576 bytesimages/individual/FG/FG-019.webpasset132,362 bytesimages/individual/FG/FG-020.webpasset126,938 bytesimages/individual/FG/FG-021.webpasset98,654 bytesimages/individual/FG/FG-022.webpasset138,710 bytesimages/individual/FG/FG-023.webpasset81,576 bytesimages/individual/FG/FG-024.webpasset56,054 bytesimages/individual/FH/FH-001.webpasset23,362 bytesimages/individual/FH/FH-002.webpasset20,518 bytesimages/individual/FH/FH-003.webpasset9,228 bytesimages/individual/FH/FH-004.webpasset23,338 bytesimages/individual/FH/FH-005.webpasset40,548 bytesimages/individual/FH/FH-006.webpasset19,518 bytesimages/individual/FH/FH-007.webpasset19,112 bytesimages/individual/FH/FH-008.webpasset27,592 bytesimages/individual/FH/FH-009.webpasset22,422 bytesimages/individual/FH/FH-010.webpasset27,068 bytesimages/individual/FH/FH-011.webpasset21,228 bytesimages/individual/FH/FH-012.webpasset34,146 bytesimages/individual/FH/FH-013.webpasset32,802 bytesimages/individual/FH/FH-014.webpasset37,692 bytesimages/individual/FH/FH-015.webpasset38,778 bytesimages/individual/FH/FH-016.webpasset25,988 bytesimages/individual/FH/FH-017.webpasset12,102 bytesimages/individual/FH/FH-018.webpasset18,912 bytesimages/individual/FH/FH-019.webpasset16,660 bytesimages/individual/FH/FH-020.webpasset34,498 bytesimages/individual/FH/FH-021.webpasset19,976 bytesimages/individual/FH/FH-022.webpasset19,124 bytesimages/individual/FH/FH-023.webpasset20,112 bytesimages/individual/FH/FH-024.webpasset21,532 bytesimages/individual/FH/FH-025.webpasset18,434 bytesimages/individual/FH/FH-026.webpasset32,520 bytesimages/individual/FH/FH-027.webpasset31,726 bytesimages/individual/FH/FH-028.webpasset22,722 bytesimages/individual/FH/FH-029.webpasset21,664 bytesimages/individual/FH/FH-030.webpasset42,746 bytesimages/individual/FH/FH-031.webpasset24,724 bytesimages/individual/FH/FH-032.webpasset33,580 bytesimages/individual/FH/FH-033.webpasset40,524 bytesimages/individual/FH/FH-034.webpasset41,164 bytesimages/individual/FH/FH-035.webpasset47,014 bytesimages/individual/FH/FH-036.webpasset16,672 bytesimages/individual/FH/FH-037.webpasset53,162 bytesimages/individual/FH/FH-038.webpasset16,490 bytesimages/individual/FH/FH-039.webpasset34,128 bytesimages/individual/FH/FH-039_grid.webpasset105,826 bytesimages/individual/FH/FH-040.webpasset99,234 bytesimages/individual/FH/FH-040_grid.webpasset301,782 bytesimages/individual/FH/FH-041.webpasset78,382 bytesimages/individual/FH/FH-041_grid.webpasset176,322 bytesimages/individual/FH/FH-042.webpasset116,526 bytesimages/individual/FH/FH-043.webpasset130,404 bytesimages/individual/FH/FH-044.webpasset126,660 bytesimages/individual/FI/FI-001.webpasset15,858 bytesimages/individual/FI/FI-002.webpasset37,758 bytesimages/individual/FI/FI-003.webpasset45,588 bytesimages/individual/FI/FI-004.webpasset46,596 bytesimages/individual/FI/FI-005.webpasset42,824 bytesimages/individual/FI/FI-006.webpasset61,624 bytesimages/individual/FI/FI-007.webpasset68,234 bytesimages/individual/FI/FI-008.webpasset36,006 bytesimages/individual/FI/FI-009.webpasset52,074 bytesimages/individual/FI/FI-010.webpasset22,770 bytesimages/individual/FI/FI-011.webpasset40,594 bytesimages/individual/FI/FI-012.webpasset36,982 bytesimages/individual/FI/FI-013.webpasset39,656 bytesimages/individual/FI/FI-014.webpasset32,768 bytesimages/individual/FI/FI-015.webpasset22,606 bytesimages/individual/FI/FI-016.webpasset38,252 bytesimages/individual/FI/FI-017.webpasset21,430 bytesimages/individual/FI/FI-018.webpasset30,128 bytesimages/individual/FI/FI-019.webpasset24,020 bytesimages/individual/FI/FI-020.webpasset62,888 bytesimages/individual/FI/FI-021.webpasset56,658 bytesimages/individual/FI/FI-022.webpasset39,540 bytesimages/individual/FI/FI-023.webpasset57,524 bytesimages/individual/FI/FI-024.webpasset49,550 bytesimages/individual/FI/FI-025.webpasset50,306 bytesimages/individual/FI/FI-026.webpasset74,770 bytesimages/individual/FI/FI-027.webpasset33,328 bytesimages/individual/FI/FI-028.webpasset46,518 bytesimages/individual/FI/FI-029.webpasset29,300 bytesimages/individual/FI/FI-030.webpasset31,478 bytesimages/individual/FI/FI-031.webpasset68,290 bytesimages/individual/FI/FI-032.webpasset51,564 bytesimages/individual/FI/FI-033.webpasset46,484 bytesimages/individual/FI/FI-034.webpasset115,552 bytesimages/layouts/comic-storyboards/SB-001.webpasset90,654 bytesimages/layouts/comic-storyboards/SB-002.webpasset95,234 bytesimages/layouts/comic-storyboards/SB-003.webpasset128,154 bytesimages/layouts/comic-storyboards/SB-004.webpasset108,768 bytesimages/layouts/comic-storyboards/SB-005.webpasset71,156 bytesimages/layouts/comic-storyboards/SB-006.webpasset113,548 bytesimages/layouts/comic-storyboards/SB-007.webpasset90,904 bytesimages/layouts/comic-storyboards/SB-008.webpasset80,248 bytesimages/layouts/comic-storyboards/SB-009.webpasset105,572 bytesimages/layouts/comic-storyboards/SB-010.webpasset117,672 bytesimages/layouts/comic-storyboards/SB-011.webpasset106,474 bytesimages/layouts/comic-storyboards/SB-012.webpasset118,094 bytesimages/layouts/comic-storyboards/SB-013.webpasset93,818 bytesimages/layouts/comic-storyboards/SB-014.webpasset64,456 bytesimages/layouts/comic-storyboards/SB-015.webpasset85,258 bytesimages/layouts/comic-storyboards/SB-016.webpasset91,104 bytesimages/layouts/comic-storyboards/SB-017.webpasset79,790 bytesimages/layouts/comic-storyboards/SB-018.webpasset95,464 bytesimages/layouts/comic-storyboards/SB-019.webpasset85,776 bytesimages/layouts/comic-storyboards/SB-020.webpasset98,478 bytesimages/layouts/comic-storyboards/SB-021.webpasset61,172 bytesimages/layouts/comic-storyboards/SB-022.webpasset70,756 bytesimages/layouts/comic-storyboards/SB-023.webpasset85,750 bytesimages/layouts/comic-storyboards/SB-024.webpasset90,396 bytesimages/layouts/comic-storyboards/SB-025.webpasset67,534 bytesimages/layouts/comic-storyboards/SB-026.webpasset80,048 bytesimages/layouts/comic-storyboards/SB-027.webpasset80,424 bytesimages/layouts/comic-storyboards/SB-028.webpasset93,832 bytesimages/layouts/comic-storyboards/SB-029.webpasset70,842 bytesimages/layouts/comic-storyboards/SB-030.webpasset101,644 bytesimages/layouts/comic-storyboards/SB-031.webpasset73,128 bytesimages/layouts/comic-storyboards/SB-032.webpasset87,958 bytesimages/layouts/comic-storyboards/SB-033.webpasset90,472 bytesimages/layouts/comic-storyboards/SB-034.webpasset102,802 bytesimages/layouts/comic-storyboards/SB-035.webpasset110,860 bytesimages/layouts/comic-storyboards/SB-036.webpasset92,572 bytesimages/layouts/comic-storyboards/SB-037.webpasset93,062 bytesimages/layouts/comic-storyboards/SB-038.webpasset82,850 bytesimages/layouts/comic-storyboards/SB-039.webpasset72,578 bytesimages/layouts/comic-storyboards/SB-040.webpasset96,844 bytesimages/layouts/comic-storyboards/SB-041.webpasset102,360 bytesimages/layouts/comic-storyboards/SB-042.webpasset111,638 bytesimages/layouts/comic-storyboards/SB-043.webpasset127,622 bytesimages/layouts/comic-storyboards/SB-044.webpasset93,664 bytesimages/layouts/comic-storyboards/SB-045.webpasset102,286 bytesimages/layouts/comic-storyboards/SB-046.webpasset97,838 bytesimages/layouts/comic-storyboards/SB-047.webpasset112,214 bytesimages/layouts/comic-storyboards/SB-048.webpasset94,464 bytesimages/layouts/comic-storyboards/SB-049.webpasset99,988 bytesimages/layouts/comic-storyboards/SB-050.webpasset94,888 bytesimages/layouts/comic-storyboards/SB-051.webpasset137,862 bytesimages/layouts/comic-storyboards/SB-052.webpasset121,506 bytesimages/layouts/comic-storyboards/SB-053.webpasset118,958 bytesimages/layouts/comic-storyboards/SB-054.webpasset47,210 bytesimages/layouts/comic-storyboards/SB-055.webpasset115,942 bytesimages/layouts/comic-storyboards/SB-056.webpasset107,050 bytesimages/layouts/comic-storyboards/SB-057.webpasset108,064 bytesimages/layouts/comic-storyboards/SB-058.webpasset102,088 bytesimages/layouts/comic-storyboards/SB-059.webpasset99,686 bytesimages/layouts/comic-storyboards/SB-060.webpasset128,262 bytesimages/layouts/comic-storyboards/SB-061.webpasset119,228 bytesimages/layouts/comic-storyboards/SB-062.webpasset81,476 bytesimages/layouts/comic-storyboards/SB-063.webpasset85,280 bytesimages/layouts/comic-storyboards/SB-064.webpasset85,022 bytesimages/layouts/comic-storyboards/SB-065.webpasset102,208 bytesimages/layouts/comic-storyboards/SB-066.webpasset123,838 bytesimages/layouts/comic-storyboards/SB-067.webpasset96,818 bytesimages/layouts/comic-storyboards/SB-068.webpasset103,262 bytesimages/layouts/comic-storyboards/SB-069.webpasset119,402 bytesimages/layouts/comic-storyboards/SB-070.webpasset147,412 bytesimages/layouts/comic-storyboards/SB-071.webpasset138,276 bytesimages/layouts/ecommerce/EC-001.webpasset6,844 bytesimages/layouts/ecommerce/EC-002.webpasset28,622 bytesimages/layouts/ecommerce/EC-003.webpasset64,442 bytesimages/layouts/ecommerce/EC-004.webpasset35,358 bytesimages/layouts/ecommerce/EC-005.webpasset48,316 bytesimages/layouts/ecommerce/EC-006.webpasset57,388 bytesimages/layouts/ecommerce/EC-007.webpasset32,140 bytesimages/layouts/ecommerce/EC-008.webpasset61,726 bytesimages/layouts/ecommerce/EC-009.webpasset55,666 bytesimages/layouts/ecommerce/EC-010.webpasset42,450 bytesimages/layouts/ecommerce/EC-011.webpasset55,034 bytesimages/layouts/ecommerce/EC-012.webpasset41,008 bytesimages/layouts/ecommerce/EC-013.webpasset45,090 bytesimages/layouts/ecommerce/EC-014.webpasset49,092 bytesimages/layouts/ecommerce/EC-015.webpasset73,882 bytesimages/layouts/ecommerce/EC-016.webpasset45,820 bytesimages/layouts/ecommerce/EC-017.webpasset77,500 bytesimages/layouts/ecommerce/EC-018.webpasset66,712 bytesimages/layouts/ecommerce/EC-019.webpasset61,012 bytesimages/layouts/ecommerce/EC-020.webpasset86,498 bytesimages/layouts/ecommerce/EC-021.webpasset46,646 bytesimages/layouts/ecommerce/EC-022.webpasset56,510 bytesimages/layouts/ecommerce/EC-023.webpasset53,672 bytesimages/layouts/ecommerce/EC-024.webpasset64,332 bytesimages/layouts/infographics/IG-001.webpasset73,060 bytesimages/layouts/infographics/IG-002.webpasset63,378 bytesimages/layouts/infographics/IG-003.webpasset276,752 bytesimages/layouts/infographics/IG-004.webpasset67,246 bytesimages/layouts/infographics/IG-005.webpasset93,068 bytesimages/layouts/infographics/IG-006.webpasset73,948 bytesimages/layouts/infographics/IG-007.webpasset91,390 bytesimages/layouts/infographics/IG-008.webpasset41,042 bytesimages/layouts/infographics/IG-009.webpasset101,480 bytesimages/layouts/infographics/IG-010.webpasset68,400 bytesimages/layouts/infographics/IG-011.webpasset63,094 bytesimages/layouts/infographics/IG-012.webpasset59,024 bytesimages/layouts/infographics/IG-013.webpasset74,104 bytesimages/layouts/infographics/IG-014.webpasset77,436 bytesimages/layouts/infographics/IG-015.webpasset70,512 bytesimages/layouts/infographics/IG-016.webpasset129,364 bytesimages/layouts/infographics/IG-017.webpasset126,600 bytesimages/layouts/infographics/IG-018.webpasset92,156 bytesimages/layouts/infographics/IG-019.webpasset65,176 bytesimages/layouts/infographics/IG-020.webpasset149,768 bytesimages/layouts/infographics/IG-021.webpasset135,590 bytesimages/layouts/infographics/IG-022.webpasset123,680 bytesimages/layouts/infographics/IG-023.webpasset117,312 bytesimages/layouts/infographics/IG-024.webpasset103,200 bytesimages/layouts/infographics/IG-025.webpasset116,464 bytesimages/layouts/infographics/IG-026.webpasset123,828 bytesimages/layouts/infographics/IG-027.webpasset107,436 bytesimages/layouts/infographics/IG-028.webpasset117,826 bytesimages/layouts/infographics/IG-029.webpasset122,334 bytesimages/layouts/infographics/IG-030.webpasset81,866 bytesimages/layouts/infographics/IG-031.webpasset145,226 bytesimages/layouts/infographics/IG-032.webpasset117,868 bytesimages/layouts/infographics/IG-033.webpasset169,824 bytesimages/layouts/infographics/IG-034.webpasset193,008 bytesimages/layouts/infographics/IG-035.webpasset186,876 bytesimages/layouts/infographics/IG-036.webpasset322,646 bytesimages/layouts/infographics/IG-037.webpasset1,222,730 bytesimages/layouts/infographics/IG-038.webpasset231,584 bytesimages/layouts/ip-characters/IP-001.webpasset103,460 bytesimages/layouts/ip-characters/IP-002.webpasset47,112 bytesimages/layouts/ip-characters/IP-003.webpasset161,656 bytesimages/layouts/ip-characters/IP-004.webpasset143,096 bytesimages/layouts/ip-characters/IP-005.webpasset199,092 bytesimages/layouts/ip-characters/IP-006.webpasset145,272 bytesimages/layouts/ip-characters/IP-007.webpasset159,004 bytesimages/layouts/ip-characters/IP-008.webpasset146,244 bytesimages/layouts/ip-characters/IP-009.webpasset158,372 bytesimages/layouts/ip-characters/IP-010.webpasset99,232 bytesimages/layouts/ip-characters/IP-011.webpasset72,582 bytesimages/layouts/ip-characters/IP-012.webpasset159,830 bytesimages/layouts/ip-characters/IP-013.webpasset165,426 bytesimages/layouts/preview-comic-storyboards.webpasset259,970 bytesimages/layouts/preview-infographics.webpasset173,344 bytesimages/layouts/preview-social-cards.webpasset136,770 bytesimages/layouts/social-cards/SC-001.webpasset74,820 bytesimages/layouts/social-cards/SC-002.webpasset31,678 bytesimages/layouts/social-cards/SC-003.webpasset67,058 bytesimages/layouts/social-cards/SC-004.webpasset60,402 bytesimages/layouts/social-cards/SC-005.webpasset38,604 bytesimages/layouts/social-cards/SC-006.webpasset32,792 bytesimages/layouts/social-cards/SC-007.webpasset39,220 bytesimages/layouts/social-cards/SC-008.webpasset24,194 bytesimages/layouts/social-cards/SC-009.webpasset27,498 bytesimages/layouts/social-cards/SC-010.webpasset71,710 bytesimages/layouts/social-cards/SC-011.webpasset75,212 bytesimages/layouts/social-cards/SC-012.webpasset117,788 bytesimages/layouts/social-cards/SC-014.webpasset84,034 bytesimages/layouts/social-cards/SC-015.webpasset69,202 bytesimages/layouts/social-cards/SC-016.webpasset15,788 bytesimages/layouts/social-cards/SC-017.webpasset80,090 bytesimages/layouts/social-cards/SC-018.webpasset79,584 bytesimages/layouts/social-cards/SC-019.webpasset33,362 bytesimages/layouts/social-cards/SC-020.webpasset90,428 bytesimages/layouts/social-cards/SC-021.webpasset138,750 bytesimages/layouts/social-cards/SC-022.webpasset78,202 bytesimages/layouts/social-cards/SC-023.webpasset279,834 bytesimages/layouts/social-cards/SC-024.webpasset112,386 bytesimages/layouts/social-cards/SC-025.webpasset971,342 bytesimages/poster-demo-autumn-equinox.webpasset132,580 bytesimages/realistic.webpasset60,460 bytesimages/tones/T-01.webpasset32,520 bytesimages/tones/T-02.webpasset55,696 bytesimages/tones/T-03.webpasset25,354 bytesimages/tones/T-04.webpasset34,880 bytesimages/tones/T-05.webpasset33,932 bytesimages/tones/T-06.webpasset20,642 bytesimages/tones/T-07.webpasset34,974 bytesimages/tones/T-08.webpasset18,564 bytesimages/tones/T-09.webpasset36,096 bytesimages/tones/T-10.webpasset25,874 bytesimages/tones/T-11.webpasset28,288 bytesimages/tones/T-12.webpasset28,488 bytesimages/tones/T-13.webpasset71,750 bytesimages/tones/T-14.webpasset60,186 bytesimages/tones/T-15.webpasset34,918 bytesimages/tones/T-16.webpasset39,920 bytesimages/wechat_group.pngasset80,274 bytesimages/wechat_personal.pngasset238,672 bytesrequirements.txtdoc85 bytesscripts/audit_release.pyruns3,046 bytesscripts/batch_generate_all_business.pyruns10,925 bytesscripts/build_markdown_galleries.pyruns30,921 bytesscripts/contact_sheet_registry.pyruns5,863 bytesscripts/discourse_client.pyruns41,588 bytesscripts/generate_style_business.pyruns5,252 bytesscripts/import_manual_style.pyruns5,309 bytesscripts/import_tweet_style.pyruns9,363 bytesscripts/migrate_style_assets.pyruns3,294 bytesscripts/optimize_images.pyruns4,044 bytesscripts/package_skill.pyruns15,412 bytesscripts/patch_image_numbers.pyruns11,334 bytesscripts/personal_library.pyruns172 bytesscripts/scrape_tweet.pyruns5,223 bytesscripts/style_asset_paths.pyruns2,468 bytesscripts/style_library_import.pyruns14,306 bytesscripts/sync_to_static.pyruns10,914 bytesscripts/test_image_gallery.cjsruns6,561 bytesscripts/verify_all_business_files.pyruns3,675 bytesscripts/workbuddy_check_audit.pyruns3,339 bytesscripts/workbuddy_midnight_resubmit.pyruns9,356 bytesskills/handdraw-style-prompter/scripts/build_color_gallery.pyruns26,018 bytesskills/handdraw-style-prompter/scripts/build_layout_gallery.pyruns26,695 bytesskills/handdraw-style-prompter/scripts/build_library.pyruns42,578 bytesskills/handdraw-style-prompter/scripts/prompt_style.pyruns19,812 bytesskills/handdraw-style-prompter/scripts/prompt_style.pyruns19,812 bytesskills/handdraw-style-prompter/scripts/resolve_reference.pyruns5,094 bytesskills/handdraw-style-prompter/scripts/split_contact_sheets.pyruns5,233 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesskills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytesstyles_200_reorganized.mddoc92,712 bytesversion.jsonasset25 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubarticle-cover-designer
When your agent uses it
极简高效的文章与视频封面设计技能。根据输入文章或视频字幕文件自动提炼200字核心摘要、推算受众群体、默认输出微信公众号标准 2.35:1 超宽画幅封面(兼顾X 5:2与安全留白),或按需匹配小红书(3:4)、B站/YouTube/短视频(16:9/9:16)场景;深度协同全库 365 种视觉风格与36种经典配色;视频封面模式自动注入“视频封面设计,网感强,吸引人眼球”,并结合“先设计隐喻再出图,主标题明显,小字少或者没有小字”核心指令,一键输出高质量结构化封面生图提示词。
What it loads into context
Frontmatter
189 tokensAlways available to the agent
SKILL.md
2,564 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心设计原则
- 工作流与操作步骤
- 标准提示词输出模板
- 生图引擎适配与后处理规范 (Post-Processing SOP)
- 交付与后续操作引导 (CTA)
Files
SKILL.mdcore8,842 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubarticle-illustration-planner
When your agent uses it
深度分析文章脉络,精准规划插图点位与视觉意象。对知识类/教程类文章默认启动“认知降负与高保真图替繁文机制”,严禁删除公式与量化指标,强制协同 170 种排版图型(IG-*信息图/SC-*社媒卡)与 365 种视觉风格/36 种经典配色,杜绝微缩杂物摆拍;对非知识类文章保持叙事氛围与意境。严格执行双向间距(400~1200字)与全篇章节均衡覆盖,支持自主生图或全自动插图回填排版。
What it loads into context
Frontmatter
163 tokensAlways available to the agent
SKILL.md
5,080 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心设计哲学:体裁自适应与认知降负
- 知识类文章的高认知负荷段落扫描库 (7 大图替繁文场景与排版图型匹配)
- 输入参数与配置规范
- 标准规划方案输出模板 (Output Format)
- 双轨自动化回填工作流 (Dual-Track Assembly)
Scripts executed separately
scripts/insert_illustrations.py
Files
SKILL.mdcore16,476 bytesSKILL.mdcore16,476 bytesscripts/insert_illustrations.pyruns8,034 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcommunity-share
When your agent uses it
通用手绘风社区发帖与静态页面/资产发布 Skill。打通 handraw-style.com (Discourse) 官方论坛账号系统与静态画廊发布系统。涵盖双重能力:(1) 全板块论坛发帖与管理(创作交流、好用的工具、综合大厅、运营与变现、实战作品与爆款、手绘skill):支持发布通用长帖、出版级手绘提示词卡片、自动配图直传短链、回帖、帖子查询与删除;(2) 风格画廊与静态资产一键部署上云(index.html、tutorials.html、assets.html、367 种画风WebP、色彩/版式元数据)与论坛联动公告。触发词:手绘风发帖, 社区发帖, 论坛发帖, 发到论坛, 发到社区, 发布帖子, 分享作品, 手绘提示词分享, 查看我的帖子, 删除帖子, 发布静态页面到社区, 发布静态页, 同步画廊, 更新网站, 部署静态页, 画廊发布.
What it loads into context
Frontmatter
254 tokensAlways available to the agent
SKILL.md
3,180 tokensWhen the skill is activated
Reference documents
2,104 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 对话内“分享到网站”
- 🏛<U+FE0F> 双维发布架构与体系划分
- 🛠<U+FE0F> 操作指南与核心发布模式
- ⚠<U+FE0F> 关键技术细节与协议避坑指南
Scripts executed separately
../../scripts/sync_to_static.py../../scripts/sync_to_static.py../../scripts/sync_to_static.pyscripts/conversation_share.pyscripts/conversation_share_ui.pyscripts/discourse_client.pytests/test_conversation_share.pytests/test_conversation_share_ui.py
Files
../../scripts/sync_to_static.pyruns10,914 bytes../../scripts/sync_to_static.pyruns10,914 bytes../../scripts/sync_to_static.pyruns10,914 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesreferences/conversation-sharing.mddoc8,303 bytesscripts/conversation_share.pyruns22,942 bytesscripts/conversation_share_ui.pyruns16,062 bytesscripts/discourse_client.pyruns41,588 bytestests/test_conversation_share.pyruns15,101 bytestests/test_conversation_share_ui.pyruns5,542 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcouple-photo-orchestrator
When your agent uses it
Orchestrates professional portrait, couple, wedding, family, cosplay, and themed photography planning from direction selection through Look, scene micro-zones, Shot List, and on-demand image generation.
What it loads into context
Frontmatter
62 tokensAlways available to the agent
SKILL.md
8,466 tokensWhen the skill is activated
Reference documents
16,761 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Purpose
- 通用摄影关键词
- 2. Source of Truth
- 3. Entry Behavior
- 4. Modes
- 4.5 Propagation Play Layer(不是新模式)
- 5. Spacetime Direction Rules
- 6. Known-work Adaptation
- 7. Few-shot Hard Isolation
- 8. Direction-selection State
- 9. First-turn Output Format
- 9.5 Relationship Description
- 10. Outfit / Look
- 11. Scene / Micro Zone
- 12. Pose & Emotion Planning
- 13. Shot List
- 14. Identity / Consistency
- 15. Image Generation
- 16. Editorial Quality
- 17. Communication Rules
- 18. QA Before Sending
- 2.24.21 方向阶段正式妆发节点
Scripts executed separately
scripts/build_release.pyscripts/tests/test_release_builder_contract.py
Files
CHANGELOG_COUPLE_PHOTO_ORCHESTRATOR.mddoc22,250 bytesCORE_REQUIREMENTS.mddoc33,871 bytesCURRENT_VERSION.mddoc804 bytesPACKAGE-MANIFEST.mddoc1,165 bytesREADME.en.mddoc513 bytesREADME.mddoc633 bytesSKILL.mdcore30,297 bytesTEST-REPORT.mddoc852 bytesUPGRADE-NOTES.mddoc635 bytesdocs/assets/readme/furina-fontaine-8-grid.webpasset328,516 bytesdocs/assets/readme/furina-fontaine-portrait.webpasset218,254 bytesdocs/assets/readme/reference-female.webpasset67,798 bytesdocs/assets/readme/reference-male.webpasset24,406 bytesdocs/assets/readme/shot-006-landscape.webpasset239,262 bytesdocs/assets/readme/shotboard-8-grid.webpasset376,500 bytesdocs/assets/readme/wedding-8-grid.webpasset299,126 bytesscripts/build_release.pyruns2,677 bytesscripts/tests/test_release_builder_contract.pyruns368 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubeditorial-hairstylist
When your agent uses it
Early professional hairstylist node that designs and locks formal shoot hair for each candidate direction before downstream Look expansion.
What it loads into context
Frontmatter
46 tokensAlways available to the agent
SKILL.md
693 tokensWhen the skill is activated
Reference documents
154 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 定位
- 触发
- 参考图边界
- 设计自由度 Hard Gate
- 设计依据
- 输出
Scripts executed separately
tests/test_hairstyle_contract.py
Files
SKILL.mdcore2,530 bytesSKILL.mdcore2,530 bytestemplates/hairstyle-plan.mddoc530 bytestests/test_hairstyle_contract.pyruns507 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcouple-photo-wardrobe-board
When your agent uses it
Design numbered six-look wardrobe boards for one or any number of participants inside a confirmed portrait theme, preserving full per-person outfit detail.
What it loads into context
Frontmatter
45 tokensAlways available to the agent
SKILL.md
1,415 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Detail Floor
- 流程
- 新 JSON 示例
- 状态与边界
- 命令
- 跨 Session / 重开主题 / 换装不降质
- 2.24.20 发型边界
- 2.24.20 妆容边界
Scripts executed separately
scripts/wardrobe_board.pytests/test_wardrobe_board.py
Files
SKILL.mdcore5,075 bytesSKILL.mdcore5,075 bytesSKILL.mdcore5,075 bytesSKILL.mdcore5,075 bytesSKILL.mdcore5,075 bytesscripts/wardrobe_board.pyruns30,838 bytestests/test_wardrobe_board.pyruns10,777 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcouple-photo-requirements-planner
When your agent uses it
Confirm portrait, couple, family, group, wedding-party, team, cast, travel, period, or cosplay photo requirements and produce complete per-participant Looks, scenes, props, and a confirmed photography handoff for any number of subjects.
What it loads into context
Frontmatter
68 tokensAlways available to the agent
SKILL.md
7,850 tokensWhen the skill is activated
Reference documents
7,300 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 通用摄影关键词
- Purpose
- 1.1 Participant count
- 1.2 Detail Floor — 人数增加不能降低单人细节
- 1.3 Identity references
- 2.0 Mode and direction handling
- 2.0.5 Participant Structure Gate
- 2.1 General interaction
- 4.1 People / relationship entry
- 4.2 Theme / genre entry
- 4.3 Character / IP / cosplay entry
- 4.4 Location / travel entry
- 4.5.1 需求确认阶段:只锁时空锚点
- 4.5.2 历史 / 古风
- 4.5.3 影视 / 游戏 / 动漫 / 文学作品
- 4.5.4 原创虚构
- 4.5.5 Group Look / 换装阶段:只增加可拍区域
- 4.5.6 Shot List 阶段:才决定 exact micro-location
- 4.5.7 Verification honesty
- 5.5 Draw-card spacetime engine
- 6.1 When direction drafts were shown
- 6.2 When no direction draft was needed
- 6.3 Brief header inside the detailed document
- 6.4 Location Anchor Preservation Rule — 地点具体度单向不降级
- 7.1 Per-participant wardrobe contract
- 7.2 Group styling relationship contract
- 7.3 Location Card contract
- 2.24.20 Spacetime Pool Hard Gate
- 2.24.20 Editorial 化妆师节点
- 2.24.21 方向卡妆发前置 Hard Gate
Files
README.mddoc1,423 bytesSKILL.mdcore32,431 bytesSKILL.mdcore32,431 bytesSKILL.mdcore32,431 bytesexamples/01-ancient-style.mddoc838 bytesexamples/02-switzerland-travel.mddoc656 bytesexamples/03-boho-dress.mddoc716 bytesexamples/04-cosplay.mddoc563 bytesexamples/05-multi-look.mddoc606 bytesexamples/06-multi-person.mddoc2,691 bytesexamples/07-location-specificity.mddoc2,989 bytesreferences/global-landmark-fallback.mddoc2,321 bytesreferences/media-association-guide.mddoc3,388 bytesreferences/requirement-field-guide.mddoc1,807 bytestemplates/confirmation-sheet.mddoc1,466 bytestemplates/couple-look-plan.mddoc830 bytestemplates/direction-drafts.mddoc4,078 bytestemplates/handoff-schema.yamlasset6,432 bytestemplates/look-plan.mddoc1,744 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubeditorial-makeup-artist
When your agent uses it
Mandatory formal-shoot makeup and skin optimization node for portrait photography.
What it loads into context
Frontmatter
37 tokensAlways available to the agent
SKILL.md
775 tokensWhen the skill is activated
Reference documents
203 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 目标
- 触发 Hard Gate
- 皮肤优化默认策略
- 专业设计维度
- 输出原则
Scripts executed separately
tests/test_makeup_contract.py
Files
SKILL.mdcore2,839 bytesSKILL.mdcore2,839 bytestemplates/makeup-plan.mddoc719 bytestests/test_makeup_contract.pyruns934 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubreference-beauty-prep
When your agent uses it
Turns a real-person reference into a reusable polished identity reference through a visual three-panel beauty exploration.
What it loads into context
Frontmatter
44 tokensAlways available to the agent
SKILL.md
1,552 tokensWhen the skill is activated
Reference documents
649 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 目标
- 触发
- 用户体验
- 三宫格输出后的用户引导
- 三格内部设计逻辑(仅内部,不必先展示给用户)
- 美化范围
- 身份与发型边界
- 身份参考提升规则
Scripts executed separately
tests/test_beauty_prep_contract.py
Files
SKILL.mdcore5,375 bytestemplates/beauty-board.mddoc1,713 bytestemplates/beauty-enlarge.mddoc662 bytestests/test_beauty_prep_contract.pyruns2,508 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcouple-photo-shooting-planner
When your agent uses it
Turn confirmed one-person or multi-person portrait styling handoffs into detailed eight-shot plans, numbered grids, and selected detail-render briefs without reducing per-participant specificity.
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
3,631 tokensWhen the skill is activated
Reference documents
2,072 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 通用摄影关键词
- 入口条件
- 模式感知
- 类型路由
- Pose & Emotion Planning
- Shot List 固定为 8 条
- Shot 差异
- 冻结服装
- 文字审阅
- 自适应 8 宫格
- 2.24.20 正式妆发执行
- 2.24.21 Share Card Compiler Hard Gate
Scripts executed separately
scripts/share_card.pyscripts/shot_board.pytests/test_22424_identity_lock_v2.pytests/test_2244_share_copy_contract.pytests/test_identity_face_only_hair_policy.pytests/test_pose_emotion_contract.pytests/test_share_card_runtime.pytests/test_shot_board.py
Files
SKILL.mdcore13,491 byteshunsha.txtdoc5,180 bytesqinglv.txtdoc4,974 bytesqunxiang.txtdoc2,686 bytesreferences/pose-emotion-contract.mddoc1,945 bytesscripts/share_card.pyruns3,350 bytesscripts/shot_board.pyruns57,795 bytestemplates/generation-brief.yamlasset1,590 bytestemplates/main-visual-review.yamlasset119 bytestemplates/share-copy.mddoc2,193 bytestemplates/shooting-plan.mddoc1,447 bytestemplates/shot-board.mddoc616 bytestemplates/shot-detail-brief.yamlasset1,310 bytestemplates/shot-list.mddoc1,033 bytestemplates/shot-prompts.mddoc385 bytestests/test_22424_identity_lock_v2.pyruns2,765 bytestests/test_2244_share_copy_contract.pyruns2,256 bytestests/test_identity_face_only_hair_policy.pyruns882 bytestests/test_pose_emotion_contract.pyruns701 bytestests/test_share_card_runtime.pyruns612 bytestests/test_shot_board.pyruns23,752 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcouple-photo-orchestrator
When your agent uses it
Orchestrates professional portrait, couple, wedding, family, cosplay, and themed photography planning from direction selection through Look, scene micro-zones, Shot List, and on-demand image generation.
What it loads into context
Frontmatter
62 tokensAlways available to the agent
SKILL.md
7,980 tokensWhen the skill is activated
Reference documents
5,296 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Purpose
- 通用摄影关键词
- 2. Source of Truth
- 3. Entry Behavior
- 4. Modes
- 5. Spacetime Direction Rules
- 6. Known-work Adaptation
- 7. Few-shot Hard Isolation
- 8. Direction-selection State
- 8.5 Participant Structure Gate
- 9. First-turn Output Format
- 9.5 Relationship Description
- 10. Outfit / Look
- 11. Scene / Micro Zone
- 12. Pose & Emotion Planning
- 13. Shot List
- 14. Identity / Consistency
- 15. Image Generation
- 16. Editorial Quality
- 17. Communication Rules
- 18. QA Before Sending
- 18. Full-package Internal Routing
- 2.24.20 妆发 Hard Gate
Scripts executed separately
scripts/identity_reference_manager.pyscripts/init_project.pyscripts/remix_dependencies.pyscripts/theme_manager.pyscripts/theme_workspace.pyscripts/validate_project.pytests/test_22416_retouch_default.pytests/test_22417_final_prompt_hair_optimization.pytests/test_22420_makeup_and_hair_nodes.pytests/test_22421_stability_contract.pytests/test_22422_canonical_identity_reference.pytests/test_2242_participant_relationship_contract.pytests/test_2243_aspect_ratio_contract.pytests/test_224_interaction_contract.pytests/test_confirmation_quality.pytests/test_init_project.pytests/test_interaction_modes.pytests/test_location_quality.pytests/test_remix_dependency_graph.pytests/test_theme_manager.py
Files
SKILL.mdcore28,352 bytesreferences/few-shot-hard-gate.mddoc911 bytesreferences/identity-reference-policy.mddoc2,145 bytesreferences/interaction-modes.mddoc6,346 bytesreferences/quality-contract.mddoc11,868 bytesreferences/remix-dependency-graph.mddoc1,170 bytesscripts/identity_reference_manager.pyruns2,871 bytesscripts/init_project.pyruns2,129 bytesscripts/remix_dependencies.pyruns1,715 bytesscripts/theme_manager.pyruns3,414 bytesscripts/theme_workspace.pyruns6,518 bytesscripts/validate_project.pyruns31,391 bytestests/test_22416_retouch_default.pyruns789 bytestests/test_22417_final_prompt_hair_optimization.pyruns801 bytestests/test_22420_makeup_and_hair_nodes.pyruns978 bytestests/test_22421_stability_contract.pyruns1,578 bytestests/test_22422_canonical_identity_reference.pyruns2,918 bytestests/test_2242_participant_relationship_contract.pyruns1,062 bytestests/test_2243_aspect_ratio_contract.pyruns605 bytestests/test_224_interaction_contract.pyruns744 bytestests/test_confirmation_quality.pyruns1,219 bytestests/test_init_project.pyruns2,133 bytestests/test_interaction_modes.pyruns2,659 bytestests/test_location_quality.pyruns10,446 bytestests/test_remix_dependency_graph.pyruns473 bytestests/test_theme_manager.pyruns4,243 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubcustom-asset-manager
When your agent uses it
管理自建图库(角色库、道具库、场景库)全生命周期资产。支持初始化与挂载图库目录、新增归档资产、替换基准图、修改名称与标签、安全删除资产、查询清单及自动刷新画廊。当用户提出“添加到角色库”、“替换IP图片”、“修改角色名称”、“删除角色/道具/场景”、“初始化图库目录”等资产维护需求时使用。
What it loads into context
Frontmatter
103 tokensAlways available to the agent
SKILL.md
1,691 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心职责分工
- 支持的核心指令与操作规范
- 安全守则与硬性约束
Scripts executed separately
../handdraw-style-prompter/scripts/custom_library_manager.py
Files
SKILL.mdcore5,745 bytes../handdraw-style-prompter/scripts/custom_library_manager.pyruns20,529 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhandraw-skill
When your agent uses it
内置300多个画风,图型,主题色。支持纯图模式,图文模式,可以给文章做封面,批量制作插图。可以批量制作海报,漫画,小红书组图。信息图,ip设计稿,电商图甚至真人摄影都随意拿捏。
What it loads into context
Frontmatter
384 tokensAlways available to the agent
SKILL.md
6,634 tokensWhen the skill is activated
Reference documents
40,340 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Conversation share action after image delivery
- Style activation policy
- Session initialization
- Inputs
- Layout workflows
- Session initialization
- Prompt modes
- Output
- 自建图库资产调用 (Custom Asset Library)
- Utilities
Scripts executed separately
gallery/personal-library.jsscripts/build_assets_gallery.pyscripts/build_character_gallery.pyscripts/build_color_gallery.pyscripts/build_layout_gallery.pyscripts/build_library.pyscripts/build_tutorial_gallery.pyscripts/contact_sheet_registry.pyscripts/custom_library_manager.pyscripts/import_tweet_style.pyscripts/layout_library.pyscripts/prompt_style.pyscripts/resolve_reference.pyscripts/scrape_tweet.pyscripts/split_contact_sheets.pyscripts/style_asset_paths.pyscripts/validate_library.py
Files
SKILL.mdcore27,476 bytesSKILL.mdcore27,476 bytesSKILL.mdcore27,476 bytesSKILL.mdcore27,476 bytesSKILL.mdcore27,476 bytesagents/openai.yamlasset319 bytesgallery/assets.htmlasset43,218 bytesgallery/characters.htmlasset322 bytesgallery/colors.htmlasset56,520 bytesgallery/index.htmlasset391,244 bytesgallery/layouts.htmlasset384,313 bytesgallery/personal-library.jsruns4,121 bytesgallery/tutorials.htmlasset253,587 bytesreferences/attribution.jsonasset1,417 bytesreferences/characters.jsonasset265 bytesreferences/colors.jsonasset18,242 bytesreferences/contact_sheet_state.jsonasset93 bytesreferences/layouts.jsonasset69,367 bytesreferences/layouts/EC-001.mddoc1,491 bytesreferences/layouts/EC-002.mddoc1,505 bytesreferences/layouts/EC-003.mddoc1,483 bytesreferences/layouts/EC-004.mddoc1,426 bytesreferences/layouts/EC-005.mddoc1,611 bytesreferences/layouts/EC-006.mddoc1,615 bytesreferences/layouts/EC-007.mddoc1,693 bytesreferences/layouts/EC-008.mddoc1,727 bytesreferences/layouts/EC-009.mddoc1,590 bytesreferences/layouts/EC-010.mddoc1,569 bytesreferences/layouts/EC-011.mddoc1,583 bytesreferences/layouts/EC-012.mddoc1,573 bytesreferences/layouts/EC-013.mddoc1,716 bytesreferences/layouts/EC-014.mddoc1,401 bytesreferences/layouts/EC-015.mddoc1,706 bytesreferences/layouts/EC-016.mddoc1,505 bytesreferences/layouts/EC-017.mddoc1,543 bytesreferences/layouts/EC-018.mddoc1,549 bytesreferences/layouts/EC-019.mddoc1,432 bytesreferences/layouts/EC-020.mddoc1,438 bytesreferences/layouts/EC-021.mddoc1,618 bytesreferences/layouts/EC-022.mddoc1,637 bytesreferences/layouts/EC-023.mddoc1,795 bytesreferences/layouts/EC-024.mddoc2,154 bytesreferences/layouts/IG-001.mddoc455 bytesreferences/layouts/IG-002.mddoc469 bytesreferences/layouts/IG-003.mddoc1,551 bytesreferences/layouts/IG-004.mddoc539 bytesreferences/layouts/IG-005.mddoc2,410 bytesreferences/layouts/IG-006.mddoc645 bytesreferences/layouts/IG-007.mddoc337 bytesreferences/layouts/IG-008.mddoc781 bytesreferences/layouts/IG-009.mddoc786 bytesreferences/layouts/IG-010.mddoc1,019 bytesreferences/layouts/IG-011.mddoc1,007 bytesreferences/layouts/IG-012.mddoc1,048 bytesreferences/layouts/IG-013.mddoc974 bytesreferences/layouts/IG-014.mddoc979 bytesreferences/layouts/IG-015.mddoc1,040 bytesreferences/layouts/IG-016.mddoc1,089 bytesreferences/layouts/IG-017.mddoc752 bytesreferences/layouts/IG-018.mddoc713 bytesreferences/layouts/IG-019.mddoc674 bytesreferences/layouts/IG-020.mddoc774 bytesreferences/layouts/IG-021.mddoc681 bytesreferences/layouts/IG-022.mddoc645 bytesreferences/layouts/IG-023.mddoc658 bytesreferences/layouts/IG-024.mddoc651 bytesreferences/layouts/IG-025.mddoc717 bytesreferences/layouts/IG-026.mddoc784 bytesreferences/layouts/IG-027.mddoc721 bytesreferences/layouts/IG-028.mddoc767 bytesreferences/layouts/IG-029.mddoc758 bytesreferences/layouts/IG-030.mddoc1,047 bytesreferences/layouts/IG-031.mddoc1,546 bytesreferences/layouts/IG-032.mddoc2,189 bytesreferences/layouts/IG-033.mddoc2,072 bytesreferences/layouts/IG-034.mddoc4,652 bytesreferences/layouts/IG-035.mddoc219 bytesreferences/layouts/IG-036.mddoc4,157 bytesreferences/layouts/IG-037.mddoc699 bytesreferences/layouts/IG-038.mddoc229 bytesreferences/layouts/IP-001.mddoc2,301 bytesreferences/layouts/IP-002.mddoc1,144 bytesreferences/layouts/IP-003.mddoc140 bytesreferences/layouts/IP-004.mddoc404 bytesreferences/layouts/IP-005.mddoc365 bytesreferences/layouts/IP-006.mddoc291 bytesreferences/layouts/IP-007.mddoc404 bytesreferences/layouts/IP-008.mddoc431 bytesreferences/layouts/IP-009.mddoc358 bytesreferences/layouts/IP-010.mddoc327 bytesreferences/layouts/IP-011.mddoc155 bytesreferences/layouts/IP-012.mddoc194 bytesreferences/layouts/IP-013.mddoc315 bytesreferences/layouts/SB-001.mddoc718 bytesreferences/layouts/SB-002.mddoc722 bytesreferences/layouts/SB-003.mddoc708 bytesreferences/layouts/SB-004.mddoc715 bytesreferences/layouts/SB-005.mddoc706 bytesreferences/layouts/SB-006.mddoc675 bytesreferences/layouts/SB-007.mddoc679 bytesreferences/layouts/SB-008.mddoc700 bytesreferences/layouts/SB-009.mddoc701 bytesreferences/layouts/SB-010.mddoc652 bytesreferences/layouts/SB-011.mddoc696 bytesreferences/layouts/SB-012.mddoc716 bytesreferences/layouts/SB-013.mddoc710 bytesreferences/layouts/SB-014.mddoc675 bytesreferences/layouts/SB-015.mddoc709 bytesreferences/layouts/SB-016.mddoc706 bytesreferences/layouts/SB-017.mddoc680 bytesreferences/layouts/SB-018.mddoc699 bytesreferences/layouts/SB-019.mddoc701 bytesreferences/layouts/SB-020.mddoc698 bytesreferences/layouts/SB-021.mddoc670 bytesreferences/layouts/SB-022.mddoc673 bytesreferences/layouts/SB-023.mddoc686 bytesreferences/layouts/SB-024.mddoc685 bytesreferences/layouts/SB-025.mddoc691 bytesreferences/layouts/SB-026.mddoc672 bytesreferences/layouts/SB-027.mddoc681 bytesreferences/layouts/SB-028.mddoc689 bytesreferences/layouts/SB-029.mddoc714 bytesreferences/layouts/SB-030.mddoc705 bytesreferences/layouts/SB-031.mddoc716 bytesreferences/layouts/SB-032.mddoc693 bytesreferences/layouts/SB-033.mddoc695 bytesreferences/layouts/SB-034.mddoc682 bytesreferences/layouts/SB-035.mddoc684 bytesreferences/layouts/SB-036.mddoc670 bytesreferences/layouts/SB-037.mddoc695 bytesreferences/layouts/SB-038.mddoc705 bytesreferences/layouts/SB-039.mddoc700 bytesreferences/layouts/SB-040.mddoc711 bytesreferences/layouts/SB-041.mddoc696 bytesreferences/layouts/SB-042.mddoc719 bytesreferences/layouts/SB-043.mddoc687 bytesreferences/layouts/SB-044.mddoc679 bytesreferences/layouts/SB-045.mddoc700 bytesreferences/layouts/SB-046.mddoc698 bytesreferences/layouts/SB-047.mddoc695 bytesreferences/layouts/SB-048.mddoc679 bytesreferences/layouts/SB-049.mddoc700 bytesreferences/layouts/SB-050.mddoc702 bytesreferences/layouts/SB-051.mddoc695 bytesreferences/layouts/SB-052.mddoc705 bytesreferences/layouts/SB-053.mddoc717 bytesreferences/layouts/SB-054.mddoc712 bytesreferences/layouts/SB-055.mddoc706 bytesreferences/layouts/SB-056.mddoc710 bytesreferences/layouts/SB-057.mddoc675 bytesreferences/layouts/SB-058.mddoc705 bytesreferences/layouts/SB-059.mddoc710 bytesreferences/layouts/SB-060.mddoc700 bytesreferences/layouts/SB-061.mddoc677 bytesreferences/layouts/SB-062.mddoc696 bytesreferences/layouts/SB-063.mddoc669 bytesreferences/layouts/SB-064.mddoc700 bytesreferences/layouts/SB-065.mddoc715 bytesreferences/layouts/SB-066.mddoc675 bytesreferences/layouts/SB-067.mddoc702 bytesreferences/layouts/SB-068.mddoc685 bytesreferences/layouts/SB-069.mddoc1,466 bytesreferences/layouts/SB-070.mddoc1,468 bytesreferences/layouts/SB-071.mddoc1,471 bytesreferences/layouts/SC-001.mddoc567 bytesreferences/layouts/SC-002.mddoc445 bytesreferences/layouts/SC-003.mddoc579 bytesreferences/layouts/SC-004.mddoc724 bytesreferences/layouts/SC-005.mddoc452 bytesreferences/layouts/SC-006.mddoc544 bytesreferences/layouts/SC-007.mddoc606 bytesreferences/layouts/SC-008.mddoc611 bytesreferences/layouts/SC-009.mddoc489 bytesreferences/layouts/SC-010.mddoc829 bytesreferences/layouts/SC-011.mddoc673 bytesreferences/layouts/SC-012.mddoc533 bytesreferences/layouts/SC-014.mddoc2,164 bytesreferences/layouts/SC-015.mddoc2,367 bytesreferences/layouts/SC-016.mddoc2,237 bytesreferences/layouts/SC-017.mddoc739 bytesreferences/layouts/SC-018.mddoc1,323 bytesreferences/layouts/SC-019.mddoc1,780 bytesreferences/layouts/SC-020.mddoc2,368 bytesreferences/layouts/SC-021.mddoc10,968 bytesreferences/layouts/SC-022.mddoc9,695 bytesreferences/layouts/SC-023.mddoc3,095 bytesreferences/layouts/SC-024.mddoc686 bytesreferences/layouts/SC-025.mddoc269 bytesreferences/model_capabilities.jsonasset21,676 bytesreferences/props.jsonasset3 bytesreferences/scenes.jsonasset3 bytesreferences/style_alias_map.jsonasset15,467 bytesreferences/styles.jsonasset145,637 bytesreferences/tones.jsonasset6,358 bytesreferences/version.jsonasset25 bytesscripts/build_assets_gallery.pyruns47,482 bytesscripts/build_character_gallery.pyruns189 bytesscripts/build_color_gallery.pyruns26,018 bytesscripts/build_layout_gallery.pyruns26,695 bytesscripts/build_library.pyruns42,578 bytesscripts/build_tutorial_gallery.pyruns130,579 bytesscripts/contact_sheet_registry.pyruns1,566 bytesscripts/custom_library_manager.pyruns20,529 bytesscripts/import_tweet_style.pyruns472 bytesscripts/layout_library.pyruns3,987 bytesscripts/prompt_style.pyruns19,812 bytesscripts/resolve_reference.pyruns5,094 bytesscripts/scrape_tweet.pyruns5,223 bytesscripts/split_contact_sheets.pyruns5,233 bytesscripts/style_asset_paths.pyruns2,634 bytesscripts/validate_library.pyruns40,163 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubip-designer
When your agent uses it
专业 IP 形象设计与 Character Bible / IP Design Manual 交付体系技能。按策略层、角色层、视觉层、系统层、商业层 5 个层级规划与生成 18 张标准卡片生图提示词。坚持文字简洁、画面聚焦、大图清晰、无示例污染,支持基础版(6张)、标准版(10张)与完整版(18张)按需输出高质量结构化提示词。
What it loads into context
Frontmatter
110 tokensAlways available to the agent
SKILL.md
2,831 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 一、设计与生成原则
- 二、交付层级架构
- IP-01|IP定位卡
- IP-02|角色档案卡
- IP-03|性格设定卡
- IP-04|世界观场景卡
- IP-05|设计理念卡
- IP-06|角色标准三视图
- IP-07|比例结构卡
- IP-08|表情设定卡
- IP-09|动作姿势卡
- IP-10|服装与道具卡
- IP-11|色彩与材质卡
- IP-12|视觉识别卡
- IP-13|角色关系卡
- IP-14|角色家族卡
- IP-15|商业应用卡
- IP-16|内容传播卡
- IP-17|表情包卡
- IP-18|品牌总览卡
- 三、推荐交付档位
Files
SKILL.mdcore9,570 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHublayout-library-importer
When your agent uses it
Add a supplied layout image and bilingual layout prompt to the local handdraw-style layout library and gallery. Use for new SC-* social-card or IG-* infographic layouts; do not use for style-number imports.
What it loads into context
Frontmatter
50 tokensAlways available to the agent
SKILL.md
1,346 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Source of truth
- Import workflow
- Validation
- Response contract
Files
SKILL.mdcore6,293 bytesSKILL.mdcore6,293 bytesSKILL.mdcore6,293 bytesSKILL.mdcore6,293 bytesSKILL.mdcore6,293 bytesSKILL.mdcore6,293 bytesagents/openai.yamlasset214 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhandraw-personal-library
When your agent uses it
手绘风个人画风、图型与社区收藏的按需同步、离线导入、创建和派生。不修改官方编号库,不自动上传私人内容。
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
775 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 操作
Scripts executed separately
scripts/personal_library.py
Files
SKILL.mdcore3,142 bytesSKILL.mdcore3,142 bytesscripts/personal_library.pyruns17,545 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubposter-prompt-generator
When your agent uses it
专门生成极简结构化 AI 海报提示词的专业设计技能。彻底摒弃冗长描述与套路化格式,深度协同项目 365 种视觉风格与 36 种经典主题色画廊,按核心业务与设计字段输出提示词(主题、业务场景、受众、内容密度、情感基调、主题色、editorial风格、画风),让生图模型(如 GPT Image 2/2.5)自主完成原生高质量构图与排版。
What it loads into context
Frontmatter
130 tokensAlways available to the agent
SKILL.md
1,810 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心设计哲学:高维结构化锚定,深度协同风格与色彩画廊
- 交付规范:画廊推荐卡片 + 8 大纯净设计字段 + 默认图文一体后缀
Files
SKILL.mdcore6,170 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubrelease-illustration-planner
When your agent uses it
专为 HandRaw 新【画风 (Style)】或新【图型 (Layout)】发布专栏文章量身定制的实测配图规划与批量生图 Skill。因为发布的本质是实测手绘 Skill 的画风与图型在商业场景中的表现边界,所以必须将商业主题与手绘 Skill 中的图型/画风深度咬合:当适合的商业主题推导出来后,强制为每个主题严密搭配契合的 HandRaw 排版图型(或跨流派画风);随后严格执行【五维实体异构与零雷同铁律】,5 组案例必须横跨建筑交通、餐饮流体、室内器物、文房平铺与宏大天象,彻底杜绝单一体裁与模板化女孩背影;调用手绘 Skill 官方解析器装配提示词并驱动 VirtualBrowser b1 Plus (ChatGPT Plus) 完成高质量无损实测批量出图,输出标准化 cases_manifest。
What it loads into context
Frontmatter
459 tokensAlways available to the agent
SKILL.md
3,795 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 一、核心定位与四大设计哲学
- 二、双轨工作流规范
- 三、五维实体异构与零雷同详细规范
- 四、色彩与画幅红线铁律
- 五、手绘 Skill 原生提示词组装标准
- 六、CLI 快速执行指令
Scripts executed separately
scripts/planner.py
Files
SKILL.mdcore12,232 bytesSKILL.mdcore12,232 bytesSKILL.mdcore12,232 bytesreferences/domain_layout_matrix.jsonasset9,997 bytesscripts/planner.pyruns39,353 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubstyle-business-analyzer
When your agent uses it
专门为手绘与写实视觉风格库(FA-001~FI-034 /
What it loads into context
Frontmatter
217 tokensAlways available to the agent
SKILL.md
2,324 tokensWhen the skill is activated
Reference documents
27,621 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 🎯 核心使命与触发场景
- 🏛<U+FE0F> 权威数据源与协同机制
- 📐 金牌 5 大模块架构标准 (The Gold-Standard 5-Module Blueprint)
- ⚙<U+FE0F> 质量契约与防污染铁律
- 🛠<U+FE0F> CLI 工具与辅助脚本
Scripts executed separately
../../scripts/generate_style_business.py
Files
../../scripts/generate_style_business.pyruns5,252 bytes../handdraw-style-prompter/references/colors.jsonasset18,242 bytes../handdraw-style-prompter/references/layouts.jsonasset69,367 bytes../handdraw-style-prompter/references/styles.jsonasset145,637 bytesSKILL.mdcore7,616 bytesSKILL.mdcore7,616 bytesSKILL.mdcore7,616 bytesSKILL.mdcore7,616 bytesSKILL.mdcore7,616 bytes../../styles_200_reorganized.mddoc92,712 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubstyle-fusion-prompter
When your agent uses it
跨媒介“角色视觉语言 × 场景视觉语言”双风格共存融合提示词生成技能。支持融合两套不同视觉风格编号(#001–#367),或融合风格编号与写实风格,并可按需注入图型(170 种)与主题色(36种),严格输出造型解耦、物理光影与叙事共存的高质量生图提示词。
What it loads into context
Frontmatter
109 tokensAlways available to the agent
SKILL.md
4,322 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心设计哲学
- 输入规范与风格解析
- 交付与后续操作引导 (CTA)
Files
SKILL.mdcore16,506 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubstyle-library-importer
When your agent uses it
Add a named or text-defined visual style to the numbered hand-drawn style library, generating a square representative image without number badges when none is supplied. Do not use for image-only Tweet imports.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
1,217 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心铁律:严禁从示意图提取具体画面内容到特征描述 (Prohibition on Content Extraction)
- Interpret the input
- Representative image
- Import
Scripts executed separately
../../scripts/import_manual_style.py
Files
../../scripts/import_manual_style.pyruns5,309 bytesSKILL.mdcore5,140 bytesSKILL.mdcore5,140 bytesSKILL.mdcore5,140 bytesSKILL.mdcore5,140 bytesSKILL.mdcore5,140 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubtweet-style-importer
When your agent uses it
Automatically scrape any X/Twitter tweet and its images, assign the next sequential style number, generate a 1024x1024 4-grid generation reference and a 16-grid gallery contact sheet without number badges, register the style, set mandatory image passing, and rebuild the gallery.
What it loads into context
Frontmatter
66 tokensAlways available to the agent
SKILL.md
1,711 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 核心自动化工作流
- 一键执行命令
- 各步骤规范与产出标准
- 交付与汇报格式
Scripts executed separately
../../scripts/import_tweet_style.py../../scripts/import_tweet_style.py
Files
../../scripts/import_tweet_style.pyruns9,363 bytes../../scripts/import_tweet_style.pyruns9,363 bytes../handdraw-style-prompter/gallery/index.htmlasset391,244 bytesSKILL.mdcore5,949 bytesSKILL.mdcore5,949 bytesSKILL.mdcore5,949 bytesSKILL.mdcore5,949 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- handdraw-style-prompter
- article-cover-designer
- article-illustration-planner
- community-share
- couple-photo-orchestrator
- editorial-hairstylist
- couple-photo-wardrobe-board
- couple-photo-requirements-planner
- editorial-makeup-artist
- reference-beauty-prep
- couple-photo-shooting-planner
- couple-photo-orchestrator
- custom-asset-manager
- handraw-skill
- ip-designer
- layout-library-importer
- handraw-personal-library
- poster-prompt-generator
- release-illustration-planner
- style-business-analyzer
- style-fusion-prompter
- style-library-importer
- tweet-style-importer
Repository facts
- License
- No license detected
- Created
- Sep 5, 2026
- Last pushed
- Nov 5, 2026
- Forks
- 825
- Open issues
- 1
- Project activity
- Active
Rank over the last 12 weeks
Now #206 · best #206 · up 47 in 30 days
- #223 on Oct 24
- #225 on Oct 25
- #215 on Oct 28
- #212 from Oct 29 to Oct 31
- #209 from Nov 1 to Nov 3
- #206 since Nov 4
47 earlier periods
- #893 on Aug 30
- #874 on Sep 5
- #905 on Sep 6
- #900 on Sep 7
- #909 on Sep 8
- #796 on Sep 9
- #572 on Sep 10
- #492 on Sep 11
- #477 on Sep 12
- #464 on Sep 13
- #457 on Sep 14
- #437 on Sep 15
- #427 on Sep 16
- #397 on Sep 17
- #380 on Sep 18
- #366 on Sep 19
- #358 on Sep 20
- #340 on Sep 21
- #333 on Sep 22
- #321 on Sep 23
- #316 on Sep 24
- #308 on Sep 25
- #302 on Sep 26
- #293 on Sep 27
- #286 on Sep 28
- #279 on Sep 29
- #270 on Sep 30
- #266 on Oct 1
- #269 on Oct 2
- #263 on Oct 3
- #253 on Oct 4
- #254 from Oct 5 to Oct 6
- #253 on Oct 7
- #248 on Oct 8
- #249 on Oct 9
- #243 on Oct 10
- #241 on Oct 11
- #243 from Oct 12 to Oct 13
- #240 on Oct 14
- #238 on Oct 15
- #235 on Oct 16
- #236 on Oct 17
- #234 on Oct 18
- #232 on Oct 19
- #231 from Oct 20 to Oct 21
- #227 on Oct 22
- #224 on Oct 23
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 2, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 192 notes
LAYOUTS.md:36Analysis incomplete: physical or joined line exceeds character limitLAYOUTS.md:34Analysis incomplete: physical or joined line exceeds character limitLAYOUTS.md:35Analysis incomplete: physical or joined line exceeds character limitLAYOUTS.md:57Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:30Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:31Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:34Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:32Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:33Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:36Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:35Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:47Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:48Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:49Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:50Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:51Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:52Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:53Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:54Analysis incomplete: physical or joined line exceeds character limitLAYOUTS_en.md:55Analysis incomplete: physical or joined line exceeds character limit
- No broad tool permissions
- 2 dangerous shell commandsin 1 file: scripts/sync_to_static.py:201
- 600 network referencesin 36 files: scripts/discourse_client.py:22 community-share/scripts/discourse_client.py:22 handdraw-style-prompter/gallery/index.html:18 and 33 more
- No instruction overrides
- 122 executable scriptsin 82 files: skills/handdraw-style-prompter/scripts/validate_library.py:1 scripts/sync_to_static.py:1 scripts/import_tweet_style.py:1 and 79 more
- 74 references to secretsin 15 files: scripts/discourse_client.py:31 community-share/scripts/discourse_client.py:31 personal-library/scripts/personal_library.py:27 and 12 more
- No requests to vote in Hot
Show all 817 signals by file
.github/workflows/sync-gitee.yml
.gitignore
- Access to secretsline 30
[Credential-related source omitted]
LICENSE
- Network accessline 3
Copyright (c) 2026 yang0 (https://github.com/yang0/handraw-style) - Network accessline 17
project/product is based on or derived from secondary development of this work, you must retain and clearly display credit to the original author (yang0) and the original repository link (https://github.com/yang0/handraw-style) in you - Network accessline 18
you must retain and clearly display credit to the original author (yang0) and the original repository link (https://github.com/yang0/handraw-style) in your documentation, repository, product description, or user interface. - Network accessline 19
the original repository link (https://github.com/yang0/handraw-style) in your
README.md
- Network accessline 7
<p align="center"> <a href="https://hellogithub.com/repository/yang0/handraw-style" target="_blank"> - Network accessline 8
<a href="https://hellogithub.com/repository/yang0/handraw-style" target="_blank"> - Network accessline 9
<img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=da31f932a6ef446fa2608d20f09c9be9&claim_uid=8adohGgCW07fknL" alt="Featured|HelloGitHub" style="width: 250px; height: 54px;" width="250" height="54" /> - Network accessline 19
> ### 📢 开源许可与致谢说明 > **欢迎自由使用、修改和商业化。**<br> > 唯一的小请求:如果这个项目对你有帮助,或者你的项目基于它进行了二次开发,**请保留作者 yang0 和原仓库地址**([https://github.com/yang0/handraw-style](https://github.com/yang0/handraw-style))。开源不易,感谢你的理解与支持! - Network accessline 21
> 唯一的小请求:如果这个项目对你有帮助,或者你的项目基于它进行了二次开发,**请保留作者 yang0 和原仓库地址**([https://github.com/yang0/handraw-style](https://github.com/yang0/handraw-style))。开源不易,感谢你的理解与支持! - Network accessline 23
> [!TIP] > ### 📚 官方飞书知识库已上线 > 🔗 **[👉 点击进入官方飞书知识库 ↗](https://ecmn3m3i17.feishu.cn/wiki/space/7689222460876524523?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home)** - Network accessline 24
> ### 📚 官方飞书知识库已上线 > 🔗 **[👉 点击进入官方飞书知识库 ↗](https://ecmn3m3i17.feishu.cn/wiki/space/7689222460876524523?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home)** > - Network accessline 25
> 🔗 **[👉 点击进入官方飞书知识库 ↗](https://ecmn3m3i17.feishu.cn/wiki/space/7689222460876524523?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home)** - Network accessline 59
> **“帮我安装这个 Skill:https://github.com/yang0/handraw-style”** - Network accessline 275
- 📚 **官方飞书知识库**:[点击访问知识库(速查画廊 / 常见问题速查 / 创业变现案例) ↗](https://ecmn3m3i17.feishu.cn/wiki/space/7689222460876524523?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home) - Network accessline 282
- X:[@yang02010](https://x.com/yang02010) - Network accessline 290
唯一的小请求:如果这个项目对你有帮助,或者你的项目基于它进行了二次开发,请保留作者 **yang0** 和原仓库地址:[https://github.com/yang0/handraw-style](https://github.com/yang0/handraw-style)。
README_en.md
- Network accessline 7
<p align="center"> <a href="https://hellogithub.com/repository/yang0/handraw-style" target="_blank"> - Network accessline 8
<a href="https://hellogithub.com/repository/yang0/handraw-style" target="_blank"> - Network accessline 9
<img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=da31f932a6ef446fa2608d20f09c9be9&claim_uid=8adohGgCW07fknL" alt="Featured|HelloGitHub" style="width: 250px; height: 54px;" width="250" height="54" /> - Network accessline 20
> ### 📢 Open Source & Attribution Notice > **You are welcome to freely use, modify, and commercialize this project.**<br> > The only small request: if this project helps you, or if your project is based on secondary development of this work - Network accessline 22
> The only small request: if this project helps you, or if your project is based on secondary development of this work, **please retain author yang0 and the original repository link** ([https://github.com/yang0/handraw-style](https://github - Network accessline 24
> [!TIP] > ### 📚 Official Feishu Knowledge Base is Live > 🔗 **[👉 Click to Access Feishu Knowledge Base ↗](https://ecmn3m3i17.feishu.cn/wiki/space/7689222460876524523?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home)** - Network accessline 25
> ### 📚 Official Feishu Knowledge Base is Live > 🔗 **[👉 Click to Access Feishu Knowledge Base ↗](https://ecmn3m3i17.feishu.cn/wiki/space/7689222460876524523?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home)** > - Network accessline 26
> 🔗 **[👉 Click to Access Feishu Knowledge Base ↗](https://ecmn3m3i17.feishu.cn/wiki/space/7689222460876524523?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home)** - Network accessline 64
> **"Install this Skill for me: https://github.com/yang0/handraw-style"** - Network accessline 290
- 📚 **Feishu Knowledge Base**: [Access Knowledge Base (Visual Gallery / FAQ / Monetization Case Studies) ↗](https://ecmn3m3i17.feishu.cn/wiki/space/7689222460876524523?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home) - Network accessline 297
- **X (Twitter)**: [@yang02010](https://x.com/yang02010) - Network accessline 298
- **GitHub**: [yang0/handraw-style](https://github.com/yang0/handraw-style) - Network accessline 306
The only request: if this project is helpful to you, or if your project is based on secondary development of this work, please retain credit to author **yang0** and the original repository link: [https://github.com/yang0/handraw-style](http
build_workbuddy_release.py
- Executable scriptline 1
Executable file
scripts/audit_release.py
scripts/batch_generate_all_business.py
- Executable scriptline 1
Executable file - Access to secretsline 21
[Credential-related source omitted] - Network accessline 150
for attempt in range(1, max_retries + 1): try: req = urllib.request.Request( - Network accessline 151
try: req = urllib.request.Request( "https://api.deepseek.com/chat/completions", - Network accessline 152
req = urllib.request.Request( - Network accessline 153
"https://api.deepseek.com/chat/completions", - Access to secretsline 155
[Credential-related source omitted] - Network accessline 166
}).encode("utf-8") ) resp = urllib.request.urlopen(req, timeout=60) - Network accessline 167
) resp = urllib.request.urlopen(req, timeout=60) res_json = json.loads(resp.read().decode("utf-8")) - Network accessline 168
resp = urllib.request.urlopen(req, timeout=60)
scripts/build_markdown_galleries.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/contact_sheet_registry.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/discourse_client.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 22
DEFAULT_COMMUNITY_URL = "https://handraw-style.com" - Access to secretsline 31
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted] - Network accessline 105
req = urllib.request.Request( - Network accessline 126
req = urllib.request.Request( - Access to secretsline 158
[Credential-related source omitted] - Access to secretsline 163
[Credential-related source omitted] - Network accessline 175
req = urllib.request.Request(f"{self.base_url}/session/current.json", headers=headers) - Network accessline 176
with urllib.request.urlopen(req, timeout=10) as resp: - Access to secretsline 181
[Credential-related source omitted] - Access to secretsline 182
[Credential-related source omitted] - Access to secretsline 202
[Credential-related source omitted] - Access to secretsline 203
[Credential-related source omitted] - Network accessline 207
except (UnicodeEncodeError, AttributeError): pass req = urllib.request.Request(f"{self.base_url}/session/current.json", headers=headers) - Network accessline 208
pass req = urllib.request.Request(f"{self.base_url}/session/current.json", headers=headers) try: - Network accessline 209
req = urllib.request.Request(f"{self.base_url}/session/current.json", headers=headers) - Network accessline 210
try: with urllib.request.urlopen(req, timeout=8) as resp: data = json.loads(resp.read().decode("utf-8")) - Network accessline 211
with urllib.request.urlopen(req, timeout=8) as resp: - Access to secretsline 276
[Credential-related source omitted] - Access to secretsline 277
[Credential-related source omitted] - Network accessline 283
except UnicodeEncodeError: pass req = urllib.request.Request(f"{self.base_url}/uploads.json", data=bytes(body), headers=headers) - Network accessline 284
pass req = urllib.request.Request(f"{self.base_url}/uploads.json", data=bytes(body), headers=headers) with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 285
req = urllib.request.Request(f"{self.base_url}/uploads.json", data=bytes(body), headers=headers) - Network accessline 286
with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 289
csrf = self.get_csrf_token() headers["X-CSRF-Token"] = csrf req = urllib.request.Request(f"{self.base_url}/uploads.json", data=bytes(body), headers=headers) - Network accessline 290
headers["X-CSRF-Token"] = csrf req = urllib.request.Request(f"{self.base_url}/uploads.json", data=bytes(body), headers=headers) with self.opener.open(req, timeout=30) as resp: - Network accessline 291
req = urllib.request.Request(f"{self.base_url}/uploads.json", data=bytes(body), headers=headers) - Access to secretsline 301
[Credential-related source omitted] - Network accessline 302
[Credential-related source omitted] - Access to secretsline 302
[Credential-related source omitted] - Network accessline 303
try: req = urllib.request.Request(url, headers=headers) with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 304
req = urllib.request.Request(url, headers=headers) - Network accessline 305
with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 542
--- *本帖由 [HandRaw Style Studio](https://handraw-style.com) 一键分享生成。欢迎点赞、交流与临摹复现!* - Network accessline 543
*本帖由 [HandRaw Style Studio](https://handraw-style.com) 一键分享生成。欢迎点赞、交流与临摹复现!* - Access to secretsline 595
[Credential-related source omitted] - Access to secretsline 596
[Credential-related source omitted] - Network accessline 602
except UnicodeEncodeError: pass req = urllib.request.Request(url, headers=headers) - Network accessline 603
pass req = urllib.request.Request(url, headers=headers) with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 604
req = urllib.request.Request(url, headers=headers) - Network accessline 605
with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 606
data = json.loads(resp.read().decode("utf-8")) else: req = urllib.request.Request(url, headers=headers) - Network accessline 607
else: req = urllib.request.Request(url, headers=headers) with self.opener.open(req, timeout=10) as resp: - Network accessline 608
req = urllib.request.Request(url, headers=headers) - Access to secretsline 655
[Credential-related source omitted] - Access to secretsline 656
[Credential-related source omitted] - Network accessline 662
except UnicodeEncodeError: pass req = urllib.request.Request(url, headers=headers, method="DELETE") - Network accessline 663
pass req = urllib.request.Request(url, headers=headers, method="DELETE") with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 664
req = urllib.request.Request(url, headers=headers, method="DELETE") - Network accessline 665
with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 668
csrf = self.get_csrf_token() headers["X-CSRF-Token"] = csrf req = urllib.request.Request(url, headers=headers, method="DELETE") - Network accessline 669
headers["X-CSRF-Token"] = csrf req = urllib.request.Request(url, headers=headers, method="DELETE") with self.opener.open(req, timeout=10) as resp: - Network accessline 670
req = urllib.request.Request(url, headers=headers, method="DELETE") - Access to secretsline 696
[Credential-related source omitted] - Access to secretsline 697
[Credential-related source omitted] - Network accessline 703
except UnicodeEncodeError: pass req = urllib.request.Request(url, data=data_bytes, headers=headers, method="POST") - Network accessline 704
pass req = urllib.request.Request(url, data=data_bytes, headers=headers, method="POST") with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 705
req = urllib.request.Request(url, data=data_bytes, headers=headers, method="POST") - Network accessline 706
with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 709
csrf = self.get_csrf_token() headers["X-CSRF-Token"] = csrf req = urllib.request.Request(url, data=data_bytes, headers=headers, method="POST") - Network accessline 710
headers["X-CSRF-Token"] = csrf req = urllib.request.Request(url, data=data_bytes, headers=headers, method="POST") with self.opener.open(req, timeout=15) as resp: - Network accessline 711
req = urllib.request.Request(url, data=data_bytes, headers=headers, method="POST") - Network accessline 722
[Credential-related source omitted] - Access to secretsline 722
[Credential-related source omitted] - Network accessline 723
[Credential-related source omitted] - Access to secretsline 723
[Credential-related source omitted] - Network accessline 724
req = urllib.request.Request(url, data=data_bytes, headers=headers, method="PUT") - Network accessline 725
with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 728
csrf = self.get_csrf_token() headers["X-CSRF-Token"] = csrf req = urllib.request.Request(url, data=data_bytes, headers=headers, method="PUT") - Network accessline 729
headers["X-CSRF-Token"] = csrf req = urllib.request.Request(url, data=data_bytes, headers=headers, method="PUT") with self.opener.open(req, timeout=15) as resp: - Network accessline 730
req = urllib.request.Request(url, data=data_bytes, headers=headers, method="PUT") - Access to secretsline 806
[Credential-related source omitted] - Access to secretsline 807
[Credential-related source omitted] - Access to secretsline 902
[Credential-related source omitted] - Network accessline 924
print("\n✅ 风格画廊与静态资产已成功同步部署到云端服务器!") print(" 风格画廊首页: https://handraw-style.com/gallery/index.html") - Network accessline 925
print(" 风格画廊首页: https://handraw-style.com/gallery/index.html") - Network accessline 926
print(" 提示词拼装器: https://handraw-style.com/gallery/tutorials.html") - Network accessline 927
print(" 自建资产图库: https://handraw-style.com/gallery/assets.html") - Network accessline 955
- 🏛<U+FE0F> **风格画廊首页**: [https://handraw-style.com/gallery/index.html](https://handraw-style.com/gallery/index.html) - Network accessline 956
- 🧩 **提示词拼装器与教程**: [https://handraw-style.com/gallery/tutorials.html](https://handraw-style.com/gallery/tutorials.html) - Network accessline 957
- 🗂<U+FE0F> **自建资产图库**: [https://handraw-style.com/gallery/assets.html](https://handraw-style.com/gallery/assets.html)
scripts/generate_style_business.py
scripts/import_manual_style.py
scripts/import_tweet_style.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Network accessline 78
endpoints = [ f"https://api.fxtwitter.com/status/{tweet_id}", - Network accessline 78
endpoints = [ f"https://api.fxtwitter.com/status/{tweet_id}", - Network accessline 79
f"https://api.fxtwitter.com/status/{tweet_id}", - Network accessline 79
f"https://api.fxtwitter.com/status/{tweet_id}", - Network accessline 80
f"https://api.vxtwitter.com/status/{tweet_id}", - Network accessline 80
f"https://api.vxtwitter.com/status/{tweet_id}", - Network accessline 83
for ep in endpoints: try: req = urllib.request.Request(ep, headers={ - Network accessline 83
for ep in endpoints: try: req = urllib.request.Request(ep, headers={ - Network accessline 84
try: req = urllib.request.Request(ep, headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" - Network accessline 84
try: req = urllib.request.Request(ep, headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" - Network accessline 85
req = urllib.request.Request(ep, headers={ - Network accessline 85
req = urllib.request.Request(ep, headers={ - Network accessline 86
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" }) with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 86
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" }) with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 87
}) with urllib.request.urlopen(req, timeout=15) as resp: data = json.loads(resp.read().decode('utf-8')) - Network accessline 87
}) with urllib.request.urlopen(req, timeout=15) as resp: data = json.loads(resp.read().decode('utf-8')) - Network accessline 88
with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 88
with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 102
return target.stat().st_size import time req = urllib.request.Request(url, headers={ - Network accessline 102
return target.stat().st_size import time req = urllib.request.Request(url, headers={ - Network accessline 103
import time req = urllib.request.Request(url, headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" - Network accessline 103
import time req = urllib.request.Request(url, headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" - Network accessline 104
req = urllib.request.Request(url, headers={ - Network accessline 104
req = urllib.request.Request(url, headers={ - Network accessline 107
for attempt in range(4): try: with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 107
for attempt in range(4): try: with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 108
try: with urllib.request.urlopen(req, timeout=30) as resp: content = resp.read() - Network accessline 108
try: with urllib.request.urlopen(req, timeout=30) as resp: content = resp.read() - Network accessline 109
with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 109
with urllib.request.urlopen(req, timeout=30) as resp:
scripts/migrate_style_assets.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/optimize_images.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/package_skill.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 65
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 66
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 67
'https://img.handraw-style.com/' + sub, - Network accessline 68
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub
scripts/patch_image_numbers.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/personal_library.py
- Executable scriptline 1
Executable file
scripts/scrape_tweet.py
- Executable scriptline 1
Executable file - Network accessline 20
endpoints = [ f"https://api.fxtwitter.com/status/{tweet_id}", - Network accessline 21
f"https://api.fxtwitter.com/status/{tweet_id}", - Network accessline 22
f"https://api.vxtwitter.com/status/{tweet_id}", - Network accessline 26
for ep in endpoints: try: req = urllib.request.Request(ep, headers={ - Network accessline 27
try: req = urllib.request.Request(ep, headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" - Network accessline 28
req = urllib.request.Request(ep, headers={ - Network accessline 29
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" }) with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 30
}) with urllib.request.urlopen(req, timeout=15) as resp: data = json.loads(resp.read().decode('utf-8')) - Network accessline 31
with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 43
def download_file(url, target_path): req = urllib.request.Request(url, headers={ - Network accessline 44
req = urllib.request.Request(url, headers={ - Network accessline 45
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" }) with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 46
}) with urllib.request.urlopen(req, timeout=30) as resp: content = resp.read() - Network accessline 47
with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 55
def main(): if len(sys.argv) < 2: tweet_url = "https://x.com/Artedeingenio/status/2096941708508328344" - Network accessline 56
if len(sys.argv) < 2: tweet_url = "https://x.com/Artedeingenio/status/2096941708508328344" else: - Network accessline 57
tweet_url = "https://x.com/Artedeingenio/status/2096941708508328344"
scripts/style_asset_paths.py
- Executable scriptline 1
Executable file
scripts/style_library_import.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/sync_to_static.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Access to secretsline 21
[Credential-related source omitted] - Access to secretsline 21
[Credential-related source omitted] - Network accessline 82
"partners_count": len(partners), "data_urls": { "styles": "https://static.handraw-style.com/data/styles.json", - Network accessline 82
"partners_count": len(partners), "data_urls": { "styles": "https://static.handraw-style.com/data/styles.json", - Network accessline 83
"data_urls": { "styles": "https://static.handraw-style.com/data/styles.json", "layouts": "https://static.handraw-style.com/data/layouts.json", - Network accessline 83
"data_urls": { "styles": "https://static.handraw-style.com/data/styles.json", "layouts": "https://static.handraw-style.com/data/layouts.json", - Network accessline 84
"styles": "https://static.handraw-style.com/data/styles.json", - Network accessline 84
"styles": "https://static.handraw-style.com/data/styles.json", - Network accessline 85
"layouts": "https://static.handraw-style.com/data/layouts.json", - Network accessline 85
"layouts": "https://static.handraw-style.com/data/layouts.json", - Network accessline 86
"colors": "https://static.handraw-style.com/data/colors.json", - Network accessline 86
"colors": "https://static.handraw-style.com/data/colors.json", - Network accessline 87
"tones": "https://static.handraw-style.com/data/tones.json", - Network accessline 87
"tones": "https://static.handraw-style.com/data/tones.json", - Network accessline 88
"partners": "https://static.handraw-style.com/data/partners.json" - Network accessline 88
"partners": "https://static.handraw-style.com/data/partners.json" - Network accessline 89
}, "images_base_url": "https://img.handraw-style.com/images/" } - Network accessline 89
}, "images_base_url": "https://img.handraw-style.com/images/" } - Network accessline 90
"images_base_url": "https://img.handraw-style.com/images/" - Network accessline 90
"images_base_url": "https://img.handraw-style.com/images/" - Dangerous shell operationline 201
f"tar -xf /tmp/images_delta.tar -C {remote_target}/images/ && rm -f /tmp/images_delta.tar" - Dangerous shell operationline 201
f"tar -xf /tmp/images_delta.tar -C {remote_target}/images/ && rm -f /tmp/images_delta.tar"
scripts/test_image_gallery.cjs
- Executable scriptline 1
Executable file
scripts/verify_all_business_files.py
- Executable scriptline 1
Executable file
scripts/workbuddy_check_audit.py
- Executable scriptline 1
Executable file - Network accessline 12
async def check_audit(): print(f"[{Path(__file__).name}] Connecting to Chrome CDP at 127.0.0.1:9221...") tabs = json.loads(urllib.request.urlopen('http://127.0.0.1:9221/json').read().decode('utf-8')) - Network accessline 13
print(f"[{Path(__file__).name}] Connecting to Chrome CDP at 127.0.0.1:9221...") tabs = json.loads(urllib.request.urlopen('http://127.0.0.1:9221/json').read().decode('utf-8')) wb_tab = next((t for t in tabs if 'workbuddy.cn' in t.get - Network accessline 14
tabs = json.loads(urllib.request.urlopen('http://127.0.0.1:9221/json').read().decode('utf-8')) - Network accessline 38
await eval_js("window.location.href = 'https://open.workbuddy.cn/skill/all'")
scripts/workbuddy_midnight_resubmit.py
- Executable scriptline 1
Executable file - Network accessline 20
async def run_resubmit(): print(f"[{Path(__file__).name}] Connecting to Chrome CDP at 127.0.0.1:9221...") tabs = json.loads(urllib.request.urlopen('http://127.0.0.1:9221/json').read().decode('utf-8')) - Network accessline 21
print(f"[{Path(__file__).name}] Connecting to Chrome CDP at 127.0.0.1:9221...") tabs = json.loads(urllib.request.urlopen('http://127.0.0.1:9221/json').read().decode('utf-8')) wb_tab = next((t for t in tabs if 'workbuddy.cn' in t.get - Network accessline 22
tabs = json.loads(urllib.request.urlopen('http://127.0.0.1:9221/json').read().decode('utf-8')) - Network accessline 47
print("1. Navigating to https://open.workbuddy.cn/skill/all...") - Network accessline 48
await eval_js("window.location.href = 'https://open.workbuddy.cn/skill/all'") - Network accessline 208
print("8. Verifying submission status on /skill/all...") await eval_js("window.location.href = 'https://open.workbuddy.cn/skill/all'") - Network accessline 209
await eval_js("window.location.href = 'https://open.workbuddy.cn/skill/all'")
skills/article-illustration-planner/scripts/insert_illustrations.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/community-share/SKILL.md
- Network accessline 16
本 Skill 是手绘风生态 ([handraw-style.com](https://handraw-style.com)) 的**全功能社区发布引擎**。 - Access to secretsline 71
[Credential-related source omitted] - Network accessline 102
> [!TIP] > **已部署线上访问地址**: > - 风格画廊首页:[https://handraw-style.com/gallery/index.html](https://handraw-style.com/gallery/index.html) - Network accessline 103
> **已部署线上访问地址**: > - 风格画廊首页:[https://handraw-style.com/gallery/index.html](https://handraw-style.com/gallery/index.html) > - 提示词拼装器:[https://handraw-style.com/gallery/tutorials.html](https://handraw-style.com/gallery/tutorials.html) - Network accessline 104
> - 风格画廊首页:[https://handraw-style.com/gallery/index.html](https://handraw-style.com/gallery/index.html) - Network accessline 105
> - 提示词拼装器:[https://handraw-style.com/gallery/tutorials.html](https://handraw-style.com/gallery/tutorials.html) - Network accessline 106
> - 自建资产图库:[https://handraw-style.com/gallery/assets.html](https://handraw-style.com/gallery/assets.html) - Network accessline 107
> - 核心风格数据:[https://static.handraw-style.com/data/styles.json](https://static.handraw-style.com/data/styles.json) - Network accessline 186
1. **中文用户名 Header 编码陷阱 (Latin-1 崩溃)**: - Python 的标准库 `http.client` 在处理 HTTP Header 时仅允许 `latin-1` 范围字符。 - Network accessline 187
- Python 的标准库 `http.client` 在处理 HTTP Header 时仅允许 `latin-1` 范围字符。
skills/community-share/references/conversation-sharing.md
- Network accessline 9
- `POST /studio/api/entries` 请求体为 `{"entry": {...}}`,设置 `kind: "work"`、`price: 0`、`paid_opt_in: false`。`entry.content.prompt` 仅放原始提示词和编号备注;`content.parameters` 仅记录编号,不能加入二阶段提示词。 - `entry.assets` 传原生资产引用,如 `{"ref":"official:FA-013","role":"s - Network accessline 10
- `entry.assets` 传原生资产引用,如 `{"ref":"official:FA-013","role":"style"}`、`{"ref":"official:IG-038","role":"layout"}`。每件作品最多两个不同画风、一个图型;不使用的类别不传关联。**正文编号备注与正式关联都要保存**,不能只靠文字识别。 - 接口返回作品 UUID。作品链接为 `https://handraw-style.com/studio?entry=<UUID>` - Network accessline 11
- 接口返回作品 UUID。作品链接为 `https://handraw-style.com/studio?entry=<UUID>`,广场入口为 `https://handraw-style.com/studio?view=community&kind=work`。禁止用论坛主题链接作为作品成功回执。 - Network accessline 44
- `prepare` 保存本地草稿和校验摘要,并启动或复用仅监听 `127.0.0.1:18763` 的后台分享服务,**不上传、不发布作品**。不得在生成完成后直接调用 `publish`。 - 草稿目录属于用户本地输出,不打进公开 Skill 包;个人密钥由每个用户单独绑定,绝不预置作者密钥。 - Codex / Claude 本地客户端:把命令输出的 `[分享到网站](http://127.0.0.1:18763/share/...)` 原样作为最终回复中的 Mark - Network accessline 45
- 草稿目录属于用户本地输出,不打进公开 Skill 包;个人密钥由每个用户单独绑定,绝不预置作者密钥。 - Codex / Claude 本地客户端:把命令输出的 `[分享到网站](http://127.0.0.1:18763/share/...)` 原样作为最终回复中的 Markdown 链接输出,不能包进代码块。链接打开图片与原始指令预览,页面内有真实 HTML 发布按钮。不得把 `:codex-followup` 当成已验证的可点击按钮。 - 本机服务在电脑重启后需要 - Network accessline 46
- Codex / Claude 本地客户端:把命令输出的 `[分享到网站](http://127.0.0.1:18763/share/...)` 原样作为最终回复中的 Markdown 链接输出,不能包进代码块。链接打开图片与原始指令预览,页面内有真实 HTML 发布按钮。不得把 `:codex-followup` 当成已验证的可点击按钮。 - Access to secretsline 82
[Credential-related source omitted] - Network accessline 84
API 依据:[手绘风个人 API Key 与图文帖子接口](https://handraw-style.com/t/topic/29)。只向固定官方 HTTPS 域名发送 `Api-Key`;不附加 `Api-Username`,不跟随携带凭据的重定向。
skills/community-share/scripts/conversation_share.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 22
BASE_URL = "https://handraw-style.com" - Network accessline 242
if content_type: headers["Content-Type"] = content_type request = urllib.request.Request(BASE_URL + endpoint, data=data, - Network accessline 243
headers["Content-Type"] = content_type request = urllib.request.Request(BASE_URL + endpoint, data=data, headers=headers, method=method) - Network accessline 244
request = urllib.request.Request(BASE_URL + endpoint, data=data, - Access to secretsline 317
[Credential-related source omitted] - Access to secretsline 325
[Credential-related source omitted] - Access to secretsline 326
[Credential-related source omitted] - Access to secretsline 458
[Credential-related source omitted]
skills/community-share/scripts/conversation_share_ui.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 33
*{box-sizing:border-box}body{margin:0}main{max-width:960px;margin:auto;padding:36px 24px 120px}.brand{font-size:14px;color:#3958b6;font-weight:700;letter-spacing:.08em}h1{font-size:32px;line-height:1.3;margin:12px 0 8px}p{color:#667085;line - Possible obfuscationline 33
*{box-sizing:border-box}body{margin:0}main{max-width:960px;margin:auto;padding:36px 24px 120px}.brand{font-size:14px;color:#3958b6;font-weight:700;letter-spacing:.08em}h1{font-size:32px;line-height:1.3;margin:12px 0 8px}p{color:#667085;line - Network accessline 34
.page-header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.header-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.header-links a{color:#3958b6;text-decoration:none;font-size:13px;white - Network accessline 35
</style></head><body><main><header class="page-header"><div class="brand">手绘风 · 作品分享</div><nav class="header-links" aria-label="手绘风网站链接"><a href="https://handraw-style.com/signup" target="_blank" rel="noopener noreferrer">注册</a><a href="htt - Network accessline 45
let busy=false; function showPublished(data){btn.style.display='none';const a=document.getElementById('post-link');a.href=data.work_url||data.legacy_forum_url;a.style.display='inline-block';if(data.work_url){status.textContent='已分享到作品广场,重复打 - Network accessline 46
function showPublished(data){btn.style.display='none';const a=document.getElementById('post-link');a.href=data.work_url||data.legacy_forum_url;a.style.display='inline-block';if(data.work_url){status.textContent='已分享到作品广场,重复打开本页不会再次发布。';stat - Network accessline 47
async function load(initial=false){const r=await fetch(endpoint,{cache:'no-store'});const d=await r.json();if(!r.ok)throw new Error(d.error||'无法读取草稿'); - Network accessline 51
btn.addEventListener('click',async()=>{if(busy)return;busy=true;btn.disabled=true;btn.textContent='正在发布…';error.textContent='';status.textContent='正在连接账号并上传图片…'; const timer=setInterval(()=>load().catch(()=>{}),1500); try{const r=await fetc - Network accessline 52
const timer=setInterval(()=>load().catch(()=>{}),1500); try{const r=await fetch(endpoint+'/publish',{method:'POST',headers:{'Content-Type':'application/json','X-Handraw-Share':token},body:'{}'});const d=await r.json();if(!r.ok)throw new Err - Network accessline 53
try{const r=await fetch(endpoint+'/publish',{method:'POST',headers:{'Content-Type':'application/json','X-Handraw-Share':token},body:'{}'});const d=await r.json();if(!r.ok)throw new Error(d.error||'发布失败');await load();if(!d.verified)status.t - Network accessline 95
@property def origin(self): return f"http://127.0.0.1:{self.server.server_port}" - Network accessline 97
return f"http://127.0.0.1:{self.server.server_port}" - Network accessline 189
[Credential-related source omitted] - Network accessline 190
[Credential-related source omitted] - Network accessline 191
origin = f"http://127.0.0.1:{port}" - Network accessline 192
def healthy(): try: with urllib.request.urlopen(origin + "/health", timeout=1) as response: - Network accessline 193
try: with urllib.request.urlopen(origin + "/health", timeout=1) as response: data = json.load(response) - Network accessline 194
with urllib.request.urlopen(origin + "/health", timeout=1) as response:
skills/community-share/scripts/discourse_client.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 22
DEFAULT_COMMUNITY_URL = "https://handraw-style.com" - Access to secretsline 31
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted] - Network accessline 105
req = urllib.request.Request( - Network accessline 126
req = urllib.request.Request( - Access to secretsline 158
[Credential-related source omitted] - Access to secretsline 163
[Credential-related source omitted] - Network accessline 175
req = urllib.request.Request(f"{self.base_url}/session/current.json", headers=headers) - Network accessline 176
with urllib.request.urlopen(req, timeout=10) as resp: - Access to secretsline 181
[Credential-related source omitted] - Access to secretsline 182
[Credential-related source omitted] - Access to secretsline 202
[Credential-related source omitted] - Access to secretsline 203
[Credential-related source omitted] - Network accessline 207
except (UnicodeEncodeError, AttributeError): pass req = urllib.request.Request(f"{self.base_url}/session/current.json", headers=headers) - Network accessline 208
pass req = urllib.request.Request(f"{self.base_url}/session/current.json", headers=headers) try: - Network accessline 209
req = urllib.request.Request(f"{self.base_url}/session/current.json", headers=headers) - Network accessline 210
try: with urllib.request.urlopen(req, timeout=8) as resp: data = json.loads(resp.read().decode("utf-8")) - Network accessline 211
with urllib.request.urlopen(req, timeout=8) as resp: - Access to secretsline 276
[Credential-related source omitted] - Access to secretsline 277
[Credential-related source omitted] - Network accessline 283
except UnicodeEncodeError: pass req = urllib.request.Request(f"{self.base_url}/uploads.json", data=bytes(body), headers=headers) - Network accessline 284
pass req = urllib.request.Request(f"{self.base_url}/uploads.json", data=bytes(body), headers=headers) with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 285
req = urllib.request.Request(f"{self.base_url}/uploads.json", data=bytes(body), headers=headers) - Network accessline 286
with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 289
csrf = self.get_csrf_token() headers["X-CSRF-Token"] = csrf req = urllib.request.Request(f"{self.base_url}/uploads.json", data=bytes(body), headers=headers) - Network accessline 290
headers["X-CSRF-Token"] = csrf req = urllib.request.Request(f"{self.base_url}/uploads.json", data=bytes(body), headers=headers) with self.opener.open(req, timeout=30) as resp: - Network accessline 291
req = urllib.request.Request(f"{self.base_url}/uploads.json", data=bytes(body), headers=headers) - Access to secretsline 301
[Credential-related source omitted] - Network accessline 302
[Credential-related source omitted] - Access to secretsline 302
[Credential-related source omitted] - Network accessline 303
try: req = urllib.request.Request(url, headers=headers) with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 304
req = urllib.request.Request(url, headers=headers) - Network accessline 305
with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 542
--- *本帖由 [HandRaw Style Studio](https://handraw-style.com) 一键分享生成。欢迎点赞、交流与临摹复现!* - Network accessline 543
*本帖由 [HandRaw Style Studio](https://handraw-style.com) 一键分享生成。欢迎点赞、交流与临摹复现!* - Access to secretsline 595
[Credential-related source omitted] - Access to secretsline 596
[Credential-related source omitted] - Network accessline 602
except UnicodeEncodeError: pass req = urllib.request.Request(url, headers=headers) - Network accessline 603
pass req = urllib.request.Request(url, headers=headers) with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 604
req = urllib.request.Request(url, headers=headers) - Network accessline 605
with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 606
data = json.loads(resp.read().decode("utf-8")) else: req = urllib.request.Request(url, headers=headers) - Network accessline 607
else: req = urllib.request.Request(url, headers=headers) with self.opener.open(req, timeout=10) as resp: - Network accessline 608
req = urllib.request.Request(url, headers=headers) - Access to secretsline 655
[Credential-related source omitted] - Access to secretsline 656
[Credential-related source omitted] - Network accessline 662
except UnicodeEncodeError: pass req = urllib.request.Request(url, headers=headers, method="DELETE") - Network accessline 663
pass req = urllib.request.Request(url, headers=headers, method="DELETE") with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 664
req = urllib.request.Request(url, headers=headers, method="DELETE") - Network accessline 665
with urllib.request.urlopen(req, timeout=10) as resp: - Network accessline 668
csrf = self.get_csrf_token() headers["X-CSRF-Token"] = csrf req = urllib.request.Request(url, headers=headers, method="DELETE") - Network accessline 669
headers["X-CSRF-Token"] = csrf req = urllib.request.Request(url, headers=headers, method="DELETE") with self.opener.open(req, timeout=10) as resp: - Network accessline 670
req = urllib.request.Request(url, headers=headers, method="DELETE") - Access to secretsline 696
[Credential-related source omitted] - Access to secretsline 697
[Credential-related source omitted] - Network accessline 703
except UnicodeEncodeError: pass req = urllib.request.Request(url, data=data_bytes, headers=headers, method="POST") - Network accessline 704
pass req = urllib.request.Request(url, data=data_bytes, headers=headers, method="POST") with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 705
req = urllib.request.Request(url, data=data_bytes, headers=headers, method="POST") - Network accessline 706
with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 709
csrf = self.get_csrf_token() headers["X-CSRF-Token"] = csrf req = urllib.request.Request(url, data=data_bytes, headers=headers, method="POST") - Network accessline 710
headers["X-CSRF-Token"] = csrf req = urllib.request.Request(url, data=data_bytes, headers=headers, method="POST") with self.opener.open(req, timeout=15) as resp: - Network accessline 711
req = urllib.request.Request(url, data=data_bytes, headers=headers, method="POST") - Network accessline 722
[Credential-related source omitted] - Access to secretsline 722
[Credential-related source omitted] - Network accessline 723
[Credential-related source omitted] - Access to secretsline 723
[Credential-related source omitted] - Network accessline 724
req = urllib.request.Request(url, data=data_bytes, headers=headers, method="PUT") - Network accessline 725
with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 728
csrf = self.get_csrf_token() headers["X-CSRF-Token"] = csrf req = urllib.request.Request(url, data=data_bytes, headers=headers, method="PUT") - Network accessline 729
headers["X-CSRF-Token"] = csrf req = urllib.request.Request(url, data=data_bytes, headers=headers, method="PUT") with self.opener.open(req, timeout=15) as resp: - Network accessline 730
req = urllib.request.Request(url, data=data_bytes, headers=headers, method="PUT") - Access to secretsline 806
[Credential-related source omitted] - Access to secretsline 807
[Credential-related source omitted] - Access to secretsline 902
[Credential-related source omitted] - Network accessline 924
print("\n✅ 风格画廊与静态资产已成功同步部署到云端服务器!") print(" 风格画廊首页: https://handraw-style.com/gallery/index.html") - Network accessline 925
print(" 风格画廊首页: https://handraw-style.com/gallery/index.html") - Network accessline 926
print(" 提示词拼装器: https://handraw-style.com/gallery/tutorials.html") - Network accessline 927
print(" 自建资产图库: https://handraw-style.com/gallery/assets.html") - Network accessline 955
- 🏛<U+FE0F> **风格画廊首页**: [https://handraw-style.com/gallery/index.html](https://handraw-style.com/gallery/index.html) - Network accessline 956
- 🧩 **提示词拼装器与教程**: [https://handraw-style.com/gallery/tutorials.html](https://handraw-style.com/gallery/tutorials.html) - Network accessline 957
- 🗂<U+FE0F> **自建资产图库**: [https://handraw-style.com/gallery/assets.html](https://handraw-style.com/gallery/assets.html)
skills/community-share/tests/test_conversation_share.py
- Executable scriptline 1
Executable file - Access to secretsline 82
[Credential-related source omitted] - Network accessline 145
def test_markdown_fence_does_not_allow_original_instruction_to_escape(tmp_path): original = '```\n# 这仍然是原始指令\n```\n[原样保留](https://example.com)' - Network accessline 146
original = '```\n# 这仍然是原始指令\n```\n[原样保留](https://example.com)' - Network accessline 213
def test_share_entry_uses_a_real_url_and_does_not_assume_host_directives(tmp_path): path, data, _ = draft(tmp_path) url = 'http://127.0.0.1:18763/share/' + 'a' * 32 - Network accessline 214
path, data, _ = draft(tmp_path) url = 'http://127.0.0.1:18763/share/' + 'a' * 32 codex = share.button(path, data, page_url=url) - Network accessline 215
url = 'http://127.0.0.1:18763/share/' + 'a' * 32 - Access to secretsline 218
[Credential-related source omitted] - Network accessline 244
assert api.current_user()["username"] == "creator" request = captured[0] assert request.full_url == "https://handraw-style.com/session/current.json" - Network accessline 245
request = captured[0] assert request.full_url == "https://handraw-style.com/session/current.json" assert request.get_header("Api-key") == "test-personal-key-123456789" - Network accessline 246
assert request.full_url == "https://handraw-style.com/session/current.json" - Network accessline 262
def test_work_api_sends_native_entry_with_asset_links_not_forum_raw(monkeypatch, tmp_path): path, data, _ = draft(tmp_path) data['uploads'] = [{'short_url':'upload://image0.png'}, {'url':'https://static.handraw-style.com/uploads/ima - Network accessline 263
path, data, _ = draft(tmp_path) data['uploads'] = [{'short_url':'upload://image0.png'}, {'url':'https://static.handraw-style.com/uploads/image1.png'}] payload = share.work_payload(data) - Network accessline 264
data['uploads'] = [{'short_url':'upload://image0.png'}, {'url':'https://static.handraw-style.com/uploads/image1.png'}] - Network accessline 276
assert entry['assets']==[{'ref':'official:FA-013','role':'style'}] assert entry['cover_url']=='/uploads/short-url/image0.png' assert entry['content']['examples'][0]['image']=='https://static.handraw-style.com/uploads/image1.png' - Network accessline 277
assert entry['cover_url']=='/uploads/short-url/image0.png' assert entry['content']['examples'][0]['image']=='https://static.handraw-style.com/uploads/image1.png' assert 'raw' not in entry and 'category' not in entry - Network accessline 278
assert entry['content']['examples'][0]['image']=='https://static.handraw-style.com/uploads/image1.png' - Network accessline 320
def test_bad_image_url_is_rejected_without_falling_back_to_forum(tmp_path): path,data,_=draft(tmp_path) data['uploads']=[{'url':'https://evil.example/image.png'}]*2 - Network accessline 321
path,data,_=draft(tmp_path) data['uploads']=[{'url':'https://evil.example/image.png'}]*2 with pytest.raises(ValueError,match='本站'): - Network accessline 322
data['uploads']=[{'url':'https://evil.example/image.png'}]*2 - Network accessline 327
def test_forum_receipt_is_never_reported_as_work_square_success(tmp_path): path,data,_=draft(tmp_path) data.update(status='published',receipt={'url':'https://handraw-style.com/t/topic/246','verified':True}) - Network accessline 328
path,data,_=draft(tmp_path) data.update(status='published',receipt={'url':'https://handraw-style.com/t/topic/246','verified':True}) share.write_json(path,data) - Network accessline 329
data.update(status='published',receipt={'url':'https://handraw-style.com/t/topic/246','verified':True})
skills/community-share/tests/test_conversation_share_ui.py
- Executable scriptline 1
Executable file - Network accessline 41
thread = threading.Thread(target=server.serve_forever, daemon=True) thread.start() yield f'http://127.0.0.1:{server.server_port}', token, api, path, original - Network accessline 42
thread.start() yield f'http://127.0.0.1:{server.server_port}', token, api, path, original server.shutdown() - Network accessline 43
yield f'http://127.0.0.1:{server.server_port}', token, api, path, original - Network accessline 49
def test_opening_preview_loading_info_and_images_never_publishes(page): origin, token, api, path, original = page html = urllib.request.urlopen(f'{origin}/share/{token}').read().decode() - Network accessline 50
origin, token, api, path, original = page html = urllib.request.urlopen(f'{origin}/share/{token}').read().decode() assert '<button id="publish"' in html - Network accessline 51
html = urllib.request.urlopen(f'{origin}/share/{token}').read().decode() - Network accessline 53
assert '分享到作品广场' in html and 'addEventListener(\'click\'' in html assert 'textContent=d.shared_prompt' in html info = json.load(urllib.request.urlopen(f'{origin}/api/share/{token}')) - Network accessline 54
assert 'textContent=d.shared_prompt' in html info = json.load(urllib.request.urlopen(f'{origin}/api/share/{token}')) assert info['original_request'] == original and info['status'] == 'ready' - Network accessline 55
info = json.load(urllib.request.urlopen(f'{origin}/api/share/{token}')) - Network accessline 58
assert info['shared_prompt']==original+'\n【画风:FA-013 】' assert 'api_key' not in json.dumps(info) assert urllib.request.urlopen(origin + info['images'][0]['src']).read().startswith(b'\x89PNG') - Network accessline 59
[Credential-related source omitted] - Access to secretsline 59
[Credential-related source omitted] - Network accessline 60
assert urllib.request.urlopen(origin + info['images'][0]['src']).read().startswith(b'\x89PNG') - Network accessline 66
endpoint = f'{origin}/api/share/{token}/publish' with pytest.raises(urllib.error.HTTPError) as error: urllib.request.urlopen(endpoint) - Network accessline 67
with pytest.raises(urllib.error.HTTPError) as error: urllib.request.urlopen(endpoint) assert error.value.code == 404 - Network accessline 68
urllib.request.urlopen(endpoint) - Network accessline 69
assert error.value.code == 404 for headers in [{}, {'Origin': 'https://evil.example', 'X-Handraw-Share': token}]: request = urllib.request.Request(endpoint, data=b'{}', headers={'Content-Type': 'application/json', **headers}) - Network accessline 70
for headers in [{}, {'Origin': 'https://evil.example', 'X-Handraw-Share': token}]: request = urllib.request.Request(endpoint, data=b'{}', headers={'Content-Type': 'application/json', **headers}) with pytest.raises(urllib.err - Network accessline 71
request = urllib.request.Request(endpoint, data=b'{}', headers={'Content-Type': 'application/json', **headers}) - Network accessline 72
with pytest.raises(urllib.error.HTTPError) as error: urllib.request.urlopen(request) assert error.value.code == 403 - Network accessline 73
urllib.request.urlopen(request) - Network accessline 79
origin, token, api, path, original = page def click(): request = urllib.request.Request(f'{origin}/api/share/{token}/publish', data=b'{}', - Network accessline 80
def click(): request = urllib.request.Request(f'{origin}/api/share/{token}/publish', data=b'{}', headers={'Content-Type': 'application/json', 'Origin': origin, 'X-Handraw-Share': token}) - Network accessline 81
request = urllib.request.Request(f'{origin}/api/share/{token}/publish', data=b'{}', - Network accessline 82
headers={'Content-Type': 'application/json', 'Origin': origin, 'X-Handraw-Share': token}) return json.load(urllib.request.urlopen(request)) first, second = click(), click() - Network accessline 83
return json.load(urllib.request.urlopen(request)) - Network accessline 86
assert len(api.uploads) == len(api.works) == 1 and original in api.works[0]['content']['prompt'] assert api.works[0]['content']['prompt']==original+'\n【画风:FA-013 】' info = json.load(urllib.request.urlopen(f'{origin}/api/share/{token - Network accessline 87
assert api.works[0]['content']['prompt']==original+'\n【画风:FA-013 】' info = json.load(urllib.request.urlopen(f'{origin}/api/share/{token}')) assert info['status'] == 'published' and info['work_url'] == first['url'] - Network accessline 88
info = json.load(urllib.request.urlopen(f'{origin}/api/share/{token}')) - Network accessline 94
for suffix in ['/share/' + 'b' * 32, '/share/../../credentials.json']: with pytest.raises(urllib.error.HTTPError) as error: urllib.request.urlopen(origin + suffix) - Network accessline 95
with pytest.raises(urllib.error.HTTPError) as error: urllib.request.urlopen(origin + suffix) assert error.value.code == 404 - Network accessline 96
urllib.request.urlopen(origin + suffix) - Network accessline 104
data.update(schema_version=2, share_instruction='不要分享的二阶段提示词') share.write_json(path, data) info = json.load(urllib.request.urlopen(f'{origin}/api/share/{token}')) - Network accessline 105
share.write_json(path, data) info = json.load(urllib.request.urlopen(f'{origin}/api/share/{token}')) assert info['original_request'] == original - Network accessline 106
info = json.load(urllib.request.urlopen(f'{origin}/api/share/{token}')) - Network accessline 113
origin,token,api,path,original=page data=json.loads(path.read_text(encoding='utf-8')) data.update(status='published',receipt={'url':'https://handraw-style.com/t/topic/246'}) - Network accessline 114
data=json.loads(path.read_text(encoding='utf-8')) data.update(status='published',receipt={'url':'https://handraw-style.com/t/topic/246'}) share.write_json(path,data) - Network accessline 115
data.update(status='published',receipt={'url':'https://handraw-style.com/t/topic/246'}) share.write_json(path,data) info=json.load(urllib.request.urlopen(f'{origin}/api/share/{token}')) - Network accessline 116
share.write_json(path,data) info=json.load(urllib.request.urlopen(f'{origin}/api/share/{token}')) assert info['work_url'] is None - Network accessline 117
info=json.load(urllib.request.urlopen(f'{origin}/api/share/{token}')) - Network accessline 118
assert info['work_url'] is None assert info['legacy_forum_url']=='https://handraw-style.com/t/topic/246' assert not api.uploads and not api.works - Network accessline 119
assert info['legacy_forum_url']=='https://handraw-style.com/t/topic/246'
skills/couple-photo-orchestrator/scripts/build_release.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/couple-photo-orchestrator/scripts/tests/test_release_builder_contract.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/hairstyle/tests/test_hairstyle_contract.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/huanzhuang/scripts/wardrobe_board.py
skills/couple-photo-orchestrator/skills/huanzhuang/tests/test_wardrobe_board.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/makeup/tests/test_makeup_contract.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/meihua/tests/test_beauty_prep_contract.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/paishe/scripts/share_card.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/couple-photo-orchestrator/skills/paishe/scripts/shot_board.py
skills/couple-photo-orchestrator/skills/paishe/tests/test_22424_identity_lock_v2.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/paishe/tests/test_2244_share_copy_contract.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/paishe/tests/test_identity_face_only_hair_policy.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/paishe/tests/test_pose_emotion_contract.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/paishe/tests/test_share_card_runtime.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/paishe/tests/test_shot_board.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/scripts/identity_reference_manager.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/couple-photo-orchestrator/skills/zongkong/scripts/init_project.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/couple-photo-orchestrator/skills/zongkong/scripts/remix_dependencies.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/couple-photo-orchestrator/skills/zongkong/scripts/theme_manager.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/couple-photo-orchestrator/skills/zongkong/scripts/theme_workspace.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/scripts/validate_project.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/couple-photo-orchestrator/skills/zongkong/tests/test_22416_retouch_default.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_22417_final_prompt_hair_optimization.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_22420_makeup_and_hair_nodes.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_22421_stability_contract.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_22422_canonical_identity_reference.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_2242_participant_relationship_contract.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_2243_aspect_ratio_contract.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_224_interaction_contract.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_confirmation_quality.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_init_project.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_interaction_modes.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_location_quality.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_remix_dependency_graph.py
- Executable scriptline 1
Executable file
skills/couple-photo-orchestrator/skills/zongkong/tests/test_theme_manager.py
- Executable scriptline 1
Executable file
skills/handdraw-style-prompter/gallery/assets.html
- Network accessline 614
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 615
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 616
'https://img.handraw-style.com/' + sub, - Network accessline 617
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 646
<body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a hr - Network accessline 647
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="ass - Network accessline 648
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" aria-current="page" d
skills/handdraw-style-prompter/gallery/colors.html
- Network accessline 18
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 19
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 20
'https://img.handraw-style.com/' + sub, - Network accessline 21
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 91
</style></head><body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" aria-current="page" - Network accessline 92
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" aria-current="page" data-i18n="colorsNav"> - Network accessline 93
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" aria-current="page" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Network accessline 156
</div> </dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="clo - Network accessline 157
</dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" typ - Network accessline 158
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button"
skills/handdraw-style-prompter/gallery/index.html
- Network accessline 18
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 18
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 19
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 19
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 20
'https://img.handraw-style.com/' + sub, - Network accessline 20
'https://img.handraw-style.com/' + sub, - Network accessline 21
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 21
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 193
<body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colo - Network accessline 193
<body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colo - Network accessline 194
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav"> - Network accessline 194
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav"> - Network accessline 195
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Network accessline 195
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Network accessline 196
<nav class="sub-nav filters" aria-label="风格分类"><button class="filter is-active" type="button" data-group="all" data-label-zh="全部" data-label-en="All">全部 <span>367</span></button><button class="filter" type="button" data-group="FA" data-labe - Network accessline 196
<nav class="sub-nav filters" aria-label="风格分类"><button class="filter is-active" type="button" data-group="all" data-label-zh="全部" data-label-en="All">全部 <span>367</span></button><button class="filter" type="button" data-group="FA" data-labe - Network accessline 197
</header> <main data-local-version="1.9.8" data-remote-version-url="https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json"> <div class="gallery-title-bar"> - Network accessline 197
</header> <main data-local-version="1.9.8" data-remote-version-url="https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json"> <div class="gallery-title-bar"> - Network accessline 198
<main data-local-version="1.9.8" data-remote-version-url="https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json"> - Network accessline 198
<main data-local-version="1.9.8" data-remote-version-url="https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json"> - Network accessline 215
<div class="prompt-example"><span class="prompt-label" data-i18n="ex2Label">2 · 切换图文模式</span><code class="prompt-value" data-i18n="ex2Code">切换为图文模式</code></div> <div class="prompt-example"><span class="prompt-label" data-i18n="ex3Label">3 · - Network accessline 215
<div class="prompt-example"><span class="prompt-label" data-i18n="ex2Label">2 · 切换图文模式</span><code class="prompt-value" data-i18n="ex2Code">切换为图文模式</code></div> <div class="prompt-example"><span class="prompt-label" data-i18n="ex3Label">3 · - Network accessline 216
<div class="prompt-example"><span class="prompt-label" data-i18n="ex3Label">3 · 海报提示词</span><code class="prompt-value" data-i18n="ex3Code">请帮我出海报提示词, 主题:秋分</code></div> <div class="prompt-notice" data-i18n-html="promptNotice">💡 强烈推荐大家关注我的<a - Network accessline 216
<div class="prompt-example"><span class="prompt-label" data-i18n="ex3Label">3 · 海报提示词</span><code class="prompt-value" data-i18n="ex3Code">请帮我出海报提示词, 主题:秋分</code></div> <div class="prompt-notice" data-i18n-html="promptNotice">💡 强烈推荐大家关注我的<a - Network accessline 217
<div class="prompt-notice" data-i18n-html="promptNotice">💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最新信息。因为这不是一个发 - Network accessline 217
<div class="prompt-notice" data-i18n-html="promptNotice">💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最新信息。因为这不是一个发 - Network accessline 602
</div> </dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="clo - Network accessline 602
</div> </dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="clo - Network accessline 603
</dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" typ - Network accessline 603
</dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" typ - Network accessline 604
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button" - Network accessline 604
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button" - Network accessline 605
<script> const cards=[...document.querySelectorAll('.style-card')],filters=[...document.querySelectorAll('.filter')],sizeBtns=[...document.querySelectorAll('.size-btn')],dialog=document.querySelector('#preview'),preview=document.querySelect - Network accessline 605
<script> const cards=[...document.querySelectorAll('.style-card')],filters=[...document.querySelectorAll('.filter')],sizeBtns=[...document.querySelectorAll('.size-btn')],dialog=document.querySelector('#preview'),preview=document.querySelect - Network accessline 606
const cards=[...document.querySelectorAll('.style-card')],filters=[...document.querySelectorAll('.filter')],sizeBtns=[...document.querySelectorAll('.size-btn')],dialog=document.querySelector('#preview'),preview=document.querySelector('#prev - Network accessline 606
const cards=[...document.querySelectorAll('.style-card')],filters=[...document.querySelectorAll('.filter')],sizeBtns=[...document.querySelectorAll('.size-btn')],dialog=document.querySelector('#preview'),preview=document.querySelector('#prev - Network accessline 621
wechatBtn: "💬 创作变现交流群", promptTitle: "提示词案例", promptNotice: '💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最 - Network accessline 621
wechatBtn: "💬 创作变现交流群", promptTitle: "提示词案例", promptNotice: '💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最 - Network accessline 622
promptTitle: "提示词案例", promptNotice: '💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最新信息。因为这不是一个发布就完事的skill,这段时间几 - Network accessline 622
promptTitle: "提示词案例", promptNotice: '💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最新信息。因为这不是一个发布就完事的skill,这段时间几 - Network accessline 623
promptNotice: '💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最新信息。因为这不是一个发布就完事的skill,这段时间几乎每天都会有新的风格或者功能发布。', - Network accessline 623
promptNotice: '💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最新信息。因为这不是一个发布就完事的skill,这段时间几乎每天都会有新的风格或者功能发布。', - Network accessline 659
wechatBtn: "💬 Creator Community", promptTitle: "Prompt Examples", promptNotice: '💡 Highly recommend following my <a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">X account</a> or <button type="button" clas - Network accessline 659
wechatBtn: "💬 Creator Community", promptTitle: "Prompt Examples", promptNotice: '💡 Highly recommend following my <a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">X account</a> or <button type="button" clas - Network accessline 660
promptTitle: "Prompt Examples", promptNotice: '💡 Highly recommend following my <a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">X account</a> or <button type="button" class="open-wechat-modal">joining the comm - Network accessline 660
promptTitle: "Prompt Examples", promptNotice: '💡 Highly recommend following my <a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">X account</a> or <button type="button" class="open-wechat-modal">joining the comm - Network accessline 661
promptNotice: '💡 Highly recommend following my <a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">X account</a> or <button type="button" class="open-wechat-modal">joining the community</button> to get the latest ski - Network accessline 661
promptNotice: '💡 Highly recommend following my <a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">X account</a> or <button type="button" class="open-wechat-modal">joining the community</button> to get the latest ski - Network accessline 871
async function checkRepositoryUpdate(){ try{ const response=await fetch(remoteVersionUrl); - Network accessline 871
async function checkRepositoryUpdate(){ try{ const response=await fetch(remoteVersionUrl); - Network accessline 872
try{ const response=await fetch(remoteVersionUrl); if(!response.ok)throw new Error('Remote version is unavailable'); - Network accessline 872
try{ const response=await fetch(remoteVersionUrl); if(!response.ok)throw new Error('Remote version is unavailable'); - Network accessline 873
const response=await fetch(remoteVersionUrl); - Network accessline 873
const response=await fetch(remoteVersionUrl);
skills/handdraw-style-prompter/gallery/layouts.html
- Network accessline 18
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 19
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 20
'https://img.handraw-style.com/' + sub, - Network accessline 21
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 87
</style></head><body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" aria-current="page" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" - Network accessline 88
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" aria-current="page" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav"> - Network accessline 89
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" aria-current="page" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Network accessline 955
</main> <dialog id="preview" aria-labelledby="dialog-label"><img id="preview-image" alt=""><div class="dialog-actions"><p class="dialog-label" id="dialog-label"></p><button class="copy" id="copy" type="button" data-i18n="copyBtn">复制排版提示词</b - Network accessline 956
<dialog id="preview" aria-labelledby="dialog-label"><img id="preview-image" alt=""><div class="dialog-actions"><p class="dialog-label" id="dialog-label"></p><button class="copy" id="copy" type="button" data-i18n="copyBtn">复制排版提示词</button><b - Network accessline 957
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button"
skills/handdraw-style-prompter/gallery/personal-library.js
- Executable scriptline 1
Executable file - Network accessline 51
} const link = element("a", "前往社区资源与收藏 ↗"); link.href = "https://handraw-style.com/studio?view=resources"; link.target = "_blank"; link.rel = "noopener noreferrer"; - Network accessline 52
const link = element("a", "前往社区资源与收藏 ↗"); link.href = "https://handraw-style.com/studio?view=resources"; link.target = "_blank"; link.rel = "noopener noreferrer"; panel.append(link); - Network accessline 53
link.href = "https://handraw-style.com/studio?view=resources"; link.target = "_blank"; link.rel = "noopener noreferrer";
skills/handdraw-style-prompter/gallery/tutorials.html
- Network accessline 241
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 242
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 243
'https://img.handraw-style.com/' + sub, - Network accessline 244
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 272
</head><body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</ - Network accessline 273
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="ass - Network accessline 274
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" data-i18n="assetsNav"
skills/handdraw-style-prompter/references/attribution.json
- Network accessline 1
{ "Saul Steinberg": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/Saul_Steinberg"}, - Network accessline 2
"Saul Steinberg": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/Saul_Steinberg"}, - Network accessline 3
"Jean-Jacques Sempé": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/Jean-Jacques_Semp%C3%A9"}, - Network accessline 4
"James Thurber": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/James_Thurber"}, - Network accessline 5
"Shel Silverstein": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/Shel_Silverstein"}, - Network accessline 6
"Edward Gorey": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/Edward_Gorey"}, - Network accessline 7
"Ronald Searle": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/Ronald_Searle"}, - Network accessline 8
"Charles M. Schulz": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/Charles_M._Schulz"}, - Network accessline 9
"Gary Larson": {"status": "living", "source": "https://en.wikipedia.org/wiki/Gary_Larson"}, - Network accessline 10
"Quentin Blake": {"status": "living", "source": "https://en.wikipedia.org/wiki/Quentin_Blake"}, - Network accessline 11
"Tove Jansson": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/Tove_Jansson"}, - Network accessline 12
"Richard Scarry": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/Richard_Scarry"}, - Network accessline 13
"Arnold Lobel": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/Arnold_Lobel"}, - Network accessline 14
"Maurice Sendak": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/Maurice_Sendak"}, - Network accessline 15
"Dr. Seuss": {"status": "deceased", "source": "https://en.wikipedia.org/wiki/Dr._Seuss"}
skills/handdraw-style-prompter/scripts/build_assets_gallery.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 30
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 31
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 32
'https://img.handraw-style.com/' + sub, - Network accessline 33
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 757
<body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a hr - Network accessline 758
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="ass - Network accessline 759
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" aria-current="page" d - Possible obfuscationline 759
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" aria-current="page" d
skills/handdraw-style-prompter/scripts/build_character_gallery.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/handdraw-style-prompter/scripts/build_color_gallery.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 37
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 37
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 38
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 38
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 39
'https://img.handraw-style.com/' + sub, - Network accessline 39
'https://img.handraw-style.com/' + sub, - Network accessline 40
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 40
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Possible obfuscationline 111
:root{{color:#24211e;background:#f7f5f0;font:16px/1.5 system-ui,"Microsoft YaHei",sans-serif}} body{{margin:0}} main{{max-width:1440px;margin:auto;padding:18px 30px 30px}} .sticky-header{{position:sticky;top:0;z-index:100}} .site-nav{{displ - Possible obfuscationline 111
:root{{color:#24211e;background:#f7f5f0;font:16px/1.5 system-ui,"Microsoft YaHei",sans-serif}} body{{margin:0}} main{{max-width:1440px;margin:auto;padding:18px 30px 30px}} .sticky-header{{position:sticky;top:0;z-index:100}} .site-nav{{displ - Network accessline 152
</style></head><body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" aria-current="page" - Network accessline 152
</style></head><body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" aria-current="page" - Network accessline 153
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" aria-current="page" data-i18n="colorsNav"> - Network accessline 153
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" aria-current="page" data-i18n="colorsNav"> - Network accessline 154
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" aria-current="page" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Network accessline 154
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" aria-current="page" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Possible obfuscationline 154
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" aria-current="page" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Possible obfuscationline 154
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" aria-current="page" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Network accessline 182
</div> </dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="clo - Network accessline 182
</div> </dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="clo - Network accessline 183
</dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" typ - Network accessline 183
</dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" typ - Network accessline 184
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button" - Network accessline 184
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button" - Possible obfuscationline 184
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button" - Possible obfuscationline 184
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button"
skills/handdraw-style-prompter/scripts/build_layout_gallery.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 35
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 35
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 36
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 36
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 37
'https://img.handraw-style.com/' + sub, - Network accessline 37
'https://img.handraw-style.com/' + sub, - Network accessline 38
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 38
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Possible obfuscationline 95
:root{{color:#24211e;background:#f7f5f0;font:16px/1.5 system-ui,"Microsoft YaHei",sans-serif}} body{{margin:0}} main{{max-width:1440px;margin:auto;padding:18px 30px 30px}} .sticky-header{{position:sticky;top:0;z-index:100}} .site-nav{{displ - Possible obfuscationline 95
:root{{color:#24211e;background:#f7f5f0;font:16px/1.5 system-ui,"Microsoft YaHei",sans-serif}} body{{margin:0}} main{{max-width:1440px;margin:auto;padding:18px 30px 30px}} .sticky-header{{position:sticky;top:0;z-index:100}} .site-nav{{displ - Network accessline 132
</style></head><body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" aria-current="page" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" - Network accessline 132
</style></head><body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" aria-current="page" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" - Network accessline 133
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" aria-current="page" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav"> - Network accessline 133
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" aria-current="page" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav"> - Network accessline 134
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" aria-current="page" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Network accessline 134
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" aria-current="page" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Possible obfuscationline 134
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" aria-current="page" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Possible obfuscationline 134
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" aria-current="page" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Network accessline 150
</main> <dialog id="preview" aria-labelledby="dialog-label"><img id="preview-image" alt=""><div class="dialog-actions"><p class="dialog-label" id="dialog-label"></p><button class="copy" id="copy" type="button" data-i18n="copyBtn">复制排版提示词</b - Network accessline 150
</main> <dialog id="preview" aria-labelledby="dialog-label"><img id="preview-image" alt=""><div class="dialog-actions"><p class="dialog-label" id="dialog-label"></p><button class="copy" id="copy" type="button" data-i18n="copyBtn">复制排版提示词</b - Network accessline 151
<dialog id="preview" aria-labelledby="dialog-label"><img id="preview-image" alt=""><div class="dialog-actions"><p class="dialog-label" id="dialog-label"></p><button class="copy" id="copy" type="button" data-i18n="copyBtn">复制排版提示词</button><b - Network accessline 151
<dialog id="preview" aria-labelledby="dialog-label"><img id="preview-image" alt=""><div class="dialog-actions"><p class="dialog-label" id="dialog-label"></p><button class="copy" id="copy" type="button" data-i18n="copyBtn">复制排版提示词</button><b - Network accessline 152
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button" - Network accessline 152
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button" - Possible obfuscationline 152
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button" - Possible obfuscationline 152
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button"
skills/handdraw-style-prompter/scripts/build_library.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 16
HEADING = re.compile(r"^##\s+([A-Za-z]{2})\s+(.+)$") IMAGE = re.compile(r"^([A-Za-z]{2})_(\d{3})(?:-(\d{3}))?\.webp$") REMOTE_VERSION_URL = "https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/referen - Network accessline 16
HEADING = re.compile(r"^##\s+([A-Za-z]{2})\s+(.+)$") IMAGE = re.compile(r"^([A-Za-z]{2})_(\d{3})(?:-(\d{3}))?\.webp$") REMOTE_VERSION_URL = "https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/referen - Network accessline 17
IMAGE = re.compile(r"^([A-Za-z]{2})_(\d{3})(?:-(\d{3}))?\.webp$") REMOTE_VERSION_URL = "https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json" VERSION_FILE = SKILL / "references" - Network accessline 17
IMAGE = re.compile(r"^([A-Za-z]{2})_(\d{3})(?:-(\d{3}))?\.webp$") REMOTE_VERSION_URL = "https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json" VERSION_FILE = SKILL / "references" - Network accessline 18
REMOTE_VERSION_URL = "https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json" - Network accessline 18
REMOTE_VERSION_URL = "https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json" - Network accessline 19
VERSION_FILE = SKILL / "references" / "version.json" ALIAS_MAP_FILE = SKILL / "references" / "style_alias_map.json" UPDATE_COMMAND = "请更新skill https://github.com/yang0/handraw-style" - Network accessline 19
VERSION_FILE = SKILL / "references" / "version.json" ALIAS_MAP_FILE = SKILL / "references" / "style_alias_map.json" UPDATE_COMMAND = "请更新skill https://github.com/yang0/handraw-style" - Network accessline 21
UPDATE_COMMAND = "请更新skill https://github.com/yang0/handraw-style" - Network accessline 21
UPDATE_COMMAND = "请更新skill https://github.com/yang0/handraw-style" - Network accessline 37
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 37
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 38
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 38
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 39
'https://img.handraw-style.com/' + sub, - Network accessline 39
'https://img.handraw-style.com/' + sub, - Network accessline 40
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 40
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 337
<body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colo - Network accessline 337
<body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colo - Network accessline 338
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav"> - Network accessline 338
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav"> - Network accessline 339
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Network accessline 339
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Possible obfuscationline 339
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Possible obfuscationline 339
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" aria-current="page" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" d - Network accessline 359
<div class="prompt-example"><span class="prompt-label" data-i18n="ex2Label">2 · 切换图文模式</span><code class="prompt-value" data-i18n="ex2Code">切换为图文模式</code></div> <div class="prompt-example"><span class="prompt-label" data-i18n="ex3Label">3 · - Network accessline 359
<div class="prompt-example"><span class="prompt-label" data-i18n="ex2Label">2 · 切换图文模式</span><code class="prompt-value" data-i18n="ex2Code">切换为图文模式</code></div> <div class="prompt-example"><span class="prompt-label" data-i18n="ex3Label">3 · - Network accessline 360
<div class="prompt-example"><span class="prompt-label" data-i18n="ex3Label">3 · 海报提示词</span><code class="prompt-value" data-i18n="ex3Code">请帮我出海报提示词, 主题:秋分</code></div> <div class="prompt-notice" data-i18n-html="promptNotice">💡 强烈推荐大家关注我的<a - Network accessline 360
<div class="prompt-example"><span class="prompt-label" data-i18n="ex3Label">3 · 海报提示词</span><code class="prompt-value" data-i18n="ex3Code">请帮我出海报提示词, 主题:秋分</code></div> <div class="prompt-notice" data-i18n-html="promptNotice">💡 强烈推荐大家关注我的<a - Network accessline 361
<div class="prompt-notice" data-i18n-html="promptNotice">💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最新信息。因为这不是一个发 - Network accessline 361
<div class="prompt-notice" data-i18n-html="promptNotice">💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最新信息。因为这不是一个发 - Network accessline 380
</div> </dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="clo - Network accessline 380
</div> </dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="clo - Network accessline 381
</dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" typ - Network accessline 381
</dialog> <dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" typ - Network accessline 382
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button" - Network accessline 382
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button" - Possible obfuscationline 382
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button" - Possible obfuscationline 382
<dialog id="wechat-modal" aria-labelledby="wechat-title" style="width:min(94vw,560px);padding:22px;border:0;border-radius:14px;background:#1e1b18;color:#fff;box-shadow:0 20px 70px #000a;text-align:center"><button class="close" type="button" - Network accessline 399
wechatBtn: "💬 创作变现交流群", promptTitle: "提示词案例", promptNotice: '💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最 - Network accessline 399
wechatBtn: "💬 创作变现交流群", promptTitle: "提示词案例", promptNotice: '💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最 - Network accessline 400
promptTitle: "提示词案例", promptNotice: '💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最新信息。因为这不是一个发布就完事的skill,这段时间几 - Network accessline 400
promptTitle: "提示词案例", promptNotice: '💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最新信息。因为这不是一个发布就完事的skill,这段时间几 - Network accessline 401
promptNotice: '💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最新信息。因为这不是一个发布就完事的skill,这段时间几乎每天都会有新的风格或者功能发布。', - Network accessline 401
promptNotice: '💡 强烈推荐大家关注我的<a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">x账号</a>,或者<button type="button" class="open-wechat-modal">加入交流群</button>获取skill更新的最新信息。因为这不是一个发布就完事的skill,这段时间几乎每天都会有新的风格或者功能发布。', - Network accessline 437
wechatBtn: "💬 Creator Community", promptTitle: "Prompt Examples", promptNotice: '💡 Highly recommend following my <a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">X account</a> or <button type="button" clas - Network accessline 437
wechatBtn: "💬 Creator Community", promptTitle: "Prompt Examples", promptNotice: '💡 Highly recommend following my <a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">X account</a> or <button type="button" clas - Network accessline 438
promptTitle: "Prompt Examples", promptNotice: '💡 Highly recommend following my <a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">X account</a> or <button type="button" class="open-wechat-modal">joining the comm - Network accessline 438
promptTitle: "Prompt Examples", promptNotice: '💡 Highly recommend following my <a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">X account</a> or <button type="button" class="open-wechat-modal">joining the comm - Network accessline 439
promptNotice: '💡 Highly recommend following my <a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">X account</a> or <button type="button" class="open-wechat-modal">joining the community</button> to get the latest ski - Network accessline 439
promptNotice: '💡 Highly recommend following my <a href="https://x.com/yang02010" target="_blank" rel="noopener noreferrer">X account</a> or <button type="button" class="open-wechat-modal">joining the community</button> to get the latest ski - Network accessline 649
async function checkRepositoryUpdate(){{ try{{ const response=await fetch(remoteVersionUrl); - Network accessline 649
async function checkRepositoryUpdate(){{ try{{ const response=await fetch(remoteVersionUrl); - Network accessline 650
try{{ const response=await fetch(remoteVersionUrl); if(!response.ok)throw new Error('Remote version is unavailable'); - Network accessline 650
try{{ const response=await fetch(remoteVersionUrl); if(!response.ok)throw new Error('Remote version is unavailable'); - Network accessline 651
const response=await fetch(remoteVersionUrl); - Network accessline 651
const response=await fetch(remoteVersionUrl);
skills/handdraw-style-prompter/scripts/build_tutorial_gallery.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 35
'./' + sub, '/' + sub, 'https://img.handraw-style.com/' + sub, - Network accessline 36
'/' + sub, 'https://img.handraw-style.com/' + sub, 'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 37
'https://img.handraw-style.com/' + sub, - Network accessline 38
'https://raw.githubusercontent.com/yang0/handraw-style/master/' + sub - Network accessline 448
</head><body> <header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</ - Network accessline 449
<header class="sticky-header"> <nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="ass - Network accessline 450
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" data-i18n="assetsNav" - Possible obfuscationline 450
<nav class="site-nav" aria-label="画廊导航"><a href="index.html" data-i18n="stylesNav">风格画廊</a><a href="layouts.html" data-i18n="layoutsNav">图型画廊</a><a href="colors.html" data-i18n="colorsNav">色彩画廊</a><a href="assets.html" data-i18n="assetsNav"
skills/handdraw-style-prompter/scripts/contact_sheet_registry.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/handdraw-style-prompter/scripts/custom_library_manager.py
skills/handdraw-style-prompter/scripts/import_tweet_style.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/handdraw-style-prompter/scripts/layout_library.py
- Executable scriptline 1
Executable file
skills/handdraw-style-prompter/scripts/prompt_style.py
skills/handdraw-style-prompter/scripts/resolve_reference.py
skills/handdraw-style-prompter/scripts/scrape_tweet.py
- Executable scriptline 1
Executable file - Network accessline 20
endpoints = [ f"https://api.fxtwitter.com/status/{tweet_id}", - Network accessline 21
f"https://api.fxtwitter.com/status/{tweet_id}", - Network accessline 22
f"https://api.vxtwitter.com/status/{tweet_id}", - Network accessline 26
for ep in endpoints: try: req = urllib.request.Request(ep, headers={ - Network accessline 27
try: req = urllib.request.Request(ep, headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" - Network accessline 28
req = urllib.request.Request(ep, headers={ - Network accessline 29
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" }) with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 30
}) with urllib.request.urlopen(req, timeout=15) as resp: data = json.loads(resp.read().decode('utf-8')) - Network accessline 31
with urllib.request.urlopen(req, timeout=15) as resp: - Network accessline 43
def download_file(url, target_path): req = urllib.request.Request(url, headers={ - Network accessline 44
req = urllib.request.Request(url, headers={ - Network accessline 45
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" }) with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 46
}) with urllib.request.urlopen(req, timeout=30) as resp: content = resp.read() - Network accessline 47
with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 55
def main(): if len(sys.argv) < 2: tweet_url = "https://x.com/Artedeingenio/status/2096941708508328344" - Network accessline 56
if len(sys.argv) < 2: tweet_url = "https://x.com/Artedeingenio/status/2096941708508328344" else: - Network accessline 57
tweet_url = "https://x.com/Artedeingenio/status/2096941708508328344"
skills/handdraw-style-prompter/scripts/split_contact_sheets.py
skills/handdraw-style-prompter/scripts/style_asset_paths.py
- Executable scriptline 1
Executable file
skills/handdraw-style-prompter/scripts/validate_library.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 244
update_tokens = [ f'data-local-version="{current_version}"', "https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json", - Network accessline 244
update_tokens = [ f'data-local-version="{current_version}"', "https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json", - Network accessline 245
f'data-local-version="{current_version}"', "https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json", 'id="update-status"', - Network accessline 245
f'data-local-version="{current_version}"', "https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json", 'id="update-status"', - Network accessline 246
"https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json", - Network accessline 246
"https://raw.githubusercontent.com/yang0/handraw-style/master/skills/handdraw-style-prompter/references/version.json", - Network accessline 249
"isNewerVersion", "发现风格库更新", "请更新skill https://github.com/yang0/handraw-style", - Network accessline 249
"isNewerVersion", "发现风格库更新", "请更新skill https://github.com/yang0/handraw-style", - Network accessline 250
"发现风格库更新", "请更新skill https://github.com/yang0/handraw-style", "复制更新指令", - Network accessline 250
"发现风格库更新", "请更新skill https://github.com/yang0/handraw-style", "复制更新指令", - Network accessline 251
"请更新skill https://github.com/yang0/handraw-style", - Network accessline 251
"请更新skill https://github.com/yang0/handraw-style",
skills/layout-library-importer/SKILL.md
- Network accessline 60
- Copy `references/layouts.json` to `client/cache/layouts.json`. - If `.agents/` mirror exists, ensure its `references/` and `gallery/layouts.html` are synchronized. - When deploying to static site, verify that `https://handraw-style. - Network accessline 62
- When deploying to static site, verify that `https://handraw-style.com/gallery/layouts.html` returns HTTP 200 and includes the newly added layout ID.
skills/personal-library/SKILL.md
- Network accessline 31
- 使用收藏出图时,读取 `show` 返回的中英文定义并加入现有提示词,保留用户主题与官方图型/画风约束;明确标注个人资源的名称、ID 与来源。 - `fork` 只生成本地副本并保留来源。对外发布前检查原授权;不能因进入“我的画风/图型”而声称原创或获得再次分发权。 - 私人资源永不自动上传。社区分享使用 `community-share`;网页投稿入口为 `https://handraw-style.com/studio`。 - Network accessline 32
- `fork` 只生成本地副本并保留来源。对外发布前检查原授权;不能因进入“我的画风/图型”而声称原创或获得再次分发权。 - 私人资源永不自动上传。社区分享使用 `community-share`;网页投稿入口为 `https://handraw-style.com/studio`。 - `create` 和 `update` 可重复使用 `--example "主题及验证证据"`,打包保留三个不同主题的复用示例,以供社区版主验证。 - Network accessline 33
- 私人资源永不自动上传。社区分享使用 `community-share`;网页投稿入口为 `https://handraw-style.com/studio`。
skills/personal-library/scripts/personal_library.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 21
MAX_ARCHIVE = 25 * 1024 * 1024 MAX_EXPANDED = 100 * 1024 * 1024 BASE_URL = "https://handraw-style.com" - Network accessline 23
BASE_URL = "https://handraw-style.com" - Access to secretsline 27
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Network accessline 207
base = self.profile.get("base_url", BASE_URL).rstrip("/") if base != BASE_URL: raise ValueError("社区同步只向 https://handraw-style.com 发送凭据") - Network accessline 208
if base != BASE_URL: raise ValueError("社区同步只向 https://handraw-style.com 发送凭据") jar = http.cookiejar.LWPCookieJar(str(home() / "community_cookies.txt")) - Network accessline 209
raise ValueError("社区同步只向 https://handraw-style.com 发送凭据") - Network accessline 215
def fetch(self, path: str, maximum: int = MAX_ARCHIVE) -> bytes: - Access to secretsline 220
[Credential-related source omitted] - Access to secretsline 221
[Credential-related source omitted] - Network accessline 225
[Credential-related source omitted] - Access to secretsline 225
[Credential-related source omitted] - Network accessline 226
[Credential-related source omitted] - Access to secretsline 226
[Credential-related source omitted] - Network accessline 227
request = urllib.request.Request(BASE_URL + path, headers=headers) - Network accessline 236
def sync(self, library: Library, resource_id: str | None = None) -> list[dict] | dict: data = json.loads(self.fetch("/studio/api/library")) - Network accessline 237
data = json.loads(self.fetch("/studio/api/library")) - Network accessline 242
if resource and resource.get('unlocked') and (resource.get('content_url') or resource.get('source') == 'official'): url = resource.get('content_url') or '/studio/api/assets/' + urllib.parse.quote(resource['ref'], safe='') + '/co - Network accessline 243
url = resource.get('content_url') or '/studio/api/assets/' + urllib.parse.quote(resource['ref'], safe='') + '/content' result = json.loads(self.fetch(url)) return library.import_definition(result['resource'], result[ - Network accessline 244
result = json.loads(self.fetch(url)) - Network accessline 247
if not resource or not resource.get("unlocked") or not resource.get("download_url"): raise ValueError("资源尚未解锁或不可下载;同步不会自动扣分") payload = self.fetch(resource["download_url"]) - Network accessline 248
raise ValueError("资源尚未解锁或不可下载;同步不会自动扣分") payload = self.fetch(resource["download_url"]) with tempfile.TemporaryDirectory() as temporary: - Network accessline 249
payload = self.fetch(resource["download_url"]) - Access to secretsline 266
[Credential-related source omitted]
skills/release-illustration-planner/scripts/planner.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/tweet-style-importer/SKILL.md
- Network accessline 14
当用户提供一个推文链接(例如 `https://x.com/.../status/...`)并要求入库时,执行以下 6 步标准流程: - Network accessline 41
# 标准一键执行 python scripts/import_tweet_style.py "https://x.com/username/status/..." - Network accessline 42
python scripts/import_tweet_style.py "https://x.com/username/status/..." - Network accessline 44
# 支持可选的自定义英文风格名与中文特征描述 python scripts/import_tweet_style.py "https://x.com/username/status/..." --name "Custom Style Name" --traits "核心特征描述" - Network accessline 45
python scripts/import_tweet_style.py "https://x.com/username/status/..." --name "Custom Style Name" --traits "核心特征描述"
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 10 facts
- Contacts api.deepseek.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/batch_generate_all_business.py:153High confidence
- Contacts api.fxtwitter.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/import_tweet_style.py:79High confidence
- Contacts api.vxtwitter.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/import_tweet_style.py:80High confidence
- Contacts raw.githubusercontent.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/package_skill.py:68High confidence
- Contacts api.fxtwitter.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/scrape_tweet.py:21High confidence
- Contacts api.vxtwitter.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/scrape_tweet.py:22High confidence
- Contacts open.workbuddy.cn, which SKILL.md, the README and the plugin manifest do not mentionscripts/workbuddy_check_audit.py:38High confidence
- Contacts open.workbuddy.cn, which SKILL.md, the README and the plugin manifest do not mentionscripts/workbuddy_midnight_resubmit.py:47High confidence
- Contacts raw.githubusercontent.com, which SKILL.md, the README and the plugin manifest do not mentionhanddraw-style-prompter/scripts/build_assets_gallery.py:33High confidence
- Contacts raw.githubusercontent.com, which SKILL.md, the README and the plugin manifest do not mentionhanddraw-style-prompter/scripts/build_color_gallery.py:40High confidence
Signal confidence: 490 facts
- Network access in prose of documentationREADME.md:7Low confidence
- Network access in prose of documentationREADME.md:8Low confidence
- Network access in prose of documentationREADME.md:9Low confidence
- Network access in prose of documentationREADME.md:19Low confidence
- Network access in prose of documentationREADME.md:21Low confidence
- Network access in prose of documentationREADME.md:23Low confidence
- Network access in prose of documentationREADME.md:24Low confidence
- Network access in prose of documentationREADME.md:25Low confidence
- Network access in prose of documentationREADME.md:59Low confidence
- Network access in prose of documentationREADME.md:275Low confidence
- Network access in prose of documentationREADME.md:282Low confidence
- Network access in prose of documentationREADME.md:290Low confidence
- Network access in prose of documentationREADME_en.md:7Low confidence
- Network access in prose of documentationREADME_en.md:8Low confidence
- Network access in prose of documentationREADME_en.md:9Low confidence
- Network access in prose of documentationREADME_en.md:20Low confidence
- Network access in prose of documentationREADME_en.md:22Low confidence
- Network access in prose of documentationREADME_en.md:24Low confidence
- Network access in prose of documentationREADME_en.md:25Low confidence
- Network access in prose of documentationREADME_en.md:26Low confidence
- Network access in prose of documentationREADME_en.md:64Low confidence
- Network access in prose of documentationREADME_en.md:290Low confidence
- Network access in prose of documentationREADME_en.md:297Low confidence
- Network access in prose of documentationREADME_en.md:298Low confidence
- Network access in prose of documentationREADME_en.md:306Low confidence
- Executable script in code of a file that runsbuild_workbuddy_release.py:1High confidence
- Executable script in code of a file that runsscripts/audit_release.py:1High confidence
- Access to secrets in code of a file that runsscripts/audit_release.py:14High confidence
- Executable script in a comment of a file that runsscripts/batch_generate_all_business.py:1Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/batch_generate_all_business.py:21Low confidence
- Network access in code of a file that runsscripts/batch_generate_all_business.py:150High confidence
- Network access in code of a file that runsscripts/batch_generate_all_business.py:151High confidence
- Network access in code of a file that runsscripts/batch_generate_all_business.py:152High confidence
- Network access in code of a file that runsscripts/batch_generate_all_business.py:153High confidence
- Access to secrets in code of a file that runsscripts/batch_generate_all_business.py:155High confidence
- Network access in code of a file that runsscripts/batch_generate_all_business.py:166High confidence
- Network access in code of a file that runsscripts/batch_generate_all_business.py:167High confidence
- Network access in code of a file that runsscripts/batch_generate_all_business.py:168High confidence
- Executable script in code of a file that runsscripts/build_markdown_galleries.py:1High confidence
- Executable script in code of a file that runsscripts/contact_sheet_registry.py:1High confidence
- Executable script in code of a file that runsscripts/discourse_client.py:1High confidence
- Network access in code of a file that runsscripts/discourse_client.py:22High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/discourse_client.py:31Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/discourse_client.py:53Low confidence
- Network access in code of a file that runsscripts/discourse_client.py:105High confidence
- Network access in code of a file that runsscripts/discourse_client.py:126High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/discourse_client.py:158Low confidence
- Access to secrets in code of a file that runsscripts/discourse_client.py:163High confidence
- Network access in code of a file that runsscripts/discourse_client.py:175High confidence
- Network access in code of a file that runsscripts/discourse_client.py:176High confidence
and 440 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/yang0-handraw-style/)