Skip to content

Agent skill, license/publish template options, repo CI, and modernization (tbd v0.2.3)#25

Merged
jlevy merged 23 commits into
mainfrom
claude/trusting-maxwell-iz7cjc
Jun 11, 2026
Merged

Agent skill, license/publish template options, repo CI, and modernization (tbd v0.2.3)#25
jlevy merged 23 commits into
mainfrom
claude/trusting-maxwell-iz7cjc

Conversation

@jlevy

@jlevy jlevy commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

Full implementation of the agent-skill and modernization plan (spec: docs/project/specs/active/plan-2026-06-11-agent-skill-and-modernization.md, tracked as epic smu-7kwg).

The skill (skills/simple-modern-uv/)

Installable via npx skills add jlevy/simple-modern-uv, raw-URL prompt paste, or manual copy. SKILL.md (skills-ref-validated) carries the two-tier interview contract — essentials the user confirms once (kebab-case package name with derived snake_case module shown, description, license, publish-or-not); conventions applied silently (src/ layout, v0.1.0 first tag, 3.11+ floor) — and routes three flows: new project, upgrade existing project (references/adopt-existing.md: render-and-merge with Poetry/setuptools/PDM/mypy translations), and update templated project. references/customize.md covers license changes, private packages, and reconciling new template questions; references/faq.md seeds ten real failure modes. All commands pin uvx copier@9.15.1.

Template changes

  • package_license: MIT (default), Apache-2.0, BSD-3-Clause, AGPL-3.0-or-later, Proprietary, or None (choose later) — canonical license texts; None renders no LICENSE file and no license field. publish_to_pypi gates publish.yml, docs/publishing.md, and the Private :: Do Not Upload classifier. Verified behavior-preserving: defaults reproduce prior output; a v0.2.27 render updates to this branch with zero conflicts and converges to a fresh render (including across the LICENSE template rename).
  • AGENTS.md in generated projects (agents.md standard; CLAUDE.md symlink note).
  • uv 0.11.12 → 0.11.17, ruff floor ≥0.15.15, basedpyright floor ≥1.39.6 (all clear the 14-day cooloff); [tool.uv] required-version = ">=0.9".

CI for this repo (first CI here)

Render smoke tests (default, proprietary/no-publish, no-license variants with output assertions and full sync/lint/test/build), the update-path test, skill validation plus link check, and doc format check (cooloff scoped to render jobs so the pinned formatter resolves).

Docs

Agent-first README (uvtemplate fully removed; retirement of the external repo tracked post-release). updating.md: CI split, the answer-schema evolution policy, and version-choice guidance (minor vs patch) in the release step. New living doc research-uv-changes.md (uv 0.6.x→0.11.x timeline and decisions). Common-doc-guidelines applied throughout (Title Case headings, footers, present-state phrasing, em dashes replaced with preferred punctuation).

Validation performed

All license variants and the no-publish/no-license variants rendered and inspected; full uv sync → lint --check → pytest → build on renders with uv 0.11.17; update-path both cases locally and in CI; make format-check, skills-ref validate clean. Remaining post-merge: skill activation testing, downstream release-gate run, uvtemplate retirement.


Draft release notes for v0.3.0 (minor release; copy into gh release create after the downstream gate passes, per updating.md Steps 3–8)

What's Changed

New Features

Agent skill: use the template from any AI coding agent.
skills/simple-modern-uv/ routes three workflows: create a new project, upgrade an existing Python package (including Poetry/setuptools/PDM migrations), or update an already-templated project. Install with npx skills add jlevy/simple-modern-uv, or paste the raw SKILL.md URL into any agent.

New template questions (defaults reproduce prior output, so copier update --defaults is a no-op for existing projects):

  • package_license: MIT (default), Apache-2.0, BSD-3-Clause, AGPL-3.0-or-later, Proprietary, or None (choose later). Drives the LICENSE file and pyproject license field; None renders neither.
  • publish_to_pypi: true (default) or false. false removes publish.yml and docs/publishing.md and adds the Private :: Do Not Upload classifier.

