Not in the top 1,000 by GitHub stars

Hatari130/map-creator

结合gis+gpt,用自然语言生成可商用城市打卡地图

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 → 240d68af4182

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 240d68af418206112cf8b00362ae0b1e92b63ff2

194GitHub stars
0stars in 7 days
1skill in this repository
0commits in 30 days

Heat

0.3
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Oct 25, 2026194

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

map-creator

When your agent uses it

根据用户给出的城市、地点列表、地址表或已有 POI JSON,生成 GIS/OSM 城市导览地图、打卡地图、街区指南、小酒馆/咖啡/餐饮点位地图,并可选用 GPT Image 做风格化。用户要求“出一张地图”“生成城市点位图”“检查点位对齐”“用高德解析地址”“做 OSM/GIS 底图”“风格化地图海报”时使用。

What it loads into context

Frontmatter

112 tokens

Always available to the agent

SKILL.md

1,741 tokens

When the skill is activated

Reference documents

3,390 tokens

Loaded on request

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

The playbook

  1. 主流程
  2. 配置
  3. POI 解析规则
  4. 地图范围方法
  5. OSM 数据获取
  6. GIS 渲染要求
  7. 道路名筛选
  8. 标签避让
  9. GPT Image 风格化
  10. 常用命令
  11. 测试

Scripts executed separately

  • guide_maps/__init__.py
  • guide_maps/__main__.py
  • guide_maps/cli/__init__.py
  • guide_maps/cli/create_gis_map.py
  • guide_maps/cli/resolve_pois.py
  • guide_maps/cli/run_full_map_pipeline.py
  • guide_maps/cli/style_poster_with_gpt_image.py
  • guide_maps/cli/validate_poi_alignment.py
  • guide_maps/core/__init__.py
  • guide_maps/core/cache.py
  • guide_maps/core/config.py
  • guide_maps/core/font_management.py
  • guide_maps/core/paths.py
  • guide_maps/core/utils.py
  • guide_maps/geocoding/__init__.py
  • guide_maps/geocoding/amap_cli_client.py
  • guide_maps/geocoding/amap_client.py
  • guide_maps/geocoding/coordinate_transform.py
  • guide_maps/geocoding/poi_alignment.py
  • guide_maps/geocoding/poi_io.py
  • guide_maps/geocoding/poi_resolver.py
  • guide_maps/geocoding/schemas.py
  • guide_maps/geocoding/workflow.py
  • guide_maps/rendering/__init__.py
  • guide_maps/rendering/osm_context_map_template.py
  • guide_maps/rendering/osm_context_style.py
  • guide_maps/styling/__init__.py
  • guide_maps/styling/generate_style_previews.py
  • guide_maps/styling/gpt_image.py
  • tests/conftest.py
  • tests/test_amap_cli_client.py
  • tests/test_core_paths.py
  • tests/test_geocoding_workflow.py
  • tests/test_gpt_image.py
  • tests/test_osm_context_style.py
  • tests/test_osm_feature_fetching.py
  • tests/test_poi_alignment.py
  • tests/test_poi_resolver.py
  • tests/test_road_label_selection.py
  • tests/test_style_preview_generator.py

