P1: compose the skills the archetypes' templates actually use - #13
Merged
Conversation
P1 from the library review. Composition had drifted from what the templates ship, so a generated project used tools nothing had taught the agent about. Grounded in what each rendered template actually contains, not a wishlist: - pixi -> required on all 6. Every template ships a pixi.toml and every generated README opens with `pixi install`, yet no archetype composed the skill that explains it. - code-quality -> required on the 5 that lacked it. All six configure ruff and mypy strict in their pyproject. - testing -> required on research-notebook, which ships tests/. - pydantic-ai -> recommended on data-processing-pipeline. VLM-assisted labeling is a natural extension of a dataset pipeline and was referenced by zero archetypes. - abstraction-patterns, library-review -> recommended on library-package; both are precisely the subject of a published library. - onnx, gcp -> recommended on pytorch-training-project (its README promises export; Vertex is the training target). - tensorrt -> recommended on model-zoo, an extension point in its README. Two corrections the audit missed, found by inspecting rendered deps: - model-zoo required pytorch-lightning and onnx, but its template deliberately keeps torch optional (deps: pydantic/pyyaml/loguru/httpx). Both moved to recommended so `required` reflects what the project needs to run. - research-notebook required pytorch-lightning while its template has no torch at all (deps: numpy/matplotlib/pydantic/loguru). Moved to recommended. Adds a test tying composition to the template: if a template ships pixi.toml or tests/, or configures ruff/mypy, the archetype must require the matching skill. That is what stops this drifting again. 257 tests pass; ruff, format, mypy --strict, mkdocs --strict clean. Co-Authored-By: Claude Opus 4.8 <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.
P1 from the review. Archetype composition had drifted from what the templates ship, so a generated project used tools nothing had taught the agent about.
Every change below is grounded in what each rendered template actually contains — I rendered all six and read their real dependencies rather than working from a wishlist.
The gaps
pixi→ required on all 6pixi.tomland every generated README opens withpixi install— yet 0 of 6 archetypes composed the skill explaining it.code-quality→ required on the 5 lacking itpyproject.toml.testing→ required on research-notebooktests/.pydantic-ai→ recommended on data-processing-pipelineabstraction-patterns,library-review→ recommended on library-packageonnx,gcp→ recommended on pytorch-training-projecttensorrt→ recommended on model-zooTwo corrections the audit missed
Found by inspecting rendered dependencies rather than the READMEs:
model-zoorequiredpytorch-lightningandonnx, but its template deliberately keeps torch optional (real deps:pydantic,pyyaml,loguru,httpx). Both moved to recommended, sorequiredmeans "needed to run."research-notebookrequiredpytorch-lightningwhile its template has no torch at all (real deps:numpy,matplotlib,pydantic,loguru). Moved to recommended.What stops it drifting again
A new test ties composition to the template: if a template ships
pixi.tomlortests/, or configures ruff/mypy, the archetype must require the matching skill. Composition can no longer silently diverge from what the generated project uses.Deliberately not added
The audit also suggested
opencvon cv-inference-service andmatplotlibon data-processing-pipeline. Both templates use neither (cv-inference-serviceuses pillow; the data pipeline ships no plotting), so adding them would be noise.kuberneteswas skipped for the same reason — the k8s claims were trimmed from that README in #11.Verification
uv run pytest tests/→ 257 passed (1 new composition test)whet doctor→ all skill dependencies resolvemypy --strict/mkdocs build --strict→ clean🤖 Generated with Claude Code