If you had customized the license or deleted publishing files by hand, pass explicit values when updating (e.g. copier update --data publish_to_pypi=false); see the skill's references/customize.md.

AGENTS.md in generated projects (agents.md standard) with build/test commands and conventions.

CI for the template repo itself: render smoke tests, an update-path test from the previous release, and skill validation on every PR.

Improvements

  • Updated uv to 0.11.17 in CI workflows; ruff floor >=0.15.15; basedpyright floor >=1.39.6
  • [tool.uv] required-version = ">=0.9" in generated projects
  • README is agent-first; the interactive uvtemplate helper is retired (projects it created keep updating normally)
  • New research docs: uv changes timeline (research-uv-changes.md) and refreshed type-checker comparison

Downstream validation: jlevy/simple-modern-uv-template CI passed for <TEMPLATE_COMMIT>

Full Changelog: v0.2.27...v0.3.0

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X

claude added 15 commits June 11, 2026 17:49
Refreshes generated skills and hooks via tbd setup --auto, bumps the
pinned get-tbd version in the session script, and adds the new v0.2.x
integration surfaces (AGENTS.md with repo-specific build/conventions
sections filled in, portable .agents skill, Codex hooks).

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
Maps out making the template directly usable by AI coding agents:
a single installable skill (skills/simple-modern-uv) covering new
project, adopt-existing, and update workflows; license and
publish-to-PyPI template options; AGENTS.md in template output;
agent-first README with uvtemplate demoted; CI for this repo (render
smoke tests + skill validation); version currency; and a summary of
uv changes since March 2025 with action items. Tracked as nine beads
linked to the spec.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
Adds a User Flows section defining the shared interview contract
(infer, confirm once, execute, verify, next steps) across the three
flows: new project, upgrade existing project, update templated
project. Adds references/faq.md to the skill for common migration
problems and surfaces Flow 2's no-safe-default decision points
(requires-python floor, src layout, first version tag).

Per author decision, uvtemplate is now removed entirely rather than
demoted: all references in this repo go away, and the follow-up is a
full retirement (deprecation note, final pointer release, archive).

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
Essentials (kebab-case package/repo name with derived snake_case
module, description, license, publish-or-not) are the only decisions
surfaced to the user; src/ layout, v0.1.0 initial tag, and the 3.11+
floor become silently applied conventions. The one Flow 2 exception:
shrinking a published package's Python support matrix is surfaced.

Adds answer-schema evolution rules to D2 so copier update stays clean
when questions are added: behavior-preserving defaults (vanilla update
is a no-op), skill-side reconciliation of hand customizations via
explicit --data, an update-path test in CI, and release-notes
callouts as standing policy.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
package_license offers MIT (default), Apache-2.0, BSD-3-Clause, and
Proprietary, driving the LICENSE file (canonical SPDX texts) and the
pyproject license field. publish_to_pypi=false excludes publish.yml
and docs/publishing.md from the render, adds the Private :: Do Not
Upload classifier, and drops publishing cross-references.

Defaults are behavior-preserving: a default render is byte-identical
to the previous template output (verified by diffing against a render
of the prior commit), so existing projects updating with --defaults
see no change. Also recommends kebab-case package names in the
package_name help.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
All upgrades clear the 14-day supply-chain cooloff (cutoff 2026-05-28):
uv 0.11.12 -> 0.11.17 in CI workflows, ruff floor >=0.15.15,
basedpyright floor >=1.39.6. pytest/pytest-sugar/codespell/rich/funlog/
uv-dynamic-versioning already at latest. setup-uv v8.2.0 (Jun 3) and
checkout v6.0.3 (Jun 2) are inside the cooloff window, so v8.1.0 and
floating @v6 stay.

