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.
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
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 tokensAlways available to the agent
SKILL.md
1,741 tokensWhen the skill is activated
Reference documents
3,390 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 主流程
- 配置
- POI 解析规则
- 地图范围方法
- OSM 数据获取
- GIS 渲染要求
- 道路名筛选
- 标签避让
- GPT Image 风格化
- 常用命令
- 测试
Scripts executed separately
guide_maps/__init__.pyguide_maps/__main__.pyguide_maps/cli/__init__.pyguide_maps/cli/create_gis_map.pyguide_maps/cli/resolve_pois.pyguide_maps/cli/run_full_map_pipeline.pyguide_maps/cli/style_poster_with_gpt_image.pyguide_maps/cli/validate_poi_alignment.pyguide_maps/core/__init__.pyguide_maps/core/cache.pyguide_maps/core/config.pyguide_maps/core/font_management.pyguide_maps/core/paths.pyguide_maps/core/utils.pyguide_maps/geocoding/__init__.pyguide_maps/geocoding/amap_cli_client.pyguide_maps/geocoding/amap_client.pyguide_maps/geocoding/coordinate_transform.pyguide_maps/geocoding/poi_alignment.pyguide_maps/geocoding/poi_io.pyguide_maps/geocoding/poi_resolver.pyguide_maps/geocoding/schemas.pyguide_maps/geocoding/workflow.pyguide_maps/rendering/__init__.pyguide_maps/rendering/osm_context_map_template.pyguide_maps/rendering/osm_context_style.pyguide_maps/styling/__init__.pyguide_maps/styling/generate_style_previews.pyguide_maps/styling/gpt_image.pytests/conftest.pytests/test_amap_cli_client.pytests/test_core_paths.pytests/test_geocoding_workflow.pytests/test_gpt_image.pytests/test_osm_context_style.pytests/test_osm_feature_fetching.pytests/test_poi_alignment.pytests/test_poi_resolver.pytests/test_road_label_selection.pytests/test_style_preview_generator.py
Files
.gitignoreasset141 bytesLICENSEasset1,066 bytesREADME.mddoc7,885 bytesSKILL.mdcore6,106 bytesSKILL.mdcore6,106 bytesSKILL.mdcore6,106 bytesSKILL.mdcore6,106 bytesSKILL.mdcore6,106 bytesSKILL.mdcore6,106 bytesSKILL.mdcore6,106 bytesSKILL.mdcore6,106 bytesSKILL.mdcore6,106 bytesconfig.example.jsonasset445 bytesdocs/images/changning-industrial-memory-map.jpgasset876,058 bytesdocs/images/jufuchang-walking-guide.pngasset3,761,021 bytesguide_maps/__init__.pyruns27 bytesguide_maps/__main__.pyruns95 bytesguide_maps/cli/__init__.pyruns33 bytesguide_maps/cli/create_gis_map.pyruns5,010 bytesguide_maps/cli/resolve_pois.pyruns1,706 bytesguide_maps/cli/run_full_map_pipeline.pyruns2,343 bytesguide_maps/cli/style_poster_with_gpt_image.pyruns1,497 bytesguide_maps/cli/validate_poi_alignment.pyruns2,109 bytesguide_maps/core/__init__.pyruns37 bytesguide_maps/core/cache.pyruns1,026 bytesguide_maps/core/config.pyruns2,272 bytesguide_maps/core/font_management.pyruns1,730 bytesguide_maps/core/paths.pyruns1,349 bytesguide_maps/core/utils.pyruns484 bytesguide_maps/examples/sample_pois.jsonasset2,941 bytesguide_maps/geocoding/__init__.pyruns29 bytesguide_maps/geocoding/amap_cli_client.pyruns2,973 bytesguide_maps/geocoding/amap_client.pyruns2,563 bytesguide_maps/geocoding/coordinate_transform.pyruns2,542 bytesguide_maps/geocoding/poi_alignment.pyruns2,832 bytesguide_maps/geocoding/poi_io.pyruns1,358 bytesguide_maps/geocoding/poi_resolver.pyruns3,547 bytesguide_maps/geocoding/schemas.pyruns1,438 bytesguide_maps/geocoding/workflow.pyruns2,184 bytesguide_maps/rendering/__init__.pyruns29 bytesguide_maps/rendering/osm_context_map_template.pyruns7,128 bytesguide_maps/rendering/osm_context_style.pyruns31,346 bytesguide_maps/styling/__init__.pyruns30 bytesguide_maps/styling/generate_style_previews.pyruns16,665 bytesguide_maps/styling/gpt_image.pyruns4,980 bytesmap-creator.skillasset147,657 bytesprompts/01_手绘风城市导览地图.mddoc4,419 bytesrequirements.txtdoc600 bytestests/conftest.pyruns213 bytestests/test_amap_cli_client.pyruns949 bytestests/test_core_paths.pyruns910 bytestests/test_geocoding_workflow.pyruns402 bytestests/test_gpt_image.pyruns6,702 bytestests/test_osm_context_style.pyruns4,288 bytestests/test_osm_feature_fetching.pyruns1,420 bytestests/test_poi_alignment.pyruns1,472 bytestests/test_poi_resolver.pyruns1,799 bytestests/test_road_label_selection.pyruns2,824 bytestests/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 GitHubSkills 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 shellAutomated 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:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 24 network referencesin 5 files: README.md:9 guide_maps/geocoding/amap_client.py:21 guide_maps/styling/gpt_image.py:115 and 2 more
- 1 obfuscation signalin 1 file: guide_maps/styling/gpt_image.py:131
- No instruction overrides
- 40 executable scriptsin 40 files: guide_maps/__init__.py:1 guide_maps/__main__.py:1 guide_maps/cli/__init__.py:1 and 37 more
- 30 references to secretsin 10 files: guide_maps/styling/gpt_image.py:42 tests/test_gpt_image.py:85 README.md:84 and 7 more
- No requests to vote in Hot
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
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
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
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
- Contacts restapi.amap.com, which SKILL.md, the README and the plugin manifest do not mentionguide_maps/geocoding/amap_client.py:22High confidence
Signal confidence: 89 facts
- Network access in prose of documentationREADME.md:9Low confidence
- Network access in prose of documentationREADME.md:10Low confidence
- Network access in prose of documentationREADME.md:11Low confidence
- Network access in prose of documentationREADME.md:12Low confidence
- Access to secrets in code of documentationREADME.md:84Low confidence
- Network access in code of documentationREADME.md:88Low confidence
- Access to secrets in code of documentationREADME.md:88Low confidence
- Network access in code of documentationREADME.md:89Low confidence
- Network access in code of documentationREADME.md:90Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueREADME.md:103Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueREADME.md:104Low confidence
- Network access in prose of documentationREADME.md:250Low confidence
- Access to secrets in prose of the SKILL.mdSKILL.md:46Low confidence
- Access to secrets in prose of the SKILL.mdSKILL.md:47Low confidence
- Executable script in prose of a file that runsguide_maps/__init__.py:1Low confidence
- Executable script in code of a file that runsguide_maps/__main__.py:1High confidence
- Executable script in prose of a file that runsguide_maps/cli/__init__.py:1Low confidence
- Executable script in code of a file that runsguide_maps/cli/create_gis_map.py:1High confidence
- Executable script in code of a file that runsguide_maps/cli/resolve_pois.py:1High confidence
- Executable script in code of a file that runsguide_maps/cli/run_full_map_pipeline.py:1High confidence
- Executable script in code of a file that runsguide_maps/cli/style_poster_with_gpt_image.py:1High confidence
- Executable script in code of a file that runsguide_maps/cli/validate_poi_alignment.py:1High confidence
- Executable script in prose of a file that runsguide_maps/core/__init__.py:1Low confidence
- Executable script in code of a file that runsguide_maps/core/cache.py:1High confidence
- Executable script in prose of a file that runsguide_maps/core/config.py:1Low confidence
- Access to secrets in code of a file that runsguide_maps/core/config.py:14High confidence
- Network access in code of a file that runsguide_maps/core/config.py:18High confidence
- Access to secrets in code of a file that runsguide_maps/core/config.py:18High confidence
- Network access in code of a file that runsguide_maps/core/config.py:19High confidence
- Network access in code of a file that runsguide_maps/core/config.py:20High confidence
- Executable script in code of a file that runsguide_maps/core/font_management.py:1High confidence
- Executable script in prose of a file that runsguide_maps/core/paths.py:1Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueguide_maps/core/paths.py:15Low confidence
- Executable script in code of a file that runsguide_maps/core/utils.py:1High confidence
- Executable script in code of a file that runsguide_maps/geocoding/__init__.py:1High confidence
- Executable script in prose of a file that runsguide_maps/geocoding/amap_cli_client.py:1Low confidence
- Executable script in prose of a file that runsguide_maps/geocoding/amap_client.py:1Low confidence
- Network access in code of a file that runsguide_maps/geocoding/amap_client.py:21High confidence
- Network access in code of a file that runsguide_maps/geocoding/amap_client.py:22High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueguide_maps/geocoding/amap_client.py:24Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueguide_maps/geocoding/amap_client.py:26Low confidence
- Access to secrets in code of a file that runsguide_maps/geocoding/amap_client.py:28High confidence
- Access to secrets in code of a file that runsguide_maps/geocoding/amap_client.py:33High confidence
- Network access in code of a file that runsguide_maps/geocoding/amap_client.py:40High confidence
- Network access in code of a file that runsguide_maps/geocoding/amap_client.py:41High confidence
- Network access in code of a file that runsguide_maps/geocoding/amap_client.py:42High confidence
- Executable script in code of a file that runsguide_maps/geocoding/coordinate_transform.py:1High confidence
- Executable script in code of a file that runsguide_maps/geocoding/poi_alignment.py:1High confidence
- Executable script in code of a file that runsguide_maps/geocoding/poi_io.py:1High confidence
- Executable script in code of a file that runsguide_maps/geocoding/poi_resolver.py:1High confidence
and 39 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.