feat(skills): add the PolyCSS agent skill package and evaluation - #84
Open
apresmoi wants to merge 30 commits into
Open
feat(skills): add the PolyCSS agent skill package and evaluation#84apresmoi wants to merge 30 commits into
apresmoi wants to merge 30 commits into
Conversation
…holds from the control
…ount tiles by region
…and shadow zoom limit
…IFT to React and Vue
… scope and gizmo example
…omise the temp name
…optional gizmo field
…s, fail on missing cases
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.
Summary
@layoutit/polycss-skills, a zero-dependencynpxinstaller that drops the PolyCSS agent skill into.claude/skillsor.agents/skillspackages/skills/skill/and mirror it towebsite/public/skill/withpnpm sync:skill;pnpm check:skillfails on drift in CIskill.mdinto an entry point plus 13 per-topic reference docs (authoring invariants, scenes, shapes, loading, lighting, shadows, textures, controls, animation, performance, three parity, troubleshooting, api index)liftdefault: it was0.001against a documented0.05, socastShadow+receiveShadowemitted paths that darkened nothing in all three rendererseval/skill/, which runs real agent CLIs in isolated workspaces outside the repo and grades what the scene paints in Chromium, across three tracks:polycss(skill installed),polycss-noskill(the control — same library and contract, skill withheld), andthree(an external baseline, not a control)Results
Six tasks, graded on visual criteria only. Tracks are scored independently and never diffed against each other. These numbers predate the
polycss-noskillcontrol track, so they compare the skill against an external Three.js baseline rather than isolating the skill's effect.Grok's remaining miss is a PolyCSS defect, not a skill gap:
shadow.liftis in world units but the depth conflict it must win is resolved in device pixels, so belowzoom ≈ 1the shadow collapses into the receiver and disappears. The default camera zoom is0.65. The limitation is documented inshadows.mdandtroubleshooting.mdwith the workaround; a projection-aware fix changes documented semantics across three renderers and is left for a separate decision.Scores are evidence that the skill is sufficient, not proof it was the only source used — the workspaces sit outside the repo but are not sandboxed.
eval/skill/README.mdstates the limits.Verification
pnpm testpnpm build:packagespnpm build:websitepnpm test:scriptspnpm check:readmespnpm check:skillpnpm eval:skill --agent oracle --track all— 29/29 on both trackspnpm eval:selftest— 13/13 mutations caught