Adds [tool.uv] required-version = ">=0.9" so projects fail fast on uv
versions that predate relative-duration UV_EXCLUDE_NEWER support.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
Generated projects now ship a concise AGENTS.md (agents.md standard):
uv/make commands, src-layout and tooling conventions, versioning
rules, and a CLAUDE.md symlink note for Claude Code. Conditional
publishing line follows publish_to_pypi.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
basedpyright floor already bumped to 1.39.6 in the currency commit;
config toggles reviewed, no changes needed. Adds the uv 0.11.18
preview 'uv check' command as a revisit signal: once stable, ty is
the zero-config checker for uv projects.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
skills/simple-modern-uv/SKILL.md routes three workflows (new project,
upgrade existing project, update templated project) under a two-tier
interview contract: essentials the user confirms once (kebab-case
package name with derived snake_case module, description, license,
publish-or-not), conventions applied silently (src/ layout, v0.1.0
first tag, 3.11+ floor). All commands pin uvx copier@9.15.1.

References carry the bulk: adopt-existing.md (render-and-merge
migration with Poetry/setuptools/PDM translations), customize.md
(license, private packages, reconciling new template questions on
update), faq.md (dynamic-versioning tags, basedpyright on legacy
code, copier conflicts, OIDC publish setup, cooloff resolution).

Validates with skills-ref; installable via
npx skills add jlevy/simple-modern-uv or raw-URL fetch.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
"In a Hurry?" and Option 1 now lead with the agent skill (npx skills
add jlevy/simple-modern-uv, per-flow prompts, zero-install raw-URL
variant). The uvtemplate badge, walkthrough, and publishing.md
cross-reference are removed; a one-line retirement note remains. The
"Agent Rules" section becomes "Agent Support," reflecting that
AGENTS.md and Agent Skills are now stable standards the template
ships.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
Four jobs on every push/PR: doc format check; render smoke tests for
the default and proprietary/no-publish variants (full
sync/lint/test/build on each render, with variant-specific output
assertions); the update-path test from the previous release tag
(converges to a fresh render with --defaults, honors --data overrides
for newer questions); and agent-skill validation (skills-ref plus
relative-link resolution).

The downstream simple-modern-uv-template repo remains the release
gate; this makes PRs to the template self-validating.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
updating.md now reflects the split: this repo's CI makes PRs
self-validating (renders, update-path test, skill validation) while
the downstream repo remains the release gate. Adds the standing
answer-schema evolution policy for future template-question changes
and the skill to the update checklist.

research-uv-changes.md is a living doc tracking uv 0.6.x -> 0.11.x
changes relevant to the template, with the decisions: stay on
hatchling + uv-dynamic-versioning (uv_build has no plugin support),
required-version >=0.9 (done), watch uv audit / UV_MALWARE_CHECK
(preview), keep devtools/lint.py over uv format/check, add Python
3.15 when final.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
updating.md now reflects the split: this repo's CI makes PRs
self-validating (renders, update-path test, skill validation) while
the downstream repo remains the release gate. Adds the standing
answer-schema evolution policy for future template-question changes
and the skill to the update checklist.

