Skip to content

chore: move skill/ into bindings/python - #3671

Open
lixun910 wants to merge 7 commits into
masterfrom
xli-move-skill-to-bindings-python
Open

chore: move skill/ into bindings/python#3671
lixun910 wants to merge 7 commits into
masterfrom
xli-move-skill-to-bindings-python

Conversation

@lixun910

@lixun910 lixun910 commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

Moves the kepler.gl agent skill from skill/ (repo root) to bindings/python/skill/

  • publish to anthropic claude plugin
  • publish to openai plugin

so the keplergl python package can be used with keplergl skill to create maps (output as html file)

The kepler.gl agent skill documents the keplergl Python package built
from bindings/python, so co-locate it there. plugin.json already
declared repository.directory = bindings/python. Update the
publish-skill workflow paths and add a pointer from the python README.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 29, 2026 05:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Relocates the kepler.gl AI assistant skill content so it lives alongside the Python bindings (bindings/python/skill/), updating the publish workflow and Python docs to reference the new location.

Changes:

  • Moved the skill directory into bindings/python/skill/ (skill docs, references, agent metadata/assets).
  • Updated .github/workflows/publish-skill.yml to build packages from the new path and keep the source zip layout as skill/....
  • Updated bindings/python/README.md to point Python users to the shipped skill and skill releases.

Reviewed changes

Copilot reviewed 2 out of 17 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/publish-skill.yml Repoints path filters and packaging steps to bindings/python/skill.
bindings/python/README.md Adds a pointer to the shipped skill and skill releases from the Python docs.
bindings/python/skill/README.md Skill directory README with setup instructions and reference index.
bindings/python/skill/SKILL.md Main skill instructions and API/config guidance for keplergl.
bindings/python/skill/plugin.json Skill plugin metadata (version, repository directory, skill entrypoint).
bindings/python/skill/cursor-plugin.json Cursor plugin manifest for the skill.
bindings/python/skill/agents/openai.yaml Agent interface metadata for OpenAI-compatible tooling.
bindings/python/skill/agents/assets/icon-small.svg Small icon asset used by agent tooling.
bindings/python/skill/agents/assets/icon-large.svg Large icon asset used by agent tooling.
bindings/python/skill/skill-references/arc-line-map.md Reference example for arc/line layer configs.
bindings/python/skill/skill-references/geojson-polygon-map.md Reference example for GeoJSON/polygon layer configs.
bindings/python/skill/skill-references/h3-hexagon-map.md Reference example for H3 hexagonId layer configs.
bindings/python/skill/skill-references/heatmap.md Reference example for heatmap layer configs.
bindings/python/skill/skill-references/hexbin-aggregation-map.md Reference example for hexagon aggregation layer configs.
bindings/python/skill/skill-references/point-map.md Reference example for point layer configs.
bindings/python/skill/skill-references/summary-panel.md Reference for adding a static HTML overlay panel to exports.
bindings/python/skill/skill-references/trip-animation-map.md Reference example for trip animation layer configs.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/publish-skill.yml Outdated
Comment on lines +6 to +9
- 'bindings/python/skill/SKILL.md'
- 'bindings/python/skill/skill-references/**'
- 'bindings/python/skill/agents/**'
- 'bindings/python/skill/plugin.json'
lixun910 and others added 3 commits August 28, 2026 23:03
Plain 'pip install keplergl' resolves to the 0.3.x stable on PyPI (old
API, sdist fails to build on Python 3.14), which breaks every example
in the skill. Pin to the 0.4.0 prerelease until it goes stable.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Document the 'flow' layer type for aggregated O-D flow maps: column
assignments (Lat/Lng and H3 modes, count/sourceName/targetName), the
never-auto-created rule (a configless export falls back to an arc
layer for O-D data), colorRange-only coloring, and the full list of
flowVisConfig knobs. Verified headless Chrome renders the worked
example as a Flow layer with animated lines and location totals.
Port the layer-selection guidance from the fsq-spatial-desktop
map-visualization skill: a 'Picking a Layer Type' section in SKILL.md
(default to flow for origin-destination requests, arc only on explicit
unaggregated requests), a strengthened flow-vs-arc intro in
flow-layer.md, and suggested sequential palettes. Verified the fsq
fork's flow-layer.ts is an older copy of this repo's file (missing the
fields-based accessors, globe occlusion and tooltip fixes), so its
column-alias autodetector — which lives in that repo's spatial-agent,
not kepler.gl — stays out of this skill.

Co-Authored-By: Claude Code <noreply@anthropic.com>
lixun910 and others added 3 commits August 28, 2026 23:20
The source package step zips the entire bindings/python/skill/
directory, so the enumerated paths filter left files like README.md
and cursor-plugin.json without CI signal. Trigger on all skill
files instead of maintaining a per-file list.

Co-Authored-By: Claude Code <noreply@anthropic.com>
The skill ships via the skill-v* release zips, so it need not be
redundantly packaged into the PyPI source distribution that
hatchling builds by default.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Adds a plugin marketplace to the repo so the skill is installable via a
single command in both agents:

- .claude-plugin/marketplace.json at repo root, read by Claude Code and
  (legacy-compatible) Codex. The plugin is resolved via git-subdir from
  bindings/python/skill-plugin.
- Plugin wrapper with dual manifests (.claude-plugin/ and
  .codex-plugin/plugin.json), a SETUP.md that runs pip install on first
  activation, and a skills/kepler-gl mirror kept byte-identical to the
  canonical bindings/python/skill/ tree.
- The skill frontmatter name is normalized kepler.gl -> kepler-gl to
  satisfy Claude's ^[a-z0-9-]+$ name rule; release zips now package the
  inner folder as kepler-gl so manual unzip installs also load.
- test.yml gains a parity job that fails if the mirror drifts from the
  source of truth.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants