Demote vscode and github-repo-setup to the extra tier - #18
Merged
Conversation
The last open item from the review's scorecard. Both sit closest to the
"restates what Claude already knows" line: vscode is settings.json/launch.json
config and github-repo-setup is `gh repo create` plus branch-protection calls —
generic developer-environment and repo-admin material any Python project would
want, not the CV/ML domain knowledge whet exists to supply.
Neither is deleted. They keep genuinely non-obvious content (remote-SSH GPU
setup, devcontainer --gpus/--shm-size, the branch-protection payload and the
rule that required status checks must match job names), and both are already
thin indexes at 114 and 120 lines. Marking them `extra` keeps them one flag
away while leaving the default trigger surface focused.
Default install is now 25 core skills; 7 are opt-in via --include-extras.
Verified safe to demote: no archetype lists either as required or recommended,
and the only cross-references are disambiguation clauses in the code-quality
and github-actions descriptions ("editor integration in vscode", "see
github-repo-setup"), which read correctly whether or not the skill is installed.
279 tests pass; whet doctor resolves all dependencies; mkdocs --strict clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Merged
ortizeg
added a commit
that referenced
this pull request
Jul 24, 2026
Release branch for **v0.3.0**, merging `develop` into `main`. ##⚠️ Two things to know before merging **1. A release blocker was found and fixed here.** I installed the built wheel into a clean venv and ran the CLI outside any checkout — what a user actually does — and got: ``` $ whet list No skills found. ``` The wheel packaged **only `src/whet`**: 36 files, zero `SKILL.md`. The skills were listed for the *sdist* but never the wheel, and the bundled dirs resolved via `Path(__file__).parents[3]`, which is the repo root in a checkout but points outside `site-packages` once installed. **The currently published 0.2.1 almost certainly has this same defect.** Fixed here; the wheel now carries 430 files (32 skills, 155 references, 125 template files). **2. Version had drifted.** PyPI carries **0.2.1** while both `main` and `develop` declared **0.1.0**, and the repo has **no git tags** — 0.2.1 was published outside this tag-triggered workflow. Releasing from 0.1.0 would have built a package *older* than what is live. ## Version: 0.3.0 Breaking, so a minor bump under pre-1.0 semver: - the `agents/` concept and `--agents-only` / `--skills-only` flags are removed - skills `dvc` and `cv-model-selection` deleted; `pydantic-strict` renamed to `pydantic` - `whet init` now installs skills instead of printing a hint ## What's in the release Thirteen merged PRs (#6–#18) auditing all three pillars against Anthropic's Agent Skills guidance: - **Skills** — always-resident context down **73%** (16.5k → 4,523 lines); 29 of 32 split into a thin index plus `references/`; every description rewritten as a trigger-first statement. - **Agents** — removed. Four of six had no frontmatter and were untriggerable; all six installed as skills; `agent.toml` was never parsed. GSD owns agency, whet owns knowledge. - **Archetypes** — all six now generate a project that runs, gated by CI that renders each one and runs the toolchain against the output. - **Enforcement** — the authoring rules are now CI-enforced rather than upheld by discipline. Full detail in [`CHANGELOG.md`](CHANGELOG.md), added in this PR. ## Verification - `uv run pytest tests/` → **541 passed** (5 new packaging guards) - ruff, format, `mypy --strict`, `mkdocs build --strict` → clean - `uv build` → `whet-0.3.0` wheel + sdist - **Installed-wheel smoke test**: clean venv, outside the repo — `whet list` shows 32 skills, `whet doctor` passes, and `whet init cv-inference-service` scaffolds a project with 8 skills and 43 reference files installed ## After merge Tagging `v0.3.0` triggers `release.yml`, which **publishes to PyPI** and creates a GitHub Release. That step is irreversible — a PyPI version can never be reused — so I'll confirm before pushing the tag. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The last open item from the review's scorecard.
Why these two
Both sit closest to the "restates what Claude already knows" line — the rule that a skill should encode knowledge the model lacks, since every loaded line is a recurring cost.
vscode—settings.json,launch.json, extension lists. Standard editor configuration.github-repo-setup—gh repo create --public --license MIT, branch-protection calls. The tool's documented interface.Neither is CV/ML domain knowledge, which is the value whet exists to supply. Contrast with
model-evaluationknowing thatMetricTarget.MASKSis silently ignored by supervision's mAP, ordata-pipelinesknowing to split on video rather than frame — knowledge that prevents a specific expensive mistake.Why demote rather than delete
They do carry non-obvious content worth keeping:
--gpus/--shm-sizeBoth are already thin indexes (114 and 120 lines).
extrakeeps them one flag away —whet install --include-extras— while the default trigger surface stays focused.Default install is now 25 core skills; 7 opt-in.
Verified safe to demote
requiredorrecommended— so this can't trip the "archetype must not force an opt-in skill" guard."editor integration in vscode","see github-repo-setup"), not dependencies. Those read correctly whether or not the skill is installed — they mark a scope boundary either way.Verification
uv run pytest tests/→ 279 passedwhet doctor→ all skill dependencies resolvemkdocs build --strict→ clean🤖 Generated with Claude Code