research-uv-changes.md is a living doc tracking uv 0.6.x -> 0.11.x
changes relevant to the template, with the decisions: stay on
hatchling + uv-dynamic-versioning (uv_build has no plugin support),
required-version >=0.9 (done), watch uv audit / UV_MALWARE_CHECK
(preview), keep devtools/lint.py over uv format/check, add Python
3.15 when final.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
All in-repo implementation items are checked off. Remaining: skill
activation testing in scratch repos, downstream release-gate
validation, and the external uvtemplate retirement (post-release).

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
UV_EXCLUDE_NEWER at workflow level blocked uvx flowmark-rs@0.3.1 in
format-check (published 2026-05-30, inside the 14-day window). The
cool-off governs template dependency resolution, so it now lives on
the render-test and update-path jobs; format-check runs only the
Makefile's explicitly pinned formatter.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
@jlevy jlevy changed the title Plan spec: agent skill and template modernization (+ tbd v0.2.3) Agent skill, license/publish template options, repo CI, and modernization (tbd v0.2.3) Jun 11, 2026
@jlevy jlevy marked this pull request as ready for review June 11, 2026 22:02
claude added 6 commits June 11, 2026 22:13
Title Case for H2/H3 headings in the skill references and updating.md,
guideline footers on the new docs (SKILL.md, references, AGENTS.md
template), "or" instead of "/" in prose, and present-state phrasing:
past-behavior asides removed from the README and copier.yml comments
(release notes carry change history). The skill's update workflow now
states the durable rule for finding unanswered questions instead of
naming today's new keys.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
Per common-doc-guidelines, full stops, commas, colons, and semicolons
replace em dashes across the skill, its references, the AGENTS.md
template, the uv research doc, and the new README/AGENTS.md sections.
Inline list headings use the boldfaced-colon form. Also fixes a stale
cross-reference to the retitled "Reconciling New Questions on Update"
section and converts "+" to prose conjunctions.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
AGPL-3.0-or-later renders the canonical GNU AGPL text. None renders no
LICENSE file (conditional filename) and no license field, with a
pyproject comment pointing at how to choose later. MIT remains the
default, so update behavior is unchanged; verified locally that a
v0.2.27 render updates to HEAD across the LICENSE template rename with
zero conflicts and converges to a fresh render. CI gains a no-license
render variant.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
Replaces remaining em dashes with commas, colons, and semicolons per
common-doc-guidelines, including the pre-existing ones in the README
type-checker and repo-setup sections and the template's development
and publishing docs.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
Step 7 now says when to cut a minor vs patch release and requires
naming new question keys and defaults in release notes, matching the
answer-schema policy. Also drops the stale claim that this repo has
no CI.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
Generated projects now include a two-line CLAUDE.md that imports
AGENTS.md via Claude Code's @file syntax, replacing the manual
symlink suggestion (committed symlinks behave poorly across
platforms). The upgrade flow handles pre-existing files: keep user
content, fold in build/test commands or add the import line rather
than overwriting. CI asserts both files render.

README: "In a Hurry?" and "Agent Support" merge into one "Agent Quick
Start" section, and the intro notes the template also upgrades
existing projects, with the skill covering both workflows.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X

@jlevy jlevy left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Senior Engineering Review

Reviewed PR #25 at 66c75e1fb7a6336e2754287162580c4f799150f6 using tbd shortcut review-github-pr / review-code, checked out the branch locally as codex/review-pr-25, and exercised the new-project path in a temporary GitHub repo: https://github.com/jlevy/test-smu-1.

Findings

  1. [P1] New-project setup leaves the editable install stuck at 0.0.0.
    The new-project instructions run uv sync --all-extras before the first commit in skills/simple-modern-uv/SKILL.md:92-99, README.md:347-353, and the Copier after-copy message in copier.yml:17-23. I followed that sequence in /private/tmp/test-smu-1: after git init, uv sync --all-extras, and the initial commit, uv run python -c "from importlib.metadata import version; print(version('test-smu-1'))" still returned 0.0.0. uv build computed 0.0.1.dev1+61fedbf, and uv sync --reinstall-package test-smu-1 then updated the installed metadata to 0.0.1.dev1+61fedbf. CI does not catch this because the render test commits and tags before the first sync (.github/workflows/ci.yml:90-104). Fix the user/agent setup sequence so the first editable install happens after a commit, or explicitly reinstall the local package after the initial commit.

  2. [P2] The gh setup hook falsely warns on valid keyring auth and points to a missing doc.
    Both .codex/ensure-gh-cli.sh:109-121 and .claude/scripts/ensure-gh-cli.sh:109-121 only treat GH_TOKEN as an authenticated state. On this machine, gh auth status succeeds as jlevy via keyring, but running either hook prints NOTE: GH_TOKEN not set - some operations may require authentication and links to docs/general/agent-setup/github-cli-setup.md, which is not in this repo. The hook should run gh auth status regardless of whether GH_TOKEN is set, report success for any valid gh auth mechanism, and only warn/fail when gh auth status actually fails.

  3. [P2] New CI/agent instructions still execute unpinned moving targets.
    The new root CI uses npx --yes skills-ref@latest for validation (.github/workflows/ci.yml:165-166), and the new root AGENTS.md smoke-test example uses unpinned uvx copier copy (AGENTS.md:32-35). The newly added root CI also uses the floating actions/checkout@v6 tag in each job (.github/workflows/ci.yml:34, 57, 116, 164) even though the docs and PR text emphasize pinned tools and the 14-day cool-off. These paths bypass the uv cool-off entirely and can change or fail independently of the PR. Pin skills-ref, pin the uvx copier@9.15.1 examples, and use an exact checkout version or SHA if the policy is immutable action refs.

  4. [P3] README still tells users to hand-edit outputs for the new template questions.
    README.md:292-296 still says to update license/LICENSE manually and delete .github/workflows/publish.yml if not publishing. That contradicts the new package_license and publish_to_pypi answers and can leave .copier-answers.yml inconsistent, causing future updates to reintroduce or revert those files. Replace that paragraph with the new answer-based flow and link to skills/simple-modern-uv/references/customize.md.

