#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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

View on GitHubAdd to my skills

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>/
7.1kGitHub stars
549stars in 7 days
23skills in this repository
54commits in 30 days

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

Aug 30, 2026Nov 6, 20267,147

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

8,534 tokens

When the skill is activated

Reference documents

222,075 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Post-generation sharing across all routes
  2. Request routing index
  3. Default mode
  4. Style activation policy
  5. Session initialization
  6. Inputs
  7. Layout workflows
  8. Prompt modes
  9. Output
  10. Utilities
  11. Personal resources and community collections

Scripts executed separately

  • build_workbuddy_release.py
  • scripts/audit_release.py
  • scripts/batch_generate_all_business.py
  • scripts/build_markdown_galleries.py
  • scripts/contact_sheet_registry.py
  • scripts/discourse_client.py
  • scripts/generate_style_business.py
  • scripts/import_manual_style.py
  • scripts/import_tweet_style.py
  • scripts/migrate_style_assets.py
  • scripts/optimize_images.py
  • scripts/package_skill.py
  • scripts/patch_image_numbers.py
  • scripts/personal_library.py
  • scripts/scrape_tweet.py
  • scripts/style_asset_paths.py
  • scripts/style_library_import.py
  • scripts/sync_to_static.py
  • scripts/test_image_gallery.cjs
  • scripts/verify_all_business_files.py
  • scripts/workbuddy_check_audit.py
  • scripts/workbuddy_midnight_resubmit.py
  • skills/handdraw-style-prompter/scripts/build_color_gallery.py
  • skills/handdraw-style-prompter/scripts/build_layout_gallery.py
  • skills/handdraw-style-prompter/scripts/build_library.py
  • skills/handdraw-style-prompter/scripts/prompt_style.py
  • skills/handdraw-style-prompter/scripts/prompt_style.py
  • skills/handdraw-style-prompter/scripts/resolve_reference.py
  • skills/handdraw-style-prompter/scripts/split_contact_sheets.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py
  • skills/handdraw-style-prompter/scripts/validate_library.py

