Skip to content

chore(skills): reserve the send-transactional-email skill name - #572

Draft
Silthus wants to merge 2 commits into
masterfrom
chore/reserve-send-transactional-email-skill
Draft

Silthus wants to merge 2 commits into
masterfrom
chore/reserve-send-transactional-email-skill

Conversation

@Silthus

@Silthus Silthus commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Moved here from #118927, closed on 2026-10-25 so this fork stack is the only copy. It opens upstream again after review.

Problem

Silthus/context-mill#3 adds a send-transactional-email skill. Every consumer overlays context-mill on top of this repo's skills, so a posthog skill or a store skill with that name would be silently overwritten or would shadow it. The skills store list had also drifted: it never reserved instrument-metrics, which the build list already holds.

Tracking: Silthus/posthog#476.

Note

🔵 Merge risk: low · two-way door (merge-risk rubric)

  • The skills store now refuses send-transactional-email and instrument-metrics as store skill names, and hogli lint:skills refuses the first under products/*/skills/. No skill in the tree uses either name.
  • A revert restores the old lists.

Changes

  • hogli lint:skills fails on a product skill named send-transactional-email (reserved_names.py).
  • The skills store refuses send-transactional-email and instrument-metrics (bundled_skills.py).
  • The writing-skills skill, its handbook page, and the feature flags skills README list the new context-mill skill.

How did you test this code?

A scratch product skill named send-transactional-email, asked of both guards, before and after:

Check upstream/master This branch
hogli lint:skills OK: 164 product skill(s) ... passed ERROR: 'send-transactional-email' is owned by PostHog/context-mill ...
'send-transactional-email' in bundled_skill_names() False True
'instrument-metrics' in bundled_skill_names() False True

products/posthog_ai/scripts/test/test_build_skills.py and products/skills/backend/test_bundled_skills.py pass. The pre-push hogli ci:preflight --strict passed with 0 failures.

Test rationale: no new test. A membership assertion would restate the constant. The guards themselves are covered by test_lint_all_catches_reserved_name_in_frontmatter and test_bundled_skill_names_holds_the_tree_and_the_omnibus_names. A test that the two lists match would catch the next drift, but it would import across the isolated products.skills boundary.

Release status

  • No feature flag controls this change

Docs update

The writing-skills handbook page and skill list the new name.

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Agent: Claude Code, Claude Opus 5.5

  • Part of the code-managed email templates work tracked in Silthus/posthog#461. Skills used: /writing-skills, /writing-pr-descriptions.
  • Reviewed together with feat(skills): add send-transactional-email skill context-mill#3 by a fresh Opus 5.5 reviewer at high effort: one finding here (a stale README count), fixed, and one rejected (the list-equality test, for the product boundary above).
  • No duplicate: no open PR reserves this name.
  • Public artifact: nothing in this PR comes from outside this repository and the linked public issues.

🤖 Generated with Claude Code

Silthus and others added 2 commits October 17, 2026 02:54
PostHog/context-mill ships a send-transactional-email skill. Every
consumer overlays context-mill on top of this repo's skills, so the
build lint and the skills store must refuse that name here.

The skills store list also gains instrument-metrics, which the build
list already reserved.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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