Skip to content

The opensaas-migration plugin skills still teach the deleted fragment API #1412

Description

@borisno2

The problem

defineFragment, runQuery, runQueryOne and ResultOf were deleted from @opensaas/stack-core by ADR-0041. Three skills in claude-plugins/opensaas-migration/skills/ still import them from that package and build whole recipes on them:

  • migrate-context-calls/SKILL.md — 39 references, including import { defineFragment, type ResultOf } from '@opensaas/stack-core' and import { runQuery, runQueryOne } from '@opensaas/stack-core', plus "Recipe 3 — gql.tada typed documents → defineFragment + ResultOf" built end to end on them
  • keystone-virtual-fields-context/SKILL.md — 5 references
  • opensaas-migration/SKILL.md — 10 references

An agent that loads one of these writes an import that does not resolve. The mechanism they reach for is native on the secured surface now: .select() narrows the result type and composes inside .include() at every level, and reuse is an ordinary function returning a composed query value, which needs no bespoke type.

Why this is filed rather than fixed

ADR-0041 names these skills explicitly and puts them out of scope for the Prisma 8 map, and §15 of the architecture spec rules the whole Keystone-migration story out of scope. The documentation site's own migration guides (docs/content/how-to/migrate.md, migrate-from-keystone.md) were already corrected by #1174 and carry no reference to the deleted API — every "fragment" left in them names Keystone's own GraphQL fragments on the Keystone side of a mapping table, which is right.

So #1175's "migration-guide references to the fragment API are removed" is satisfied for the guides. This is the remainder, surfaced rather than left implicit, per that ticket's third acceptance criterion.

What to do

Rewrite the three skills' read-migration recipes onto the composed read. Note that this touches claude-plugins/, so it needs a plugin-version bump in plugin.json and the matching .claude-plugin/marketplace.json entry, not a changeset.

Worth deciding at the same time whether the opensaas-migration plugin is still supported at all, given §15. If it is not, deleting these recipes is cheaper than rewriting them.

Context


🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Prisma8Relates to the Prisma 8 migration (prisma-8 branch)bugSomething isn't workingpriority:mediumShould land before or shortly after release; has a workaround or narrow blast radiusready-for-agentFully specified, ready for an AFK agent

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions