Skip to content

chore(ci): add carto-features-check skill for manifest verification - #114

Merged
mateo-di merged 1 commit into
carto/mainfrom
chore/carto-features-check-skill
Jun 16, 2026
Merged

chore(ci): add carto-features-check skill for manifest verification#114
mateo-di merged 1 commit into
carto/mainfrom
chore/carto-features-check-skill

Conversation

@mateo-di

Copy link
Copy Markdown
Collaborator

What

Adds a committed project skill at .claude/skills/carto-features-check/ that helps maintain .github/carto-features.yml — the CARTO features manifest that protects fork customizations from being silently dropped during upstream syncs.

The skill does two jobs:

  1. Verify (deterministic) — runs the same grep-verify logic as carto-features-check.yml locally, so you catch a broken manifest before pushing and waiting on CI.
  2. Coverage (diff-driven + judgment) — audits a branch diff (carto/main...HEAD) for CARTO customizations that have no manifest entry, then guides adding one with a stable verification pattern.

Honest scope note

There is no reliable machine marker for "this code is a CARTO customization" (only a fraction carry a # CARTO: comment). So the coverage job is heuristic — it surfaces candidates from the diff and relies on judgment. The skill is explicit about this and never claims full coverage.

Design choices

  • Self-contained: the workflow stays the CI source of truth; the skill carries its own copy of the verify loop for local use (per the chosen approach — no CI refactor).
  • Committed, not personal: lives in-repo so it ships with the fork and the whole team gets it. This required un-ignoring .claude/skills/ in .gitignore (bare .claude -> .claude/* + !.claude/skills/); personal .claude settings stay ignored — verified.
  • No production code touched — the skill only reads diffs and edits the manifest YAML.

Verification

  • Ran the skill's inline verify block against the current manifest -> 12/12 patterns verified, exit 0.
  • Confirmed .claude/skills/.../SKILL.md is tracked while .claude/settings.local.json remains ignored.

Related

Complements #113 (which registers the Cortex/Databricks tool-calling features). This PR adds the tooling to keep the manifest honest going forward.

Adds a committed project skill at .claude/skills/carto-features-check that:
- runs the carto-features.yml grep-verify logic locally (mirrors CI), and
- audits a branch diff for CARTO customizations missing a manifest entry,
  with guidance on picking stable verification patterns.

Self-contained: carto-features-check.yml stays the CI source of truth; the
skill carries its own copy of the verify loop for local use.

Un-ignores .claude/skills/ in .gitignore so the skill ships with the fork
while personal .claude settings remain ignored.
@mateo-di
mateo-di marked this pull request as ready for review June 16, 2026 17:37
@mateo-di
mateo-di merged commit 2b9fad3 into carto/main Jun 16, 2026
5 checks passed
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.

1 participant