Repository navigation
Verify skills on 12.6, add self-hosting, content skill, behavior evals - #5
Merged
Merged
Conversation
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.
Brings the skills to Directus 12.6.0, adds the
directus-self-hostinganddirectus-contentskills, and adds behavior evals that show where each skill actually changes what an agent builds. Skills that models handle fine on their own were cut back.Every claim is verified against the 12.6.0 source or a live 12.6.0 instance (SQLite, plus Postgres where behavior differs).
Skills
directus-self-hosting: Docker Compose, configuration, file storage and email, scaling past one instance, backups, Directus Cloud.directus-content: editing content the way an editor does, over MCP or the API. Covers staging a change in a content version (MCP and REST item writes always go live), relational edits with row ids, files, and deletes.directus/references/versions-v9tov12), so agents on older instances read what changed first.Cut back
Behavior evals showed models pass these tasks without the skill, so they were trimmed:
directus-sdkanddirectus-environment-syncare down to their traps and commands, from about 1,690 lines combined to 192. Both still pass all their cases with the plugin.Traps found while testing
illegal access(500).throw-errorgives a 400 with your message.meta.special: ["uuid"]gets no generated id. Creates fail with 400Value is required.collectionbreaks every read of that version, and versioned reads must selectblocks.collection.meta: nulland are configured withPATCH. Tables without a single-column key can't be used. Enums come in asunknownand a bad value leaks SQL; field validation fixes that on the core tier._jsonfilters compare query-string numbers as text.json()doesn't work infilteroraggregate.trigger-flowprompt documents parameters the tool rejects (flowDefinition,flowId) and webhook flows it can't run. The tool takesidand runs only active manual flows.aggregate()accepts a top-levelfilterwithout a type error and ignores it.Behavior evals
behavior-evals/starts a fresh Directus container per run, seeds it, gives headless Claude a task with and without the plugin, then checks the instance and files over the API. 36 cases cover modeling, access, flows, Insights, SDK, sync, self-hosting, upgrades, extensions, visual editing, existing databases, content editing over REST and MCP, and multi-tenant access. Licensed cases confirm the license is active before the agent starts.on_delete, clean 4xx refusals) are scored separately as recommended checks.node behavior-evals/run.mjs --clean --model haiku,sonnet --runs 3.Where the plugin changes the result (runs passing out of 3, with plugin / without):
Ties on both models (SDK, sync, simple flows, content edits, basic access) are kept as regression guards.
Checks
node scripts/validate.mjs --strict: 0 errors, 0 warnings.Follow-ups