Files

  • .github/workflows/sync-gitee.ymlasset675 bytes
  • .gitignoreasset1,517 bytes
  • AGENTS.mddoc3,733 bytes
  • COLORS.mddoc12,037 bytes
  • COLORS_en.mddoc10,874 bytes
  • DEPENDENCIES.mddoc2,208 bytes
  • LAYOUTS.mddoc119,045 bytes
  • LAYOUTS_en.mddoc139,537 bytes
  • LICENSEasset1,606 bytes
  • MANIFEST.mddoc1,562 bytes
  • README.mddoc24,453 bytes
  • README_en.mddoc26,209 bytes
  • RELEASE_AUDIT.mddoc2,041 bytes
  • SKILL.mdcore36,634 bytes
  • SKILL.mdcore36,634 bytes
  • SKILL.mdcore36,634 bytes
  • SKILL.mdcore36,634 bytes
  • STYLES.mddoc174,096 bytes
  • STYLES_en.mddoc171,000 bytes
  • TUTORIALS.mddoc2,310 bytes
  • TUTORIALS_en.mddoc2,400 bytes
  • build_workbuddy_release.pyruns2,437 bytes
  • images/A_001-016.webpasset187,224 bytes
  • images/A_017-032.webpasset192,920 bytes
  • images/A_033-035.webpasset62,470 bytes
  • images/B_036-048.webpasset211,766 bytes
  • images/B_049-054.webpasset126,482 bytes
  • images/C_055-070.webpasset227,286 bytes
  • images/C_071-082.webpasset229,296 bytes
  • images/D_083-098.webpasset262,168 bytes
  • images/D_099-114.webpasset265,576 bytes
  • images/D_115-123.webpasset169,858 bytes
  • images/E_124-139.webpasset478,314 bytes
  • images/E_140-154.webpasset332,100 bytes
  • images/F_155-170.webpasset340,850 bytes
  • images/F_171-186.webpasset306,864 bytes
  • images/F_187-200.webpasset389,392 bytes
  • images/G_201-216.webpasset309,482 bytes
  • images/H_217-232.webpasset189,538 bytes
  • images/H_233-248.webpasset291,736 bytes
  • images/H_249-264.webpasset332,354 bytes
  • images/H_265-280.webpasset380,438 bytes
  • images/H_281-296.webpasset449,892 bytes
  • images/H_297-312.webpasset360,032 bytes
  • images/H_313-328.webpasset426,284 bytes
  • images/H_329-331.webpasset132,702 bytes
  • images/I_332-347.webpasset319,512 bytes
  • images/I_348-363.webpasset374,174 bytes
  • images/I_364-367.webpasset138,516 bytes
  • images/avatar.pngasset132,493 bytes
  • images/avatar_dev.pngasset80,171 bytes
  • images/characters/CH-001.webpasset47,112 bytes
  • images/colors/C-01.webpasset10,552 bytes
  • images/colors/C-02.webpasset16,372 bytes
  • images/colors/C-03.webpasset13,402 bytes
  • images/colors/C-04.webpasset19,216 bytes
  • images/colors/C-05.webpasset12,350 bytes
  • images/colors/C-06.webpasset12,080 bytes
  • images/colors/C-07.webpasset11,926 bytes
  • images/colors/C-08.webpasset19,626 bytes
  • images/colors/C-09.webpasset13,318 bytes
  • images/colors/C-10.webpasset17,036 bytes
  • images/colors/C-11.webpasset10,372 bytes
  • images/colors/C-12.webpasset17,502 bytes
  • images/colors/C-13.webpasset16,328 bytes
  • images/colors/C-14.webpasset11,402 bytes
  • images/colors/C-15.webpasset15,432 bytes
  • images/colors/C-16.webpasset14,502 bytes
  • images/colors/C-17.webpasset11,342 bytes
  • images/colors/C-18.webpasset13,700 bytes
  • images/colors/C-19.webpasset12,144 bytes
  • images/colors/C-20.webpasset9,944 bytes
  • images/colors/C-21.webpasset16,898 bytes
  • images/colors/C-22.webpasset12,682 bytes
  • images/colors/C-23.webpasset18,514 bytes
  • images/colors/C-24.webpasset13,350 bytes
  • images/colors/C-25.webpasset11,966 bytes
  • images/colors/C-26.webpasset16,128 bytes
  • images/colors/C-27.webpasset17,694 bytes
  • images/colors/C-28.webpasset17,482 bytes
  • images/colors/C-29.webpasset12,416 bytes
  • images/colors/C-30.webpasset12,306 bytes
  • images/colors/C-31.webpasset14,124 bytes
  • images/colors/C-32.webpasset12,146 bytes
  • images/colors/C-33.webpasset19,208 bytes
  • images/colors/C-34.webpasset11,626 bytes
  • images/colors/C-35.webpasset14,738 bytes
  • images/colors/C-36.webpasset15,032 bytes
  • images/colors/sheet_01.webpasset80,734 bytes
  • images/colors/sheet_02.webpasset85,502 bytes
  • images/colors/sheet_03.webpasset81,346 bytes
  • images/colors/sheet_04.webpasset80,824 bytes
  • images/colors/sheet_05.webpasset84,936 bytes
  • images/colors/sheet_06.webpasset108,726 bytes
  • images/graphic-text-mode-demo.webpasset96,458 bytes
  • images/individual/FA/FA-001.webpasset15,082 bytes
  • images/individual/FA/FA-002.webpasset8,236 bytes
  • images/individual/FA/FA-003.webpasset19,032 bytes
  • images/individual/FA/FA-004.webpasset7,346 bytes
  • images/individual/FA/FA-005.webpasset14,186 bytes
  • images/individual/FA/FA-006.webpasset16,254 bytes
  • images/individual/FA/FA-007.webpasset15,930 bytes
  • images/individual/FA/FA-008.webpasset15,926 bytes
  • images/individual/FA/FA-009.webpasset30,016 bytes
  • images/individual/FA/FA-010.webpasset11,872 bytes
  • images/individual/FA/FA-011.webpasset18,870 bytes
  • images/individual/FA/FA-012.webpasset8,464 bytes
  • images/individual/FA/FA-013.webpasset15,326 bytes
  • images/individual/FA/FA-014.webpasset13,372 bytes
  • images/individual/FA/FA-015.webpasset10,734 bytes
  • images/individual/FA/FA-016.webpasset12,150 bytes
  • images/individual/FA/FA-017.webpasset16,634 bytes
  • images/individual/FA/FA-018.webpasset10,000 bytes
  • images/individual/FA/FA-019.webpasset18,580 bytes
  • images/individual/FA/FA-020.webpasset13,556 bytes
  • images/individual/FA/FA-021.webpasset8,802 bytes
  • images/individual/FA/FA-022.webpasset17,626 bytes
  • images/individual/FA/FA-023.webpasset15,248 bytes
  • images/individual/FA/FA-024.webpasset17,310 bytes
  • images/individual/FA/FA-025.webpasset11,000 bytes
  • images/individual/FA/FA-026.webpasset30,336 bytes
  • images/individual/FA/FA-027.webpasset21,796 bytes
  • images/individual/FA/FA-028.webpasset9,946 bytes
  • images/individual/FA/FA-029.webpasset8,414 bytes
  • images/individual/FA/FA-030.webpasset9,298 bytes
  • images/individual/FA/FA-031.webpasset8,598 bytes
  • images/individual/FA/FA-032.webpasset22,416 bytes
  • images/individual/FA/FA-033.webpasset9,604 bytes
  • images/individual/FA/FA-034.webpasset17,928 bytes
  • images/individual/FA/FA-035.webpasset16,314 bytes
  • images/individual/FA/FA-036.webpasset21,390 bytes
  • images/individual/FA/FA-036_grid.webpasset95,366 bytes
  • images/individual/FA/FA-037.webpasset21,134 bytes
  • images/individual/FA/FA-037_grid.webpasset95,676 bytes
  • images/individual/FA/FA-038.webpasset7,128 bytes
  • images/individual/FA/FA-038_grid.webpasset34,020 bytes
  • images/individual/FA/FA-039.webpasset56,028 bytes
  • images/individual/FA/FA-040.webpasset27,998 bytes
  • images/individual/FB/FB-001.webpasset28,670 bytes
  • images/individual/FB/FB-002.webpasset13,730 bytes
  • images/individual/FB/FB-003.webpasset20,462 bytes
  • images/individual/FB/FB-004.webpasset27,502 bytes
  • images/individual/FB/FB-005.webpasset30,978 bytes
  • images/individual/FB/FB-006.webpasset16,138 bytes
  • images/individual/FB/FB-007.webpasset16,328 bytes
  • images/individual/FB/FB-008.webpasset14,746 bytes
  • images/individual/FB/FB-009.webpasset24,188 bytes
  • images/individual/FB/FB-010.webpasset10,650 bytes
  • images/individual/FB/FB-011.webpasset10,922 bytes
  • images/individual/FB/FB-012.webpasset11,700 bytes
  • images/individual/FB/FB-013.webpasset26,600 bytes
  • images/individual/FB/FB-014.webpasset19,852 bytes
  • images/individual/FB/FB-015.webpasset22,274 bytes
  • images/individual/FB/FB-016.webpasset20,918 bytes
  • images/individual/FB/FB-017.webpasset14,072 bytes
  • images/individual/FB/FB-018.webpasset15,922 bytes
  • images/individual/FB/FB-019.webpasset12,464 bytes
  • images/individual/FB/FB-020.webpasset45,298 bytes
  • images/individual/FB/FB-020_grid.webpasset145,820 bytes
  • images/individual/FB/FB-021.webpasset53,642 bytes
  • images/individual/FB/FB-021_grid.webpasset138,638 bytes
  • images/individual/FB/FB-022.webpasset27,216 bytes
  • images/individual/FB/FB-022_grid.webpasset125,282 bytes
  • images/individual/FB/FB-023.webpasset52,090 bytes
  • images/individual/FB/FB-023_grid.webpasset127,550 bytes
  • images/individual/FB/FB-024.webpasset56,632 bytes
  • images/individual/FB/FB-024_grid.webpasset164,238 bytes
  • images/individual/FB/FB-025.webpasset97,946 bytes
  • images/individual/FB/FB-025_grid.webpasset307,374 bytes
  • images/individual/FB/FB-026.webpasset36,066 bytes
  • images/individual/FB/FB-026_grid.webpasset128,998 bytes
  • images/individual/FB/FB-027.webpasset99,022 bytes
  • images/individual/FB/FB-027_grid.webpasset219,676 bytes
  • images/individual/FB/FB-028.webpasset93,004 bytes
  • images/individual/FB/FB-028_grid.webpasset268,972 bytes
  • images/individual/FB/FB-029.webpasset141,048 bytes
  • images/individual/FB/FB-030.webpasset81,872 bytes
  • images/individual/FB/FB-030_grid.webpasset251,008 bytes
  • images/individual/FB/FB-031.webpasset57,404 bytes
  • images/individual/FB/FB-032.webpasset46,422 bytes
  • images/individual/FB/FB-033.webpasset78,482 bytes
  • images/individual/FB/FB-034.webpasset127,486 bytes
  • images/individual/FB/FB-035.webpasset56,960 bytes
  • images/individual/FB/FB-036.webpasset16,554 bytes
  • images/individual/FB/FB-037.webpasset59,598 bytes
  • images/individual/FB/FB-038.webpasset64,148 bytes
  • images/individual/FB/FB-039.webpasset67,434 bytes
  • images/individual/FB/FB-040.webpasset55,170 bytes
  • images/individual/FB/FB-041.webpasset52,518 bytes
  • images/individual/FB/FB-042.webpasset56,484 bytes
  • images/individual/FB/FB-043.webpasset38,860 bytes
  • images/individual/FB/FB-044.webpasset34,800 bytes
  • images/individual/FB/FB-045.webpasset44,772 bytes
  • images/individual/FB/FB-046.webpasset44,338 bytes
  • images/individual/FB/FB-047.webpasset48,386 bytes
  • images/individual/FB/FB-048.webpasset48,484 bytes
  • images/individual/FB/FB-049.webpasset51,660 bytes
  • images/individual/FB/FB-050.webpasset20,582 bytes
  • images/individual/FB/FB-051.webpasset61,510 bytes
  • images/individual/FB/FB-052.webpasset51,436 bytes
  • images/individual/FB/FB-053.webpasset66,364 bytes
  • images/individual/FB/FB-054.webpasset35,648 bytes
  • images/individual/FB/FB-055.webpasset64,046 bytes
  • images/individual/FB/FB-056.webpasset55,392 bytes
  • images/individual/FB/FB-057.webpasset44,326 bytes
  • images/individual/FB/FB-058.webpasset56,594 bytes
  • images/individual/FB/FB-059.webpasset42,302 bytes
  • images/individual/FB/FB-060.webpasset47,474 bytes
  • images/individual/FB/FB-061.webpasset34,692 bytes
  • images/individual/FB/FB-062.webpasset27,086 bytes
  • images/individual/FB/FB-063.webpasset55,932 bytes
  • images/individual/FB/FB-064.webpasset46,144 bytes
  • images/individual/FB/FB-065.webpasset59,444 bytes
  • images/individual/FB/FB-066.webpasset118,328 bytes
  • images/individual/FC/FC-001.webpasset35,476 bytes
  • images/individual/FC/FC-002.webpasset29,556 bytes
  • images/individual/FC/FC-003.webpasset17,774 bytes
  • images/individual/FC/FC-004.webpasset11,674 bytes
  • images/individual/FC/FC-005.webpasset10,862 bytes
  • images/individual/FC/FC-006.webpasset9,122 bytes
  • images/individual/FC/FC-007.webpasset18,832 bytes
  • images/individual/FC/FC-008.webpasset13,944 bytes
  • images/individual/FC/FC-009.webpasset19,838 bytes
  • images/individual/FC/FC-010.webpasset21,156 bytes
  • images/individual/FC/FC-011.webpasset14,192 bytes
  • images/individual/FC/FC-012.webpasset17,546 bytes
  • images/individual/FC/FC-013.webpasset20,430 bytes
  • images/individual/FC/FC-014.webpasset16,864 bytes
  • images/individual/FC/FC-015.webpasset10,492 bytes
  • images/individual/FC/FC-016.webpasset13,544 bytes
  • images/individual/FC/FC-017.webpasset14,710 bytes
  • images/individual/FC/FC-018.webpasset23,684 bytes
  • images/individual/FC/FC-019.webpasset30,928 bytes
  • images/individual/FC/FC-020.webpasset29,468 bytes
  • images/individual/FC/FC-021.webpasset26,438 bytes
  • images/individual/FC/FC-022.webpasset27,794 bytes
  • images/individual/FC/FC-023.webpasset31,446 bytes
  • images/individual/FC/FC-024.webpasset17,604 bytes
  • images/individual/FC/FC-025.webpasset14,390 bytes
  • images/individual/FC/FC-026.webpasset12,440 bytes
  • images/individual/FC/FC-027.webpasset31,602 bytes
  • images/individual/FC/FC-028.webpasset26,676 bytes
  • images/individual/FC/FC-029.webpasset46,168 bytes
  • images/individual/FC/FC-030.webpasset91,980 bytes
  • images/individual/FC/FC-031.webpasset61,976 bytes
  • images/individual/FC/FC-032.webpasset116,492 bytes
  • images/individual/FD/FD-001.webpasset28,026 bytes
  • images/individual/FD/FD-002.webpasset19,994 bytes
  • images/individual/FD/FD-003.webpasset11,536 bytes
  • images/individual/FD/FD-004.webpasset10,000 bytes
  • images/individual/FD/FD-005.webpasset20,626 bytes
  • images/individual/FD/FD-006.webpasset20,092 bytes
  • images/individual/FD/FD-007.webpasset20,088 bytes
  • images/individual/FD/FD-008.webpasset26,222 bytes
  • images/individual/FD/FD-009.webpasset15,056 bytes
  • images/individual/FD/FD-010.webpasset17,178 bytes
  • images/individual/FD/FD-011.webpasset24,854 bytes
  • images/individual/FD/FD-012.webpasset34,510 bytes
  • images/individual/FD/FD-013.webpasset19,658 bytes
  • images/individual/FD/FD-014.webpasset20,204 bytes
  • images/individual/FD/FD-015.webpasset9,080 bytes
  • images/individual/FD/FD-016.webpasset25,998 bytes
  • images/individual/FD/FD-017.webpasset26,798 bytes
  • images/individual/FD/FD-018.webpasset23,668 bytes
  • images/individual/FD/FD-019.webpasset22,350 bytes
  • images/individual/FD/FD-020.webpasset14,206 bytes
  • images/individual/FD/FD-021.webpasset8,950 bytes
  • images/individual/FD/FD-022.webpasset25,558 bytes
  • images/individual/FD/FD-023.webpasset36,276 bytes
  • images/individual/FD/FD-024.webpasset11,298 bytes
  • images/individual/FD/FD-025.webpasset13,934 bytes
  • images/individual/FD/FD-026.webpasset26,896 bytes
  • images/individual/FD/FD-027.webpasset17,292 bytes
  • images/individual/FD/FD-028.webpasset20,020 bytes
  • images/individual/FD/FD-029.webpasset24,294 bytes
  • images/individual/FD/FD-030.webpasset18,524 bytes
  • images/individual/FD/FD-031.webpasset19,874 bytes
  • images/individual/FD/FD-032.webpasset27,522 bytes
  • images/individual/FD/FD-033.webpasset23,576 bytes
  • images/individual/FD/FD-034.webpasset17,486 bytes
  • images/individual/FD/FD-035.webpasset19,620 bytes
  • images/individual/FD/FD-036.webpasset16,818 bytes
  • images/individual/FD/FD-037.webpasset26,998 bytes
  • images/individual/FD/FD-038.webpasset21,302 bytes
  • images/individual/FD/FD-039.webpasset26,970 bytes
  • images/individual/FD/FD-040.webpasset30,316 bytes
  • images/individual/FD/FD-041.webpasset25,648 bytes
  • images/individual/FD/FD-042.webpasset53,400 bytes
  • images/individual/FE/FE-001.webpasset39,718 bytes
  • images/individual/FE/FE-002.webpasset12,810 bytes
  • images/individual/FE/FE-003.webpasset25,902 bytes
  • images/individual/FE/FE-004.webpasset44,570 bytes
  • images/individual/FE/FE-005.webpasset36,126 bytes
  • images/individual/FE/FE-006.webpasset37,536 bytes
  • images/individual/FE/FE-007.webpasset31,146 bytes
  • images/individual/FE/FE-008.webpasset34,314 bytes
  • images/individual/FE/FE-009.webpasset44,136 bytes
  • images/individual/FE/FE-010.webpasset40,996 bytes
  • images/individual/FE/FE-011.webpasset35,920 bytes
  • images/individual/FE/FE-012.webpasset25,616 bytes
  • images/individual/FE/FE-013.webpasset36,886 bytes
  • images/individual/FE/FE-014.webpasset41,746 bytes
  • images/individual/FE/FE-015.webpasset39,484 bytes
  • images/individual/FE/FE-016.webpasset36,158 bytes
  • images/individual/FE/FE-017.webpasset28,560 bytes
  • images/individual/FE/FE-018.webpasset29,276 bytes
  • images/individual/FE/FE-019.webpasset30,880 bytes
  • images/individual/FE/FE-020.webpasset33,960 bytes
  • images/individual/FE/FE-021.webpasset27,614 bytes
  • images/individual/FE/FE-022.webpasset25,592 bytes
  • images/individual/FE/FE-023.webpasset19,210 bytes
  • images/individual/FE/FE-024.webpasset31,138 bytes
  • images/individual/FE/FE-025.webpasset21,668 bytes
  • images/individual/FE/FE-026.webpasset27,142 bytes
  • images/individual/FE/FE-027.webpasset30,318 bytes
  • images/individual/FE/FE-028.webpasset25,360 bytes
  • images/individual/FE/FE-029.webpasset26,512 bytes
  • images/individual/FE/FE-030.webpasset32,426 bytes
  • images/individual/FE/FE-031.webpasset24,486 bytes
  • images/individual/FE/FE-032.webpasset56,834 bytes
  • images/individual/FE/FE-033.webpasset50,242 bytes
  • images/individual/FE/FE-034.webpasset59,508 bytes
  • images/individual/FE/FE-035.webpasset48,430 bytes
  • images/individual/FE/FE-036.webpasset46,570 bytes
  • images/individual/FE/FE-037.webpasset42,576 bytes
  • images/individual/FE/FE-038.webpasset22,898 bytes
  • images/individual/FE/FE-039.webpasset41,286 bytes
  • images/individual/FE/FE-040.webpasset66,514 bytes
  • images/individual/FE/FE-041.webpasset59,864 bytes
  • images/individual/FE/FE-042.webpasset69,110 bytes
  • images/individual/FE/FE-043.webpasset61,662 bytes
  • images/individual/FE/FE-044.webpasset72,316 bytes
  • images/individual/FE/FE-045.webpasset68,272 bytes
  • images/individual/FE/FE-046.webpasset60,992 bytes
  • images/individual/FE/FE-047.webpasset71,606 bytes
  • images/individual/FE/FE-048.webpasset42,806 bytes
  • images/individual/FE/FE-049.webpasset35,602 bytes
  • images/individual/FE/FE-050.webpasset38,830 bytes
  • images/individual/FE/FE-051.webpasset32,980 bytes
  • images/individual/FE/FE-052.webpasset18,746 bytes
  • images/individual/FE/FE-053.webpasset41,432 bytes
  • images/individual/FE/FE-054.webpasset32,500 bytes
  • images/individual/FE/FE-055.webpasset29,376 bytes
  • images/individual/FE/FE-056.webpasset104,626 bytes
  • images/individual/FE/FE-057.webpasset98,916 bytes
  • images/individual/FE/FE-058.webpasset55,286 bytes
  • images/individual/FE/FE-059.webpasset94,688 bytes
  • images/individual/FE/FE-060.webpasset39,372 bytes
  • images/individual/FE/FE-061.webpasset49,604 bytes
  • images/individual/FE/FE-062.webpasset119,162 bytes
  • images/individual/FE/FE-063.webpasset75,770 bytes
  • images/individual/FE/FE-064.webpasset97,072 bytes
  • images/individual/FE/FE-065.webpasset58,760 bytes
  • images/individual/FE/FE-066.webpasset111,298 bytes
  • images/individual/FE/FE-067.webpasset83,602 bytes
  • images/individual/FE/FE-068.webpasset115,876 bytes
  • images/individual/FF/FF-001.webpasset21,368 bytes
  • images/individual/FF/FF-001_grid.webpasset97,192 bytes
  • images/individual/FF/FF-002.webpasset20,038 bytes
  • images/individual/FF/FF-002_grid.webpasset90,916 bytes
  • images/individual/FF/FF-003.webpasset45,652 bytes
  • images/individual/FF/FF-003_grid.webpasset128,924 bytes
  • images/individual/FF/FF-004.webpasset24,624 bytes
  • images/individual/FF/FF-004_grid.webpasset107,558 bytes
  • images/individual/FF/FF-005.webpasset30,858 bytes
  • images/individual/FF/FF-005_grid.webpasset112,600 bytes
  • images/individual/FF/FF-006.webpasset29,494 bytes
  • images/individual/FF/FF-006_grid.webpasset118,632 bytes
  • images/individual/FF/FF-007.webpasset29,162 bytes
  • images/individual/FF/FF-007_grid.webpasset119,268 bytes
  • images/individual/FF/FF-008.webpasset43,740 bytes
  • images/individual/FF/FF-008_grid.webpasset143,018 bytes
  • images/individual/FF/FF-009.webpasset29,816 bytes
  • images/individual/FF/FF-009_grid.webpasset106,504 bytes
  • images/individual/FF/FF-010.webpasset22,918 bytes
  • images/individual/FF/FF-010_grid.webpasset108,804 bytes
  • images/individual/FF/FF-011.webpasset26,058 bytes
  • images/individual/FF/FF-011_grid.webpasset86,094 bytes
  • images/individual/FF/FF-012.webpasset62,186 bytes
  • images/individual/FF/FF-012_grid.webpasset147,318 bytes
  • images/individual/FF/FF-013.webpasset41,890 bytes
  • images/individual/FF/FF-013_grid.webpasset126,850 bytes
  • images/individual/FF/FF-014.webpasset26,200 bytes
  • images/individual/FF/FF-014_grid.webpasset96,888 bytes
  • images/individual/FF/FF-015.webpasset40,204 bytes
  • images/individual/FF/FF-016.webpasset42,214 bytes
  • images/individual/FF/FF-017.webpasset68,658 bytes
  • images/individual/FG/FG-001.webpasset41,396 bytes
  • images/individual/FG/FG-001_grid.webpasset140,954 bytes
  • images/individual/FG/FG-002.webpasset51,760 bytes
  • images/individual/FG/FG-002_grid.webpasset193,542 bytes
  • images/individual/FG/FG-003.webpasset49,078 bytes
  • images/individual/FG/FG-003_grid.webpasset111,774 bytes
  • images/individual/FG/FG-004.webpasset74,900 bytes
  • images/individual/FG/FG-004_grid.webpasset205,566 bytes
  • images/individual/FG/FG-005.webpasset37,794 bytes
  • images/individual/FG/FG-005_grid.webpasset155,108 bytes
  • images/individual/FG/FG-006.webpasset49,980 bytes
  • images/individual/FG/FG-006_grid.webpasset136,148 bytes
  • images/individual/FG/FG-007.webpasset40,020 bytes
  • images/individual/FG/FG-008.webpasset52,896 bytes
  • images/individual/FG/FG-009.webpasset126,824 bytes
  • images/individual/FG/FG-010.webpasset98,562 bytes
  • images/individual/FG/FG-011.webpasset55,886 bytes
  • images/individual/FG/FG-012.webpasset39,436 bytes
  • images/individual/FG/FG-013.webpasset80,740 bytes
  • images/individual/FG/FG-014.webpasset69,130 bytes
  • images/individual/FG/FG-015.webpasset69,342 bytes
  • images/individual/FG/FG-016.webpasset72,716 bytes
  • images/individual/FG/FG-017.webpasset137,770 bytes
  • images/individual/FG/FG-018.webpasset75,576 bytes
  • images/individual/FG/FG-019.webpasset132,362 bytes
  • images/individual/FG/FG-020.webpasset126,938 bytes
  • images/individual/FG/FG-021.webpasset98,654 bytes
  • images/individual/FG/FG-022.webpasset138,710 bytes
  • images/individual/FG/FG-023.webpasset81,576 bytes
  • images/individual/FG/FG-024.webpasset56,054 bytes
  • images/individual/FH/FH-001.webpasset23,362 bytes
  • images/individual/FH/FH-002.webpasset20,518 bytes
  • images/individual/FH/FH-003.webpasset9,228 bytes
  • images/individual/FH/FH-004.webpasset23,338 bytes
  • images/individual/FH/FH-005.webpasset40,548 bytes
  • images/individual/FH/FH-006.webpasset19,518 bytes
  • images/individual/FH/FH-007.webpasset19,112 bytes
  • images/individual/FH/FH-008.webpasset27,592 bytes
  • images/individual/FH/FH-009.webpasset22,422 bytes
  • images/individual/FH/FH-010.webpasset27,068 bytes
  • images/individual/FH/FH-011.webpasset21,228 bytes
  • images/individual/FH/FH-012.webpasset34,146 bytes
  • images/individual/FH/FH-013.webpasset32,802 bytes
  • images/individual/FH/FH-014.webpasset37,692 bytes
  • images/individual/FH/FH-015.webpasset38,778 bytes
  • images/individual/FH/FH-016.webpasset25,988 bytes
  • images/individual/FH/FH-017.webpasset12,102 bytes
  • images/individual/FH/FH-018.webpasset18,912 bytes
  • images/individual/FH/FH-019.webpasset16,660 bytes
  • images/individual/FH/FH-020.webpasset34,498 bytes
  • images/individual/FH/FH-021.webpasset19,976 bytes
  • images/individual/FH/FH-022.webpasset19,124 bytes
  • images/individual/FH/FH-023.webpasset20,112 bytes
  • images/individual/FH/FH-024.webpasset21,532 bytes
  • images/individual/FH/FH-025.webpasset18,434 bytes
  • images/individual/FH/FH-026.webpasset32,520 bytes
  • images/individual/FH/FH-027.webpasset31,726 bytes
  • images/individual/FH/FH-028.webpasset22,722 bytes
  • images/individual/FH/FH-029.webpasset21,664 bytes
  • images/individual/FH/FH-030.webpasset42,746 bytes
  • images/individual/FH/FH-031.webpasset24,724 bytes
  • images/individual/FH/FH-032.webpasset33,580 bytes
  • images/individual/FH/FH-033.webpasset40,524 bytes
  • images/individual/FH/FH-034.webpasset41,164 bytes
  • images/individual/FH/FH-035.webpasset47,014 bytes
  • images/individual/FH/FH-036.webpasset16,672 bytes
  • images/individual/FH/FH-037.webpasset53,162 bytes
  • images/individual/FH/FH-038.webpasset16,490 bytes
  • images/individual/FH/FH-039.webpasset34,128 bytes
  • images/individual/FH/FH-039_grid.webpasset105,826 bytes
  • images/individual/FH/FH-040.webpasset99,234 bytes
  • images/individual/FH/FH-040_grid.webpasset301,782 bytes
  • images/individual/FH/FH-041.webpasset78,382 bytes
  • images/individual/FH/FH-041_grid.webpasset176,322 bytes
  • images/individual/FH/FH-042.webpasset116,526 bytes
  • images/individual/FH/FH-043.webpasset130,404 bytes
  • images/individual/FH/FH-044.webpasset126,660 bytes
  • images/individual/FI/FI-001.webpasset15,858 bytes
  • images/individual/FI/FI-002.webpasset37,758 bytes
  • images/individual/FI/FI-003.webpasset45,588 bytes
  • images/individual/FI/FI-004.webpasset46,596 bytes
  • images/individual/FI/FI-005.webpasset42,824 bytes
  • images/individual/FI/FI-006.webpasset61,624 bytes
  • images/individual/FI/FI-007.webpasset68,234 bytes
  • images/individual/FI/FI-008.webpasset36,006 bytes
  • images/individual/FI/FI-009.webpasset52,074 bytes
  • images/individual/FI/FI-010.webpasset22,770 bytes
  • images/individual/FI/FI-011.webpasset40,594 bytes
  • images/individual/FI/FI-012.webpasset36,982 bytes
  • images/individual/FI/FI-013.webpasset39,656 bytes
  • images/individual/FI/FI-014.webpasset32,768 bytes
  • images/individual/FI/FI-015.webpasset22,606 bytes
  • images/individual/FI/FI-016.webpasset38,252 bytes
  • images/individual/FI/FI-017.webpasset21,430 bytes
  • images/individual/FI/FI-018.webpasset30,128 bytes
  • images/individual/FI/FI-019.webpasset24,020 bytes
  • images/individual/FI/FI-020.webpasset62,888 bytes
  • images/individual/FI/FI-021.webpasset56,658 bytes
  • images/individual/FI/FI-022.webpasset39,540 bytes
  • images/individual/FI/FI-023.webpasset57,524 bytes
  • images/individual/FI/FI-024.webpasset49,550 bytes
  • images/individual/FI/FI-025.webpasset50,306 bytes
  • images/individual/FI/FI-026.webpasset74,770 bytes
  • images/individual/FI/FI-027.webpasset33,328 bytes
  • images/individual/FI/FI-028.webpasset46,518 bytes
  • images/individual/FI/FI-029.webpasset29,300 bytes
  • images/individual/FI/FI-030.webpasset31,478 bytes
  • images/individual/FI/FI-031.webpasset68,290 bytes
  • images/individual/FI/FI-032.webpasset51,564 bytes
  • images/individual/FI/FI-033.webpasset46,484 bytes
  • images/individual/FI/FI-034.webpasset115,552 bytes
  • images/layouts/comic-storyboards/SB-001.webpasset90,654 bytes
  • images/layouts/comic-storyboards/SB-002.webpasset95,234 bytes
  • images/layouts/comic-storyboards/SB-003.webpasset128,154 bytes
  • images/layouts/comic-storyboards/SB-004.webpasset108,768 bytes
  • images/layouts/comic-storyboards/SB-005.webpasset71,156 bytes
  • images/layouts/comic-storyboards/SB-006.webpasset113,548 bytes
  • images/layouts/comic-storyboards/SB-007.webpasset90,904 bytes
  • images/layouts/comic-storyboards/SB-008.webpasset80,248 bytes
  • images/layouts/comic-storyboards/SB-009.webpasset105,572 bytes
  • images/layouts/comic-storyboards/SB-010.webpasset117,672 bytes
  • images/layouts/comic-storyboards/SB-011.webpasset106,474 bytes
  • images/layouts/comic-storyboards/SB-012.webpasset118,094 bytes
  • images/layouts/comic-storyboards/SB-013.webpasset93,818 bytes
  • images/layouts/comic-storyboards/SB-014.webpasset64,456 bytes
  • images/layouts/comic-storyboards/SB-015.webpasset85,258 bytes
  • images/layouts/comic-storyboards/SB-016.webpasset91,104 bytes
  • images/layouts/comic-storyboards/SB-017.webpasset79,790 bytes
  • images/layouts/comic-storyboards/SB-018.webpasset95,464 bytes
  • images/layouts/comic-storyboards/SB-019.webpasset85,776 bytes
  • images/layouts/comic-storyboards/SB-020.webpasset98,478 bytes
  • images/layouts/comic-storyboards/SB-021.webpasset61,172 bytes
  • images/layouts/comic-storyboards/SB-022.webpasset70,756 bytes
  • images/layouts/comic-storyboards/SB-023.webpasset85,750 bytes
  • images/layouts/comic-storyboards/SB-024.webpasset90,396 bytes
  • images/layouts/comic-storyboards/SB-025.webpasset67,534 bytes
  • images/layouts/comic-storyboards/SB-026.webpasset80,048 bytes
  • images/layouts/comic-storyboards/SB-027.webpasset80,424 bytes
  • images/layouts/comic-storyboards/SB-028.webpasset93,832 bytes
  • images/layouts/comic-storyboards/SB-029.webpasset70,842 bytes
  • images/layouts/comic-storyboards/SB-030.webpasset101,644 bytes
  • images/layouts/comic-storyboards/SB-031.webpasset73,128 bytes
  • images/layouts/comic-storyboards/SB-032.webpasset87,958 bytes
  • images/layouts/comic-storyboards/SB-033.webpasset90,472 bytes
  • images/layouts/comic-storyboards/SB-034.webpasset102,802 bytes
  • images/layouts/comic-storyboards/SB-035.webpasset110,860 bytes
  • images/layouts/comic-storyboards/SB-036.webpasset92,572 bytes
  • images/layouts/comic-storyboards/SB-037.webpasset93,062 bytes
  • images/layouts/comic-storyboards/SB-038.webpasset82,850 bytes
  • images/layouts/comic-storyboards/SB-039.webpasset72,578 bytes
  • images/layouts/comic-storyboards/SB-040.webpasset96,844 bytes
  • images/layouts/comic-storyboards/SB-041.webpasset102,360 bytes
  • images/layouts/comic-storyboards/SB-042.webpasset111,638 bytes
  • images/layouts/comic-storyboards/SB-043.webpasset127,622 bytes
  • images/layouts/comic-storyboards/SB-044.webpasset93,664 bytes
  • images/layouts/comic-storyboards/SB-045.webpasset102,286 bytes
  • images/layouts/comic-storyboards/SB-046.webpasset97,838 bytes
  • images/layouts/comic-storyboards/SB-047.webpasset112,214 bytes
  • images/layouts/comic-storyboards/SB-048.webpasset94,464 bytes
  • images/layouts/comic-storyboards/SB-049.webpasset99,988 bytes
  • images/layouts/comic-storyboards/SB-050.webpasset94,888 bytes
  • images/layouts/comic-storyboards/SB-051.webpasset137,862 bytes
  • images/layouts/comic-storyboards/SB-052.webpasset121,506 bytes
  • images/layouts/comic-storyboards/SB-053.webpasset118,958 bytes
  • images/layouts/comic-storyboards/SB-054.webpasset47,210 bytes
  • images/layouts/comic-storyboards/SB-055.webpasset115,942 bytes
  • images/layouts/comic-storyboards/SB-056.webpasset107,050 bytes
  • images/layouts/comic-storyboards/SB-057.webpasset108,064 bytes
  • images/layouts/comic-storyboards/SB-058.webpasset102,088 bytes
  • images/layouts/comic-storyboards/SB-059.webpasset99,686 bytes
  • images/layouts/comic-storyboards/SB-060.webpasset128,262 bytes
  • images/layouts/comic-storyboards/SB-061.webpasset119,228 bytes
  • images/layouts/comic-storyboards/SB-062.webpasset81,476 bytes
  • images/layouts/comic-storyboards/SB-063.webpasset85,280 bytes
  • images/layouts/comic-storyboards/SB-064.webpasset85,022 bytes
  • images/layouts/comic-storyboards/SB-065.webpasset102,208 bytes
  • images/layouts/comic-storyboards/SB-066.webpasset123,838 bytes
  • images/layouts/comic-storyboards/SB-067.webpasset96,818 bytes
  • images/layouts/comic-storyboards/SB-068.webpasset103,262 bytes
  • images/layouts/comic-storyboards/SB-069.webpasset119,402 bytes
  • images/layouts/comic-storyboards/SB-070.webpasset147,412 bytes
  • images/layouts/comic-storyboards/SB-071.webpasset138,276 bytes
  • images/layouts/ecommerce/EC-001.webpasset6,844 bytes
  • images/layouts/ecommerce/EC-002.webpasset28,622 bytes
  • images/layouts/ecommerce/EC-003.webpasset64,442 bytes
  • images/layouts/ecommerce/EC-004.webpasset35,358 bytes
  • images/layouts/ecommerce/EC-005.webpasset48,316 bytes
  • images/layouts/ecommerce/EC-006.webpasset57,388 bytes
  • images/layouts/ecommerce/EC-007.webpasset32,140 bytes
  • images/layouts/ecommerce/EC-008.webpasset61,726 bytes
  • images/layouts/ecommerce/EC-009.webpasset55,666 bytes
  • images/layouts/ecommerce/EC-010.webpasset42,450 bytes
  • images/layouts/ecommerce/EC-011.webpasset55,034 bytes
  • images/layouts/ecommerce/EC-012.webpasset41,008 bytes
  • images/layouts/ecommerce/EC-013.webpasset45,090 bytes
  • images/layouts/ecommerce/EC-014.webpasset49,092 bytes
  • images/layouts/ecommerce/EC-015.webpasset73,882 bytes
  • images/layouts/ecommerce/EC-016.webpasset45,820 bytes
  • images/layouts/ecommerce/EC-017.webpasset77,500 bytes
  • images/layouts/ecommerce/EC-018.webpasset66,712 bytes
  • images/layouts/ecommerce/EC-019.webpasset61,012 bytes
  • images/layouts/ecommerce/EC-020.webpasset86,498 bytes
  • images/layouts/ecommerce/EC-021.webpasset46,646 bytes
  • images/layouts/ecommerce/EC-022.webpasset56,510 bytes
  • images/layouts/ecommerce/EC-023.webpasset53,672 bytes
  • images/layouts/ecommerce/EC-024.webpasset64,332 bytes
  • images/layouts/infographics/IG-001.webpasset73,060 bytes
  • images/layouts/infographics/IG-002.webpasset63,378 bytes
  • images/layouts/infographics/IG-003.webpasset276,752 bytes
  • images/layouts/infographics/IG-004.webpasset67,246 bytes
  • images/layouts/infographics/IG-005.webpasset93,068 bytes
  • images/layouts/infographics/IG-006.webpasset73,948 bytes
  • images/layouts/infographics/IG-007.webpasset91,390 bytes
  • images/layouts/infographics/IG-008.webpasset41,042 bytes
  • images/layouts/infographics/IG-009.webpasset101,480 bytes
  • images/layouts/infographics/IG-010.webpasset68,400 bytes
  • images/layouts/infographics/IG-011.webpasset63,094 bytes
  • images/layouts/infographics/IG-012.webpasset59,024 bytes
  • images/layouts/infographics/IG-013.webpasset74,104 bytes
  • images/layouts/infographics/IG-014.webpasset77,436 bytes
  • images/layouts/infographics/IG-015.webpasset70,512 bytes
  • images/layouts/infographics/IG-016.webpasset129,364 bytes
  • images/layouts/infographics/IG-017.webpasset126,600 bytes
  • images/layouts/infographics/IG-018.webpasset92,156 bytes
  • images/layouts/infographics/IG-019.webpasset65,176 bytes
  • images/layouts/infographics/IG-020.webpasset149,768 bytes
  • images/layouts/infographics/IG-021.webpasset135,590 bytes
  • images/layouts/infographics/IG-022.webpasset123,680 bytes
  • images/layouts/infographics/IG-023.webpasset117,312 bytes
  • images/layouts/infographics/IG-024.webpasset103,200 bytes
  • images/layouts/infographics/IG-025.webpasset116,464 bytes
  • images/layouts/infographics/IG-026.webpasset123,828 bytes
  • images/layouts/infographics/IG-027.webpasset107,436 bytes
  • images/layouts/infographics/IG-028.webpasset117,826 bytes
  • images/layouts/infographics/IG-029.webpasset122,334 bytes
  • images/layouts/infographics/IG-030.webpasset81,866 bytes
  • images/layouts/infographics/IG-031.webpasset145,226 bytes
  • images/layouts/infographics/IG-032.webpasset117,868 bytes
  • images/layouts/infographics/IG-033.webpasset169,824 bytes
  • images/layouts/infographics/IG-034.webpasset193,008 bytes
  • images/layouts/infographics/IG-035.webpasset186,876 bytes
  • images/layouts/infographics/IG-036.webpasset322,646 bytes
  • images/layouts/infographics/IG-037.webpasset1,222,730 bytes
  • images/layouts/infographics/IG-038.webpasset231,584 bytes
  • images/layouts/ip-characters/IP-001.webpasset103,460 bytes
  • images/layouts/ip-characters/IP-002.webpasset47,112 bytes
  • images/layouts/ip-characters/IP-003.webpasset161,656 bytes
  • images/layouts/ip-characters/IP-004.webpasset143,096 bytes
  • images/layouts/ip-characters/IP-005.webpasset199,092 bytes
  • images/layouts/ip-characters/IP-006.webpasset145,272 bytes
  • images/layouts/ip-characters/IP-007.webpasset159,004 bytes
  • images/layouts/ip-characters/IP-008.webpasset146,244 bytes
  • images/layouts/ip-characters/IP-009.webpasset158,372 bytes
  • images/layouts/ip-characters/IP-010.webpasset99,232 bytes
  • images/layouts/ip-characters/IP-011.webpasset72,582 bytes
  • images/layouts/ip-characters/IP-012.webpasset159,830 bytes
  • images/layouts/ip-characters/IP-013.webpasset165,426 bytes
  • images/layouts/preview-comic-storyboards.webpasset259,970 bytes
  • images/layouts/preview-infographics.webpasset173,344 bytes
  • images/layouts/preview-social-cards.webpasset136,770 bytes
  • images/layouts/social-cards/SC-001.webpasset74,820 bytes
  • images/layouts/social-cards/SC-002.webpasset31,678 bytes
  • images/layouts/social-cards/SC-003.webpasset67,058 bytes
  • images/layouts/social-cards/SC-004.webpasset60,402 bytes
  • images/layouts/social-cards/SC-005.webpasset38,604 bytes
  • images/layouts/social-cards/SC-006.webpasset32,792 bytes
  • images/layouts/social-cards/SC-007.webpasset39,220 bytes
  • images/layouts/social-cards/SC-008.webpasset24,194 bytes
  • images/layouts/social-cards/SC-009.webpasset27,498 bytes
  • images/layouts/social-cards/SC-010.webpasset71,710 bytes
  • images/layouts/social-cards/SC-011.webpasset75,212 bytes
  • images/layouts/social-cards/SC-012.webpasset117,788 bytes
  • images/layouts/social-cards/SC-014.webpasset84,034 bytes
  • images/layouts/social-cards/SC-015.webpasset69,202 bytes
  • images/layouts/social-cards/SC-016.webpasset15,788 bytes
  • images/layouts/social-cards/SC-017.webpasset80,090 bytes
  • images/layouts/social-cards/SC-018.webpasset79,584 bytes
  • images/layouts/social-cards/SC-019.webpasset33,362 bytes
  • images/layouts/social-cards/SC-020.webpasset90,428 bytes
  • images/layouts/social-cards/SC-021.webpasset138,750 bytes
  • images/layouts/social-cards/SC-022.webpasset78,202 bytes
  • images/layouts/social-cards/SC-023.webpasset279,834 bytes
  • images/layouts/social-cards/SC-024.webpasset112,386 bytes
  • images/layouts/social-cards/SC-025.webpasset971,342 bytes
  • images/poster-demo-autumn-equinox.webpasset132,580 bytes
  • images/realistic.webpasset60,460 bytes
  • images/tones/T-01.webpasset32,520 bytes
  • images/tones/T-02.webpasset55,696 bytes
  • images/tones/T-03.webpasset25,354 bytes
  • images/tones/T-04.webpasset34,880 bytes
  • images/tones/T-05.webpasset33,932 bytes
  • images/tones/T-06.webpasset20,642 bytes
  • images/tones/T-07.webpasset34,974 bytes
  • images/tones/T-08.webpasset18,564 bytes
  • images/tones/T-09.webpasset36,096 bytes
  • images/tones/T-10.webpasset25,874 bytes
  • images/tones/T-11.webpasset28,288 bytes
  • images/tones/T-12.webpasset28,488 bytes
  • images/tones/T-13.webpasset71,750 bytes
  • images/tones/T-14.webpasset60,186 bytes
  • images/tones/T-15.webpasset34,918 bytes
  • images/tones/T-16.webpasset39,920 bytes
  • images/wechat_group.pngasset80,274 bytes
  • images/wechat_personal.pngasset238,672 bytes
  • requirements.txtdoc85 bytes
  • scripts/audit_release.pyruns3,046 bytes
  • scripts/batch_generate_all_business.pyruns10,925 bytes
  • scripts/build_markdown_galleries.pyruns30,921 bytes
  • scripts/contact_sheet_registry.pyruns5,863 bytes
  • scripts/discourse_client.pyruns41,588 bytes
  • scripts/generate_style_business.pyruns5,252 bytes
  • scripts/import_manual_style.pyruns5,309 bytes
  • scripts/import_tweet_style.pyruns9,363 bytes
  • scripts/migrate_style_assets.pyruns3,294 bytes
  • scripts/optimize_images.pyruns4,044 bytes
  • scripts/package_skill.pyruns15,412 bytes
  • scripts/patch_image_numbers.pyruns11,334 bytes
  • scripts/personal_library.pyruns172 bytes
  • scripts/scrape_tweet.pyruns5,223 bytes
  • scripts/style_asset_paths.pyruns2,468 bytes
  • scripts/style_library_import.pyruns14,306 bytes
  • scripts/sync_to_static.pyruns10,914 bytes
  • scripts/test_image_gallery.cjsruns6,561 bytes
  • scripts/verify_all_business_files.pyruns3,675 bytes
  • scripts/workbuddy_check_audit.pyruns3,339 bytes
  • scripts/workbuddy_midnight_resubmit.pyruns9,356 bytes
  • skills/handdraw-style-prompter/scripts/build_color_gallery.pyruns26,018 bytes
  • skills/handdraw-style-prompter/scripts/build_layout_gallery.pyruns26,695 bytes
  • skills/handdraw-style-prompter/scripts/build_library.pyruns42,578 bytes
  • skills/handdraw-style-prompter/scripts/prompt_style.pyruns19,812 bytes
  • skills/handdraw-style-prompter/scripts/prompt_style.pyruns19,812 bytes
  • skills/handdraw-style-prompter/scripts/resolve_reference.pyruns5,094 bytes
  • skills/handdraw-style-prompter/scripts/split_contact_sheets.pyruns5,233 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • skills/handdraw-style-prompter/scripts/validate_library.pyruns40,163 bytes
  • styles_200_reorganized.mddoc92,712 bytes
  • version.jsonasset25 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills 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

  1. #223 on Oct 24
  2. #225 on Oct 25
  3. #215 on Oct 28
  4. #212 from Oct 29 to Oct 31
  5. #209 from Nov 1 to Nov 3
  6. #206 since Nov 4