Validation Performed

  • gh auth status: authenticated as jlevy.
  • gh pr checks 25 --repo jlevy/simple-modern-uv: all 5 PR checks passing.
  • Checked out PR branch locally at 66c75e1.
  • make format-check: pass.
  • npx --yes skills-ref@latest validate skills/simple-modern-uv: pass, with npm config warnings.
  • Rendered PR head with uvx copier@9.15.1 copy --defaults --vcs-ref=HEAD ... --data publish_to_pypi=false into /private/tmp/test-smu-1; verified publish workflow/docs were omitted.
  • Generated project local checks: make lint-check pass, make test pass, uv build pass.
  • Created and pushed temporary sandbox repo jlevy/test-smu-1; its generated GitHub Actions CI passed on Python 3.11, 3.12, 3.13, and 3.14.
  • Tested repo-local agent hooks: Codex/Claude tbd-session.sh --brief works; Codex post-tool closing reminder works with a sample git push payload; gh setup hook has the false-auth warning described above.

No existing PR comments or review threads were unresolved at review time.

Setup sequence (P1): sync after the first commit everywhere (SKILL.md,
README, copier next-steps message) so dynamic versioning gives the
editable install a real version instead of 0.0.0; CI's render job now
follows the documented sequence and asserts the installed version;
FAQ gains the uv sync --reinstall-package recovery note.

gh setup hook (P2): trust `gh auth status` over GH_TOKEN presence, so
keyring auth no longer false-warns; the dead doc link is replaced
with a `gh auth login` hint (both .claude and .codex copies).

Pins (P2): skills-ref@0.1.5 in CI, copier@9.15.1 in the AGENTS.md
example, and actions/checkout pinned to the immutable v6.0.2 in this
repo's and the template's workflows, matching the stated supply-chain
policy; updating.md examples updated.

README (P3): the hand-edit license/publish paragraph is replaced with
the answer-based flow, linking the skill's customize guide.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X
@jlevy

jlevy commented Jun 11, 2026

Copy link
Copy Markdown
Owner Author

Skill Definition Follow-Up

I reread tbd guidelines cli-agent-skill-patterns and re-reviewed skills/simple-modern-uv/SKILL.md plus its reference files.

Overall, the skill definition looks clean and concise. It follows the important baseline practices: standard SKILL.md frontmatter, a two-part description that says what it does and when to use it, a short 147-line body well under the 500-line guidance, one-level-deep reference files, and pinned uvx copier@9.15.1 command examples. It also avoids the main “slopdocs” failure mode: it gives agents the essential workflow context without copying large amounts of Copier/help text into the activation body.

