add-json-schema-support
Skill29k starsChanged 6 days agoApache-2.0View on GitHub
Plans and delivers rendering of standalone JSON Schema documents in Swagger UI (a document whose root has `$schema` and no `openapi`/`swagger` field), starting with JSON Schema 2020-12 and extending to 2019-09, Draft 7, Draft 6 and Draft 4/5, as in the "Standalone JSON Schema" design doc. Builds a per-draft keyword map against the existing json-schema-2020-12 renderer, settles the design decisions (delivery plan, renderer per draft, where it displays, $ref resolution) with the user, then implements detection, a dialect-configured renderer instance and keyword components in version-gated PRs with lint, unit, Playwright, build and coverage gates. Use whenever someone wants Swagger UI or SwaggerEditor to show, preview, detect or render a JSON Schema document or a specific draft, asks what standalone JSON Schema support would take, or asks to support a JSON Schema keyword outside an OpenAPI document - even if they don't name this skill. Not for Schema Objects inside OpenAPI documents (that is add-oas-support).
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 2 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 37
Run scripts from the repository root: node .claude/skills/add-oas-support/scripts/<script>.
- Very specific: line 45
If ADD-JSON-SCHEMA-{DRAFT}.md exists at the repo root, read it and continue from its PR table.
- Very specific: line 53
Read references/design-and-delivery.md.
- Distinctive: line 60
When the request is research only (a keyword map, an assessment), record them as open in the tracking doc and continue.
- Distinctive: line 74
Read the draft's change appendix relative to its neighbours for renames, splits and removals.
- Very specific: line 75
Check the swagger-client strategy for the draft (decision 5): the installed swagger-client has …
- Very specific: line 104
Read references/renderer-architecture.md sections 1, 4 and 6 first.
- Very specific: line 180
Before that release, once PR 1 is ready, SwaggerEditor can start on a swagger-ui-react tarball of its branch: report the branch and the …
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Add Standalone JSON Schema Support
Swagger UI renders JSON Schema only as part of OpenAPI documents today: the
json-schema-2020-12 renderer for OAS 3.1/3.2 Schema Objects, the legacy json-schema-5
renderer for OAS 2.0/3.0. Nothing detects a JSON Schema document; one with just $schema gets
"Unable to render this definition". This skill delivers standalone rendering per draft. The
design doc, its two delivery plans and the corrections the code forces on it are in
references/design-and-delivery.md.
The work spans repositories. This skill owns the Swagger UI part and plans the rest:
| Repository | Part |
| swagger-ui | detection, document component, dialect-configured renderer, keyword components, layout branch and apis preset registration |
swagger-editor (main, v5) | content-type detection per draft, routing JSON Schema content to its existing Swagger UI preview |
| apidom | parser adapters, language service and reference support per draft (Full plan), via its /add-spec-version |
| swagger-client | $ref resolution for the preview: the json-schema-<dialect>-apidom strategy, via its /add-json-schema-support; PR 1 imports it (decision 5) |
Bundled Tools
| Tool | Use |
references/design-and-delivery.md | Design doc proposals, delivery plans, ownership, and the decisions to put to the user. Read at Step 1. |
references/dialects.md | Verified meta-schema identifiers, specification URLs per draft, OAS dialect ids, SwaggerEditor detection. Read at Step 2. |
references/renderer-architecture.md | How the 2020-12 renderer is built and configured per instance, the steps to add a keyword, where OpenAPI is coupled in, the legacy renderer, gaps for standalone documents. Read before Step 3 and before writing code. |
references/keyword-map-template.md | Tracking document and keyword map. Read at Step 3. |
../add-oas-support/scripts/check-field-coverage.mjs <doc> --plugin <dir> | Every in-scope NEW / CHANGED-SHAPE / RENAMED keyword appears in source, a test and a fixture. |
../add-oas-support/scripts/check-plugin-conventions.mjs | TypeScript, pragma, cross-plugin imports, committed dist/. The OAS-specific checks don't apply. |
../add-oas-support/scripts/verify-urls.mjs | URLs and anchors. |
../add-oas-support/references/unreleased-upstream.md | Starting PR 1 on a ready but unreleased swagger-client PR: pack its branch, wire the tarballs, replace them with the release before merging. Read at Step 2 when the strategy isn't released yet. |
Run scripts from the repository root: node .claude/skills/add-oas-support/scripts/<script>.
Project conventions are in CLAUDE.md (TypeScript for new files, @prettier, no cross-plugin
imports); they apply throughout.
Step 0: Where to Start
- Identify the draft (or drafts) requested. With none named, the first is 2020-12: the renderer exists for it, and SwaggerEditor already detects it.
- If
ADD-JSON-SCHEMA-{DRAFT}.mdexists at the repo root, read it and continue from its PR table. Earlier drafts are done when their PRs are merged; a later draft builds on the detection and document component of the first, so do drafts in order. - A request about a JSON Schema keyword inside an OpenAPI Schema Object is OAS work: use
/add-oas-support(or a plain bug fix) instead.
Step 1: Decisions
Read references/design-and-delivery.md. Its "Decisions for the User" change what gets built.
Decisions 1 (Full plan), 3 (the 2020-12 renderer for every draft), 4 (native display, plugin in
the apis preset), 5 ($ref resolution by swagger-client's json-schema-<dialect>-apidom
strategy), 6 (refuse unrecognised $schema values) and 7 (the json-schema-document plugin,
registration key JSONSchemaDocument) are answered there: record them as given. Put
the open ones to the user, each with your recommendation and the facts behind it, before
planning PRs or writing code.
When the request is research only (a keyword map, an assessment), record them as open in the
tracking doc and continue; the research usually sharpens the recommendations. As a subagent,
record them as open, plan with your recommendations, say so, and stop before code. Don't
answer the open ones silently.
Step 2: Research the Draft
- From
references/dialects.md, take the draft's meta-schema identifier, its specification documents and its meta-schema(s). Fetch the meta-schema JSON and the specification text. For a draft not in that file, find the identifier in the meta-schema's own$id, verify it withverify-urls.mjs, and add a row. - List the draft's keywords: from 2019-09 on, the
propertiesof each vocabulary meta-schema; before that, the single meta-schema'sproperties, confirmed against the keyword sections of the specifications. The specification text decides value shape and meaning. - Read the draft's change appendix relative to its neighbours for renames, splits and removals.
- Check the swagger-client strategy for the draft (decision 5): the installed
swagger-clienthases/resolver/strategies/json-schema-<dialect>-apidom(ls node_modules/swagger-client/es/ resolver/strategies). Without it the document falls to thegenericstrategy (no$id, no$anchor): record it in the tracking doc as swagger-client work (its/add-json-schema-support), which PR 1 waits for. Once that swagger-client PR is ready (its exit gate passes, its review is clean), PR 1 can start on a tarball of its branch (../add-oas-support/references/unreleased-upstream.md) and merges after the swagger-client release.
Step 3: Keyword Map and PR Plan
- Build the keyword map in
ADD-JSON-SCHEMA-{DRAFT}.mdperreferences/keyword-map-template.md: every keyword of the draft, plus every 2020-12 keyword the draft lacks (NOT-IN-DRAFT), each with its baseline behaviour in the current renderer. Determine the baseline from the code (getSchemaKeywords()insrc/core/plugins/json-schema-2020-12/fn.js, the keyword components,JSONSchema.jsx), and say where you inferred rather than ran it. - Pay most attention to
CHANGED-SHAPErows: a keyword with the same name and a different shape or meaning renders wrong without any error, because every 2020-12 component assumes the 2020-12 shape. Compare eachSAMEcandidate's definition text in both specifications, not just its name. - Plan PRs: PR 1 is detection plus the document component plus the dialect instance with
SAMEkeywords only; then one PR per group ofNEW/CHANGED-SHAPE/RENAMEDrows that share components. SwaggerEditor and ApiDOM work gets its own entries, marked with the repository. - Checkpoint: show the user the non-
SAMErows, the decisions and the PR plan, and get confirmation before code. As a subagent, stop here with the tracking doc written.
Step 4: PR 1, Detection and Document
Read references/renderer-architecture.md sections 1, 4 and 6 first.
- The
src/core/plugins/json-schema-document/plugin (decision 7), TypeScript. The first dialect creates it; a later dialect adds its detection entry and its overrides to it. - Detection of the root
$schemaperdialects.md(empty-fragment normalisation, Draft 4/5 as one dialect, noopenapi/swaggerfield), as an exported pure function with unit tests for every identifier variant, accepted or refused (decision 6), and for OAS documents (which must not match). The spec selectorsisJSONSchemaDocument()andjsonSchemaDialect()expose it. - A document component that renders the root schema through
withJSONSchema202012Context(or the system HOC) with this dialect'soverrides: its keyword list, its components anddefault$schema= the meta-schema identifier. It must not take the OASfnoverrides (renderer-architecture.mdsection 4). - Display (decision 4):
SwaggerUI({ url })renders the document natively. The plugin wrapsVersionPragmaFilterand rendersJSONSchemaDocumentfor a detected document, the refusal message (decision 6) for a root$schemano delivered dialect has, else the component it wraps, so OAS documents still get the oas32 filter. SwaggerEditor shows it by routing the content to its Swagger UI preview; it needs nothing else from this PR. $refresolution (decision 5): importswagger-client/es/resolver/strategies/json-schema-<dialect>-apidominto both strategy lists ofsrc/core/plugins/swagger-client/index.js(resolveandresolveSubtree), ahead ofgenericResolveStrategy, and bumpswagger-clientto the release that ships it (until then a tarball of its ready PR, replaced by the release before merging).- Registration (decisions 4 and 7):
SwaggerUI.plugins.JSONSchemaDocument, and theapispreset afterOpenAPI32Plugin(it must wrap oas32's filter, whose "Load LAST" comment is about the OAS plugins). The document component is registered asJSONSchemaDocument, the key SwaggerEditor's gate looks for in the swagger-ui-react bundle. A later dialect registers nothing new. - Tests: detection units; a Playwright spec loading a fixture of this draft that asserts the
renderer output; refusal cases (a custom meta-schema, an OAS dialect id, the other
scheme, an undelivered draft) that assert the message and no schema output; a regression
spec that OAS 3.0/3.1/3.2 documents (including ones whose Schema Objects carry
$schema) render exactly as before.
Step 5: Keyword PRs
For each group of rows (renderer-architecture.md section 2 lists every place a keyword lives):
- Implement the rows' components and list entries in the dialect instance (its
overrides), not ingetSchemaKeywords()or the shared 2020-12 components, unless the change is correct for OAS 3.1/3.2 too and the user agreed to change OAS rendering. CHANGED-SHAPErows get dialect components; the 2020-12 component stays untouched.NOT-IN-DRAFTrows: dropping the name from the instance's keyword list only makes it eligible forExtensionKeywords;JSONSchema.jsxstill calls every keyword component, and e.g.PrefixItems.jsxreadsschema.prefixItemswithout consulting that list. So also override the component (or itsfn) in the dialect instance with one that renders nothing for the keyword, and add a Playwright assertion that the 2020-12 rendering is absent.- Fixture keys for every in-scope row; a Playwright assertion for every row whose target behaviour is visible.
- Mark the rows done in the tracking doc.
Gates (every PR)
npm run lint-errors,npm run type-check,npm run lint-styleswhen.scsschanged.npm run test:unit.- The PR's Playwright specs (
npm run e2e -- <spec>), thennpm run e2eandnpm run e2e:typecheck(the regression spec proves OAS rendering is unchanged). npm run build,npm run test:artifact.check-plugin-conventions.mjs: 0 errors (DIALECT only inspects files this PR changed, so findings already onmain, such as the oas32 Model/Models URLs, don't count against it); before merging also noUNRELEASEDwarning (unreleased-upstream.mdsection 4).check-field-coverage.mjs ADD-JSON-SCHEMA-{DRAFT}.md --plugin src/core/plugins/{plugin} --scope "PR n": 0 gaps for this PR's rows (a scope with onlySAME/NOT-IN-DRAFTrows, such as the detection PR, reportsn/aand exits 0); generic keyword names (type,items,format) need a manual look, because they match unrelated code.verify-urls.mjs --diff main: 0BROKEN.- A fresh-context review: run
/review-spec-supportin a subagent with only the draft, the branch and the PR's rows. - No
dist/orADD-*.mdstaged.
Hand-off
Report the PRs (branch, URL, state, gates), the decisions taken and by whom, rows deferred or
out with reasons, the registration key JSONSchemaDocument and the swagger-ui release that
first renders this dialect (SwaggerEditor's gate takes both: --swagger-ui-plugin and
--swagger-ui-version), and the SwaggerEditor and ApiDOM work items with their repositories.
Before that release, once PR 1 is ready, SwaggerEditor can start on a swagger-ui-react tarball of
its branch: report the branch and the tarballs it uses (the UNRELEASED warnings).
Pushing and opening PRs are outward-facing: confirm each with the user.
Trending
More talk lately.about the whole repository
Who's talking about swagger-api/swagger-ui
- Devoxx“Generate client stubs & document your REST-API using Swagger & Spring by Johannes Fiala”YouTube · Nov 11, 2015 · 45k views
- Ryan Hay“What is an Operator? Kubernetes & OpenShift Operators Explained.”YouTube · Nov 8, 2020 · 24k views
- Jorge Cardona“Crear Api Rest JaxRs 2.1, Maven, Swagger, Git”YouTube · Jun 4, 2020 · 3.1k views
- Thales Bento“Laravel 9 - Api Sanctum + documentação Swagger Php [Parte 2]”YouTube · Jan 28, 2023 · 2.6k views
- IngSystemCix“Cómo Estructurar un Proyecto PHP Puro como un PRO (Sin Frameworks)”YouTube · Aug 23, 2025 · 830 views
The biggest 5 of 75 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 75
Talked about on Stack Overflow, GitHub, YouTube, Bluesky and the web (75 times).
On Stack Overflow · 30
- May 16, 2016Swagger: map of <string, Object>66 votes
- Jul 10, 2015Can Swagger autogenerate its yaml based on existing express routes?63 votes
- Nov 28, 2015Swagger UI - How can I expand all the operations by default?59 votes
- Mar 16, 2017How to refer to enclosing type definition recursively in OpenAPI / Swagger?41 votes
- Jul 18, 2017Swagger UI - " TypeError: Failed to fetch" on valid response32 votes
25 more on Stack Overflow
- Jan 23, 2017Multi-level (nested) tagging in Swagger UI28 votes
- May 20, 2015How to send Authorization header with a request in Swagger UI?24 votes · 4 answers
- Aug 29, 2018What is the difference between SwaggerUIBundle, and SwaggerUi23 votes · 2 answers
- Nov 24, 2018What is the difference between SwaggerUIBundle, and SwaggerUi18 votes
- Sep 16, 2017How to run swagger-ui with local code changes AND my own swagger.json?18 votes · 8 answers
- Apr 30, 2019Disable "Try It Out" in Swagger17 votes · 5 answers
- Sep 2, 2022Could not resolve pointer: /components/schemas when nested model and custom schema Ids16 votes
- Dec 10, 2018How to generate a static html file from a swagger documentation?14 votes
- Oct 16, 2019Generate static docs with swagger13 votes
- May 30, 2020How to add Header with Authorization for springdoc-openapi endpoint calls11 votes
- Feb 1, 2018How to open Swagger-ui from vert.x11 votes
- Dec 1, 2017Cutomize Swagger UI ASP.NET Core Web API11 votes · 3 answers
- Aug 2, 2017Converting Swagger specification JSON to HTML documentation11 votes
- Apr 7, 2015How to integrate swagger-ui in my application11 votes
- Apr 24, 2018Swagger UI add curl custom parameters10 votes
- Mar 1, 2018Issue Using Custom Index.Html in Swagger / Swashbuckle for .NET Core10 votes · 2 answers
- Aug 2, 2020springdoc-openapi-ui OAuth 2.0 Authorization Code flow with PKCE9 votes
- Jun 9, 2020CSRF Support in springdoc-openapi swagger-ui9 votes
- Aug 7, 2017swagger: is ' Could not render this component, see the console' an error message or can it be ignored7 votes
- Jun 29, 2016Swagger Yaml schema definition for object without a fixed property list7 votes
- Jul 2, 2015Adding Basic Authorization for Swagger-UI7 votes
- Feb 21, 2015How to define a map in swagger?7 votes
- Apr 23, 2021OpenAPI swagger UI is not responding for large response6 votes
- Jan 18, 2021Weird "Could not resolve reference: undefined Not Found" messages in Swagger UI 36 votes
- Jul 14, 2016customize swagger-ui by adding a simple sidebar in the html6 votes · 1 answer
On GitHub · 28
- Oct 26, 2023📌 Pin Swagger UI version to 5.9.0 temporarily to handle a bug crashing it in 5.9.1 — fastapi/fastapi15 reactions · 5 comments
- Nov 11, 2025Add support for OpenAPI 3.2 — domaindrivendev/Swashbuckle.AspNetCore10 reactions · 5 comments
- Apr 3, 2021⬆️ Upgrade OpenAPI from 3.0.2 to 3.1.0 — fastapi/fastapi10 reactions · 10 comments
- Sep 10, 2017Fixes #1129 - allOf fix for $$ref values — swagger-api/swagger-client7 reactions · 3 comments
- Mar 4, 2021Remove Google fonts in Swagger UI — api-platform/core5 reactions
23 more on GitHub
- Oct 8, 2019Bump swagger-ui depdency — springfox/springfox5 reactions · 6 comments
- Mar 30, 2020Expose Swagger-UI in addition to API spec — paperclip-rs/paperclip3 reactions · 9 comments
- Aug 12, 2021webpack5: Add Buffer polyfill — backstage/backstage2 reactions · 2 comments
- May 27, 2021add tags and path sorting, add related docs — fastapi/fastapi2 reactions · 3 comments
- Jul 22, 2020📌 Pin Swagger UI — fastapi/fastapi2 reactions · 6 comments
- Apr 7, 2017WIP(swagger-ui): Upgrade to v3 — strongloop/loopback-component-explorer2 reactions · 20 comments
- Oct 26, 2026build(deps): Bump org.webjars:swagger-ui from 5.33.2 to 5.34.0 in /brewdeck-api — JuanMelendres/brewdeck1 reaction · 5 comments
- Oct 26, 2026Bump org.webjars:swagger-ui from 5.33.2 to 5.34.0 in the documentation group — dharamcodes/template-spring-boot-4.x.x1 reaction · 2 comments
- Oct 22, 2026build(deps): bump the production group with 7 updates — nox-pie/RU-Lost-Found1 reaction · 3 comments
- Oct 19, 2026build(deps): Bump org.webjars:swagger-ui from 5.33.1 to 5.33.2 in /brewdeck-api — JuanMelendres/brewdeck1 reaction · 4 comments
- Oct 19, 2026Bump org.webjars:swagger-ui from 5.33.1 to 5.33.2 in the documentation group — dharamcodes/template-spring-boot-4.x.x1 reaction · 2 comments
- Oct 18, 2026build(deps): bump the ui-package-dependencies group in /pkg/webui with 3 updates — ethpandaops/buildoor1 reaction
- Oct 15, 2026build(deps): bump the production group across 1 directory with 8 updates — nox-pie/RU-Lost-Found1 reaction · 2 comments
- Oct 13, 2026build(deps): bump org.webjars:swagger-ui from 5.32.15 to 5.33.1 in /brewdeck-api — JuanMelendres/brewdeck1 reaction · 5 comments
- Oct 8, 2026build(deps): bump the production group with 6 updates — nox-pie/RU-Lost-Found1 reaction · 3 comments
- Aug 17, 2026fix: swagger UI rendering issue after upgrade to 5.32.12 — fingerprintjs/openapi1 reaction · 3 comments
- Jul 27, 2026chore(deps): Bump swagger-ui-react from 5.32.9 to 5.32.11 in /frontend — kscius/Mock-API-Studio1 reaction
- Jul 20, 2026chore(deps): Bump swagger-ui-react from 5.32.8 to 5.32.9 in /frontend — kscius/Mock-API-Studio1 reaction
- Jul 6, 2026chore(deps): bump swagger-ui-react from 5.32.4 to 5.32.8 — smmariquit/comsci-1281 reaction · 1 comment
- Apr 28, 2026fix(swagger-ui-build): harden curl download against transient CDN failures — juhaku/utoipa1 reaction
- Mar 17, 2022Bump swagger-ui-dist from 3.20.7 to 4.1.3 — jmcarp/flask-apispec1 reaction · 1 comment
- Apr 5, 2021feat: resolve external value — swagger-api/swagger-client1 reaction · 11 comments
- Sep 1, 2016fix generator for swagger_model when no property required — richhollis/swagger-docs1 reaction · 4 comments
On YouTube · 10
- Nov 11, 2015Generate client stubs & document your REST-API using Swagger & Spring by Johannes Fiala — Devoxx45k views · 22 comments
- Nov 8, 2020What is an Operator? Kubernetes & OpenShift Operators Explained. — Ryan Hay24k views · 37 comments
- Jun 4, 2020Crear Api Rest JaxRs 2.1, Maven, Swagger, Git — Jorge Cardona3.1k views · 10 comments
- Jan 28, 2023Laravel 9 - Api Sanctum + documentação Swagger Php [Parte 2] — Thales Bento2.6k views · 18 comments
- Aug 23, 2025Cómo Estructurar un Proyecto PHP Puro como un PRO (Sin Frameworks) — IngSystemCix830 views · 3 comments
5 more on YouTube
- Jul 29, 2021Swagger API documentation tutorial for beginners | Intro to API documentation with Swagger — Coding from experience822 views
- Nov 5, 2019Stripe's $35B valuation in 8 years - How a tech startup reaches billion-dollar valuation? — QuanticDev617 views · 1 comment
- Aug 16, 2024GitHub - swagger-api/swagger-ui: Swagger UI is a collection of HTML, JavaScript, and CSS assets t... — GitHub Daily Trend AI Podcast236 views
- Oct 6, 2018Swagger UI Quickstart - Silence is Golden — Macovin107 views
- Jul 4, 2025swagger-api/swagger-ui - Gource visualisation — Gourcer11 views
On Bluesky · 6
- Jul 3, 2025📦 swagger-api / swagger-ui ⭐ 27,588 (+37) 🗒 JavaScript Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically… — @github-trending.bsky.social3 likes and reposts
- Oct 2, 2025📦 swagger-api/swagger-ui v5.29.2 Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful… — @throwable.bsky.social2 likes and reposts
- Sep 18, 2026📦 swagger-api / swagger-ui ⭐ 29,011 (+34) 🗒 JavaScript Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically… — @github-trending-js.bsky.social1 likes and repost
- Oct 10, 2025📦 swagger-api/swagger-ui v5.29.4 Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful… — @throwable.bsky.social1 likes and repost
- Jun 10, 2025📦 swagger-api/swagger-ui v5.24.1 Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful… — @throwable.bsky.social1 likes and repost
1 more on Bluesky
- Apr 4, 2025📦 swagger-api/swagger-ui v5.20.6 Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful… — @throwable.bsky.social1 likes and repost
On the web · 1
- Nov 17, 2023swaggerui package - github.com/mwmahlberg/swagger-ui — pkg.go.dev
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- swagger-api/swagger-editor★ 9.5ksame name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository3 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- add-oas-supportSkill
- review-spec-supportSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