47 earlier periods
  1. #893 on Aug 30
  2. #874 on Sep 5
  3. #905 on Sep 6
  4. #900 on Sep 7
  5. #909 on Sep 8
  6. #796 on Sep 9
  7. #572 on Sep 10
  8. #492 on Sep 11
  9. #477 on Sep 12
  10. #464 on Sep 13
  11. #457 on Sep 14
  12. #437 on Sep 15
  13. #427 on Sep 16
  14. #397 on Sep 17
  15. #380 on Sep 18
  16. #366 on Sep 19
  17. #358 on Sep 20
  18. #340 on Sep 21
  19. #333 on Sep 22
  20. #321 on Sep 23
  21. #316 on Sep 24
  22. #308 on Sep 25
  23. #302 on Sep 26
  24. #293 on Sep 27
  25. #286 on Sep 28
  26. #279 on Sep 29
  27. #270 on Sep 30
  28. #266 on Oct 1
  29. #269 on Oct 2
  30. #263 on Oct 3
  31. #253 on Oct 4
  32. #254 from Oct 5 to Oct 6
  33. #253 on Oct 7
  34. #248 on Oct 8
  35. #249 on Oct 9
  36. #243 on Oct 10
  37. #241 on Oct 11
  38. #243 from Oct 12 to Oct 13
  39. #240 on Oct 14
  40. #238 on Oct 15
  41. #235 on Oct 16
  42. #236 on Oct 17
  43. #234 on Oct 18
  44. #232 on Oct 19
  45. #231 from Oct 20 to Oct 21
  46. #227 on Oct 22
  47. #224 on Oct 23

Before you install

Network or broad shell

Automated 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:36 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS.md:34 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS.md:35 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS.md:57 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:30 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:31 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:34 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:32 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:33 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:36 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:35 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:47 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:48 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:49 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:50 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:51 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:52 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:53 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:54 Analysis incomplete: physical or joined line exceeds character limit
  • LAYOUTS_en.md:55 Analysis incomplete: physical or joined line exceeds character limit
Show all 817 signals by file

.github/workflows/sync-gitee.yml

  • Access to secretsline 20
    [Credential-related source omitted]
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 23
    [Credential-related source omitted]

.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

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 14
    [Credential-related source omitted]

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

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/import_manual_style.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3

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

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 314
    [Credential-related source omitted]

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

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 530
    [Credential-related source omitted]

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

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3

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

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    #!/usr/bin/env python3

skills/handdraw-style-prompter/scripts/resolve_reference.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3

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

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3

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
Signal confidence: 490 facts

and 440 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.

yang0/handraw-style: #206 on hotskills, 7.1k stars

[![yang0/handraw-style on hotskills](https://hotskills.dev/badge/yang0-handraw-style.svg)](https://hotskills.dev/skill/yang0-handraw-style/)