Additional suggestions:

  1. [P3] Expand allowed-tools to match the commands the skill asks agents to run.
    skills/simple-modern-uv/SKILL.md:15 currently pre-grants uvx, uv, git, Read, Write, and Edit, but the body also tells agents to infer from gh auth status (SKILL.md:62-64) and verify with make lint / make test (SKILL.md:101, SKILL.md:140). If the target agent enforces or uses allowed-tools for pre-approval, this creates avoidable permission friction. Consider adding Bash(gh:*) and Bash(make:*), while still keeping the list tightly scoped.

  2. [P3] Avoid a moving-branch fallback for reference files.
    SKILL.md:40-42 tells agents that if the skill was fetched from a URL, references live under .../main/skills/simple-modern-uv/references/<name>.md. That works for “always latest,” but it breaks the guideline’s “pin consumers to a commit or version, not a moving tag” advice: a user can fetch an older or tagged SKILL.md while the referenced docs silently come from newer main. Prefer wording that tells agents to fetch the reference files from the same ref as the SKILL.md, or publish raw-URL examples against a release tag once this ships.

  3. [P3] Add explicit activation smoke cases to the release checklist.
    CI validates frontmatter and links, but the tbd skill guideline also calls out positive, negative, and explicit-invocation activation tests before publishing. The README already has three good positive prompts. Add a short checklist in updating.md or the spec for: new-project prompt activates this skill, existing-Poetry/migration prompt activates it, unrelated Python debugging prompt does not over-activate it, and explicit /simple-modern-uv or equivalent loads cleanly in the target agents.

I would not inline the reference files into the main skill body. The current progressive-disclosure split is the right shape; the changes above are mostly about tool pre-approval, version consistency, and activation testing.

jlevy commented Jun 11, 2026

Copy link
Copy Markdown
Owner Author

All four findings addressed in the latest push:

  1. [P1] Setup sequence — sync now happens after the first commit in all three places (SKILL.md Workflow 1, README Option 2, and the copier next-steps message), with uv.lock committed second. Verified locally: the editable install now reports 0.0.1.dev1+<hash> instead of 0.0.0. CI's render job now follows the documented sequence and asserts the installed version is not 0.0.0, so this can't regress silently. The FAQ gained a uv sync --reinstall-package <module> recovery entry for stale metadata.

  2. [P2] gh hook — both copies now check gh auth status first (any auth mechanism counts), only mention GH_TOKEN when auth actually fails, and the dead doc link is replaced with a gh auth login hint. Verified: reports "Authenticated successfully" here. Caveat: these are tbd-generated artifacts, so a future tbd setup --auto would regenerate them — porting the fix into get-tbd is tracked as bead smu (upstream follow-up) so the next tbd release ships it.

  3. [P2] Pinsskills-ref@0.1.5 (Dec 2025, past cooloff) in CI, uvx copier@9.15.1 in the AGENTS.md example, and actions/checkout pinned to immutable v6.0.2 (Jan 2026; v6.0.3 is inside the 14-day window) in both this repo's and the template's workflows, matching the README's stated pin policy. updating.md examples updated accordingly.

  4. [P3] README — the hand-edit license/publish paragraph is replaced with the answer-based flow (package_license/publish_to_pypi, copier update --data …), linking the skill's customize guide, with an explicit note to prefer re-answering over hand-deleting generated files.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X


Generated by Claude Code

allowed-tools now pre-grants make and gh, matching the commands the
skill body runs. The raw-URL fallback tells agents to fetch reference
files from the same ref as SKILL.md instead of pointing at main, so a
pinned skill can't mix with newer references. updating.md gains skill
activation smoke checks (positive, negative, explicit invocation)
before any release touching the skill.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X

jlevy commented Jun 11, 2026

Copy link
Copy Markdown
Owner Author

All three follow-ups landed: allowed-tools now includes Bash(make:*) and Bash(gh:*); the raw-URL note tells agents to fetch references from the same ref as the SKILL.md (no more main fallback that could drift from a pinned skill); and updating.md gained the four activation smoke checks (new-project and migration prompts activate, unrelated debugging prompt doesn't, explicit invocation loads) as a pre-release step for any skill change.

https://claude.ai/code/session_01T3RGHgchJZBpvuiesrrE7X


Generated by Claude Code

@jlevy jlevy merged commit be2f938 into main Jun 11, 2026
6 checks passed
@jlevy jlevy deleted the claude/trusting-maxwell-iz7cjc branch June 11, 2026 23:08
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