Files

  • .gitignoreasset141 bytes
  • LICENSEasset1,066 bytes
  • README.mddoc7,885 bytes
  • SKILL.mdcore6,106 bytes
  • SKILL.mdcore6,106 bytes
  • SKILL.mdcore6,106 bytes
  • SKILL.mdcore6,106 bytes
  • SKILL.mdcore6,106 bytes
  • SKILL.mdcore6,106 bytes
  • SKILL.mdcore6,106 bytes
  • SKILL.mdcore6,106 bytes
  • SKILL.mdcore6,106 bytes
  • config.example.jsonasset445 bytes
  • docs/images/changning-industrial-memory-map.jpgasset876,058 bytes
  • docs/images/jufuchang-walking-guide.pngasset3,761,021 bytes
  • guide_maps/__init__.pyruns27 bytes
  • guide_maps/__main__.pyruns95 bytes
  • guide_maps/cli/__init__.pyruns33 bytes
  • guide_maps/cli/create_gis_map.pyruns5,010 bytes
  • guide_maps/cli/resolve_pois.pyruns1,706 bytes
  • guide_maps/cli/run_full_map_pipeline.pyruns2,343 bytes
  • guide_maps/cli/style_poster_with_gpt_image.pyruns1,497 bytes
  • guide_maps/cli/validate_poi_alignment.pyruns2,109 bytes
  • guide_maps/core/__init__.pyruns37 bytes
  • guide_maps/core/cache.pyruns1,026 bytes
  • guide_maps/core/config.pyruns2,272 bytes
  • guide_maps/core/font_management.pyruns1,730 bytes
  • guide_maps/core/paths.pyruns1,349 bytes
  • guide_maps/core/utils.pyruns484 bytes
  • guide_maps/examples/sample_pois.jsonasset2,941 bytes
  • guide_maps/geocoding/__init__.pyruns29 bytes
  • guide_maps/geocoding/amap_cli_client.pyruns2,973 bytes
  • guide_maps/geocoding/amap_client.pyruns2,563 bytes
  • guide_maps/geocoding/coordinate_transform.pyruns2,542 bytes
  • guide_maps/geocoding/poi_alignment.pyruns2,832 bytes
  • guide_maps/geocoding/poi_io.pyruns1,358 bytes
  • guide_maps/geocoding/poi_resolver.pyruns3,547 bytes
  • guide_maps/geocoding/schemas.pyruns1,438 bytes
  • guide_maps/geocoding/workflow.pyruns2,184 bytes
  • guide_maps/rendering/__init__.pyruns29 bytes
  • guide_maps/rendering/osm_context_map_template.pyruns7,128 bytes
  • guide_maps/rendering/osm_context_style.pyruns31,346 bytes
  • guide_maps/styling/__init__.pyruns30 bytes
  • guide_maps/styling/generate_style_previews.pyruns16,665 bytes
  • guide_maps/styling/gpt_image.pyruns4,980 bytes
  • map-creator.skillasset147,657 bytes
  • prompts/01_手绘风城市导览地图.mddoc4,419 bytes
  • requirements.txtdoc600 bytes
  • tests/conftest.pyruns213 bytes
  • tests/test_amap_cli_client.pyruns949 bytes
  • tests/test_core_paths.pyruns910 bytes
  • tests/test_geocoding_workflow.pyruns402 bytes
  • tests/test_gpt_image.pyruns6,702 bytes
  • tests/test_osm_context_style.pyruns4,288 bytes
  • tests/test_osm_feature_fetching.pyruns1,420 bytes
  • tests/test_poi_alignment.pyruns1,472 bytes
  • tests/test_poi_resolver.pyruns1,799 bytes
  • tests/test_road_label_selection.pyruns2,824 bytes
  • tests/test_style_preview_generator.pyruns851 bytes
Read SKILL.md

# map-creator

在仓库根目录执行命令。当前项目是扁平化 skill 工具包,主要代码在 `guide_maps/`。

## 主流程

1. 从用户请求中提取:
   - `city`:城市名。
   - `places`:地点名或地址,保持用户给出的顺序。
   - `title`:地图标题;如果用户没给,按主题补一个简短标题。
   - 可选 `road_labels`:用户特别关心的道路名,只作为自动道路名筛选的加权提示,不是白名单。

2. 从地点名生成 GIS 地图草稿:
View the complete source on GitHub

Skills included

  • map-creator

Repository facts

License
MIT
Created
Jun 23, 2026
Last pushed
Jul 19, 2026
Forks
20
Open issues
0
Project activity
Slowing

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 8 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 95 signals by file

.gitignore

  • Access to secretsline 9
    [Credential-related source omitted]

README.md

  • Network accessline 9
    <p>   <a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/License-MIT-2ea44f.svg"></a>
  • Network accessline 10
    <a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/License-MIT-2ea44f.svg"></a>
  • Network accessline 11
    <img alt="Python" src="https://img.shields.io/badge/Python-3776AB?logo=python&logoColor=white">
  • Network accessline 12
    <img alt="Codex Ready" src="https://img.shields.io/badge/Codex-Ready-111111.svg">
  • Access to secretsline 84
    [Credential-related source omitted]
  • Network accessline 88
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Network accessline 89
    "model": "gpt-image-2",     "endpoint": "https://api.openai.com/v1/images/edits",     "template": "prompts/map_style_templates/01_手绘风城市导览地图.md",
  • Network accessline 90
    "endpoint": "https://api.openai.com/v1/images/edits",
  • Access to secretsline 103
    [Credential-related source omitted]
  • Access to secretsline 104
    [Credential-related source omitted]
  • Network accessline 250
    Copyright © 2026 [Hatari130](https://github.com/Hatari130)

SKILL.md

  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]

config.example.json

  • Access to secretsline 3
    [Credential-related source omitted]
  • Network accessline 7
    [Credential-related source omitted]
  • Access to secretsline 7
    [Credential-related source omitted]
  • Network accessline 8
    "model": "gpt-image-2",     "endpoint": "https://api.openai.com/v1/images/edits",     "template": "prompts/map_style_templates/01_手绘风城市导览地图.md",
  • Network accessline 9
    "endpoint": "https://api.openai.com/v1/images/edits",

guide_maps/__init__.py

  • Executable scriptline 1
    Executable file

guide_maps/__main__.py

  • Executable scriptline 1
    Executable file

guide_maps/cli/__init__.py

  • Executable scriptline 1
    Executable file

guide_maps/cli/create_gis_map.py

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

guide_maps/cli/resolve_pois.py

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

guide_maps/cli/run_full_map_pipeline.py

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

guide_maps/cli/style_poster_with_gpt_image.py

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

guide_maps/cli/validate_poi_alignment.py

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

guide_maps/core/__init__.py

  • Executable scriptline 1
    Executable file

guide_maps/core/cache.py

  • Executable scriptline 1
    Executable file

guide_maps/core/config.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 14
    [Credential-related source omitted]
  • Network accessline 18
    [Credential-related source omitted]
  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 19
    "model": "gpt-image-2",         "endpoint": "https://api.openai.com/v1/images/edits",         "template": "prompts/map_style_templates/01_手绘风城市导览地图.md",
  • Network accessline 20
    "endpoint": "https://api.openai.com/v1/images/edits",

guide_maps/core/font_management.py

  • Executable scriptline 1
    Executable file

guide_maps/core/paths.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 15
    [Credential-related source omitted]

guide_maps/core/utils.py

  • Executable scriptline 1
    Executable file

guide_maps/geocoding/__init__.py

  • Executable scriptline 1
    Executable file

guide_maps/geocoding/amap_cli_client.py

  • Executable scriptline 1
    Executable file

guide_maps/geocoding/amap_client.py

  • Executable scriptline 1
    Executable file
  • Network accessline 21
    class AMapClient:     endpoint = "https://restapi.amap.com/v3/place/text"
  • Network accessline 22
    endpoint = "https://restapi.amap.com/v3/place/text"
  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 28
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 40
    "output": "json",         }         response = requests.get(self.endpoint, params=params, timeout=self.timeout)
  • Network accessline 41
    }         response = requests.get(self.endpoint, params=params, timeout=self.timeout)         response.raise_for_status()
  • Network accessline 42
    response = requests.get(self.endpoint, params=params, timeout=self.timeout)

guide_maps/geocoding/coordinate_transform.py

  • Executable scriptline 1
    Executable file

guide_maps/geocoding/poi_alignment.py

  • Executable scriptline 1
    Executable file

guide_maps/geocoding/poi_io.py

  • Executable scriptline 1
    Executable file

guide_maps/geocoding/poi_resolver.py

  • Executable scriptline 1
    Executable file

guide_maps/geocoding/schemas.py

  • Executable scriptline 1
    Executable file

guide_maps/geocoding/workflow.py

  • Executable scriptline 1
    Executable file

guide_maps/rendering/__init__.py

  • Executable scriptline 1
    Executable file

guide_maps/rendering/osm_context_map_template.py

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

guide_maps/rendering/osm_context_style.py

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

guide_maps/styling/__init__.py

  • Executable scriptline 1
    Executable file

guide_maps/styling/generate_style_previews.py

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

guide_maps/styling/gpt_image.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 42
    [Credential-related source omitted]
  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 79
    [Credential-related source omitted]
  • Access to secretsline 89
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Network accessline 115
    [Credential-related source omitted]
  • Access to secretsline 115
    [Credential-related source omitted]
  • Network accessline 116
    model = config.get("model") or "gpt-image-2"     endpoint = config.get("endpoint") or "https://api.openai.com/v1/images/edits"     with input_path.open("rb") as image:
  • Network accessline 117
    endpoint = config.get("endpoint") or "https://api.openai.com/v1/images/edits"     with input_path.open("rb") as image:         response = requests.post(
  • Network accessline 118
    with input_path.open("rb") as image:         response = requests.post(             endpoint,
  • Network accessline 119
    response = requests.post(
  • Access to secretsline 121
    [Credential-related source omitted]
  • Possible obfuscationline 131
    return base64.b64decode(data[0]["b64_json"])

tests/conftest.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 6
    [Credential-related source omitted]

tests/test_amap_cli_client.py

  • Executable scriptline 1
    Executable file

tests/test_core_paths.py

  • Executable scriptline 1
    Executable file

tests/test_geocoding_workflow.py

  • Executable scriptline 1
    Executable file

tests/test_gpt_image.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 85
    [Credential-related source omitted]
  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Access to secretsline 121
    [Credential-related source omitted]
  • Access to secretsline 142
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]

tests/test_osm_context_style.py

  • Executable scriptline 1
    Executable file

tests/test_osm_feature_fetching.py

  • Executable scriptline 1
    Executable file

tests/test_poi_alignment.py

  • Executable scriptline 1
    Executable file

tests/test_poi_resolver.py

  • Executable scriptline 1
    Executable file

tests/test_road_label_selection.py

  • Executable scriptline 1
    Executable file

tests/test_style_preview_generator.py

  • Executable scriptline 1
    Executable file

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: 1 fact
Signal confidence: 89 facts

and 39 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.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.