Repository navigation
Skills and agents layer, trial day 1: upstream/skills.sh delta, 2 trial skills, agent frontmatter test - #328
Merged
seathatflowsinourveins merged 4 commits intoSep 26, 2026
Conversation
… frontmatter against the docs scripts/skills_status.py now hashes every canonical ~/.agents/skills/<name> folder the way git hashes a tree and reports, per skill and informationally, ok, runtime_artifacts (matches once __pycache__, .venv, node_modules and tool caches are left out) or drift. The lock's skillFolderHash is install-time metadata and never recomputed: on this host supply-chain-risk-auditor's own `uv run` created scripts/.venv and rewrote the pinned scripts/uv.lock while the status check passed. Tests use `git write-tree` as the oracle (exec bit, symlink, nested and empty directories, git's directory sort order). tests/test_install_claude_profile.py adds ShippedAgentFrontmatterTests: each shipped agent uses only the fields and values of the sub-agents docs' Frontmatter reference (read 2026-09-26, Claude Code 2.1.283) and names an explicit model. Claude Code ignores an unknown field silently, and `claude plugin validate --strict` passed an agents directory with an unknown field and unparseable YAML, so this test is the check that sees a typo. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…viewed candidates, evidence Day 1 of the skills trial. All 26 pinned folders still hash to their pins at upstream HEAD and their skills.sh audit labels are unchanged, so no pin moves. adoption/skills/manifest.json, under the trial record's selection rule and 8,000-character listing cap: - trial: variant-analysis (trailofbits@0cc1c73, on), writing-for-agents (mattpocock@c55ee46, on, Codex on), skill-security (superagent-ai@0da315b, name-only), each with its demonstrated gap, license and audit reading; skill-security beat getsentry skill-scanner 5 of 5 to 3 of 5 on synthetic malicious fixtures - description_chars follows one stated method; semgrep, codeql and sarif-parsing corrected; on-listed 7,409 of 8,000, Codex-enabled 3,054 - 13 excluded groups cover every other candidate reviewed 2026-09-26 - cli.notes records that skills.sh /api/v1 needs a Vercel OIDC token The settings template mirrors skillOverrides. The trial record gains a dated addendum (additions, counts, the install-time lock-hash limitation). evidence/artifacts/skills-agents-layer-20260926/ holds the sanitized readings: upstream heads, audit pages and API, /skill-doctor and Codex invoke counts (0 turns, $0), agent frontmatter and installed-copy sha256, native validator negative controls, the scanner comparison fixtures and results, and proposals P1-P8 for the verdict wave. Nothing was installed on the host. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… claims, narrow writing-for-agents, parse agent YAML Four review findings, each verified against source and native execution: - skill-security follows symlinks out of its target (analyzers.py discover() and read_text() at 0da315b). A new m7 fixture, run under an open() audit trace, shows it reads a file outside the skill, lists it as the skill's own and prints a line of it. getsentry skill-scanner reports the symlink as critical but reads through it too. skill-security moves from the trial pins to excluded, with an overturn condition, and the settings template drops it. Proposal P9 keeps the local-scan gap open. - The scanner win was misstated. m2 was caught only through its settings.json permission-grant clause; a new m6 fixture without that clause gets no finding from either scanner (skill-security scores it 0, LIKELY SAFE). The metric is now "at least one high or critical finding" (6 of 7 against 4 of 7), recorded beside skill-security's own score band and default verdict for each fixture. - writing-for-agents' gap is narrowed to AGENTS.md and CLAUDE.md. A rule 4/6 disposition records the overlap on skill editing with anthropic-skills:skill-creator and Codex .system/skill-creator. Proposal P10 records the trial confound. All three upstream files are now read. - ShippedAgentFrontmatterTests now parses the frontmatter with yaml.safe_load (skipped only where PyYAML is absent), requires a mapping with documented field types and keys that match the text reader's, and rejects the unclosed-YAML control that the text reader alone passes. The budget is unchanged (7,409 on-listed characters, 3,054 Codex-enabled). scanner_compare.py reproduces scanner_comparison from delta.json. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
seathatflowsinourveins
enabled auto-merge (squash)
September 26, 2026 06:45
seathatflowsinourveins
deleted the
claude/skills-agents-layer-20260926
branch
September 26, 2026 07:00
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 user asked on 2026-09-26 to strengthen the Claude Code native workflow layer (skills and agents) from SOTA upstream, using skills.sh repositories, installed seamlessly and backed by evidence. This PR is day 1 of the 30-day skills trial (2026-09-25 to 10-25): a delta against upstream and skills.sh, with changes only where the trial's budget rules allow them.
Results (details in
evidence/artifacts/skills-agents-layer-20260926/README.mdanddelta.json)agentic-actions-auditorSocketcriticalwhile the page shows Warn.verification-before-completion32,search-first29,supply-chain-risk-auditor29,iterative-retrieval25,fp-check10./skill-doctor(0 turns, $0)supply-chain-risk-auditor's ownuv runwrote runtime files into its folder, and the new status check reports that.effort: maxwith an explicit model, and are byte-identical to~/.claude/agents.claude plugin validate --strictcatch bad agent frontmatter?Changes
adoption/skills/manifest.json:variant-analysis(trailofbits@0cc1c73) andwriting-for-agents(mattpocock@c55ee46, limited to theAGENTS.md/CLAUDE.mdgap).skill-security. It was deferred because both pinned scanners follow symlinks outside the skill and print what they read, so neither local scanner is adopted.skillOverrides.scripts/skills_status.py: an informational per-skill git tree check (ok,runtime_artifactsordrift), with tests that usegit write-treeas the oracle.tests/test_install_claude_profile.py: shipped agents must parse as YAML and use only documented fields, types and values, since the native validator does not check them. A mutation of one agent fails only this test.adoption/update.mdand the native-skill-practice README are updated.Tests:
tests.test_install_claude_profile,test_skills_manifest,test_skills_status,test_install_skillsandtest_skill_usageran 189, all OK.validate.pypassed after registration.Reviews: Claude Opus (6 findings, 2 medium) and GPT-6-Astra (2 medium). All real findings were fixed in one repair round, with no rejections.
SOTA sources
delta.json:/skill-doctor.Open
adoption/update.md's skills step.🤖 Generated with Claude Code