Skip to content

Declare fern-docs agent skill via docs.yml page-actions#5773

Open
matlegault wants to merge 4 commits into
mainfrom
matlegault/skills-modal-content
Open

Declare fern-docs agent skill via docs.yml page-actions#5773
matlegault wants to merge 4 commits into
mainfrom
matlegault/skills-modal-content

Conversation

@matlegault

@matlegault matlegault commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Description

Declares the fern-docs agent skill via the page-actions config in fern/docs.yml, replacing the previous approach of vendoring a fern/.well-known/skills/ bundle into this repo.

This uses the new docs.yml surface from fern-api/fern#16446 and the platform support in fern-api/fern-platform#11947. The "Install skills" page action now points the modal directly at fern-api/skills, so visitors install Fern's own skills straight from the source repo — no vendored copy to keep in sync.

Config

page-actions:
  options:
    skills:
      title: Install agent skills
      description: Skills for authoring Fern documentation, maintained in our open-source skills repo.
      learn-more-url: https://buildwithfern.com/learn/docs/ai/agent-skills
      repository: https://github.com/fern-api/skills
      install-command: npx skills add fern-api/skills
      skills:
        - name: fern-docs
          description: >-
            Author and edit Fern documentation: MDX pages, navigation, docs.yml
            config, custom components, landing pages, and changelog entries.
          url: https://github.com/fern-api/skills/tree/main/skills/fern-docs
  • install-command: npx skills add fern-api/skills points the modal at the GitHub repo, so the skills are installed from source. Per the platform semantics in #16446, a custom install command is rendered verbatim and disables per-skill checkbox selection.
  • The skills: list reflects the live contents of fern-api/skills (currently one skill, fern-docs); the description matches its SKILL.md frontmatter and the url deep-links to it.

Why this over the well-known bundle

  • No drift / no sync workflow. The previous approach vendored a copy of the skill into fern/.well-known/skills/, which would go stale as fern-api/skills changes. Declaring via docs.yml keeps a single source of truth in the skills repo.
  • Smaller surface. The skills change itself is a single docs.yml block.

⚠️ CLI bump + collateral self-hosted changelog fix

The skills config only parses on Fern CLI >= 5.47.0 (where #16446 landed); this repo pinned 5.7.5, which failed CI with Invalid object at path $.page-actions.options. So this PR bumps fern/fern.config.json to 5.47.1 — a 40-minor-version jump that affects how the whole site builds, worth checking the preview deploy.

The bump in turn surfaced a pre-existing, unrelated bug: the self-hosted "Releases" changelog lived at /learn/docs/self-hosted/releases, but the docs server only serves changelog RSS/Atom/JSON feeds when the URL contains a segment like changelog or release-notes — so that page's feed has been silently 404ing. The old CLI never validated this; 5.47.1 does, as a build-blocking error. Fix included here:

  • slug: release-notes on the changelog entry → page now lives at /learn/docs/self-hosted/release-notes (feeds work)
  • Updated the 2 internal links pointing at the old URL
  • Added a redirect /learn/docs/self-hosted/releases/learn/docs/self-hosted/release-notes so existing inbound links don't break

This fix is out of scope for skills but required for CI to pass on the bumped CLI. Happy to split the bump + changelog fix into a separate PR that lands first if reviewers prefer.

🤖 Generated with Claude Code

Vendor the fern-docs skill from fern-api/skills into
fern/.well-known/skills/ so the docs publish uploads it (per fern-api/fern#16446,
ADR 0015) and serves it at /.well-known/skills/. This makes
`npx skills add https://buildwithfern.com/learn` work end-to-end and sources the
install-skills page-action modal's live skill list.

Bundle: index.json discovery manifest + fern-docs/SKILL.md + references/changelog.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@matlegault matlegault requested a review from devalog as a code owner June 11, 2026 12:44
@github-actions

github-actions Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

matlegault and others added 2 commits June 11, 2026 10:00
Picks up the merged changelog/products/cross-ref updates: adds
references/products.md, refreshes SKILL.md and changelog.md, and lists
the new reference in index.json so installs deliver the complete skill.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…bundle

Replace the vendored fern/.well-known/skills/ bundle with a page-actions
config that points the Install-skills modal at fern-api/skills, so Fern's
own skills are installed directly from the source repo.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@matlegault matlegault changed the title Add fern-docs agent skills bundle for the install-skills modal Declare fern-docs agent skill via docs.yml page-actions Jun 11, 2026
The skills page-action config requires CLI >= 5.47.0; the repo pinned
5.7.5, which rejected page-actions.options.skills. Bumping also enables
a newer changelog-feed URL validation rule, so give the self-hosted
"Releases" changelog an explicit release-notes slug (with a redirect
from the old /releases URL and updated internal links).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

<Tip>
See [recent releases](/learn/docs/self-hosted/releases) to pin to a specific version instead of `:latest`.
See [recent releases](/learn/docs/self-hosted/release-notes) to pin to a specific version instead of `:latest`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[FernStyles.Current] Avoid time-relative terms like 'latest' that become outdated

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants