CtrlK
BlogDocsLog inGet started
Tessl Logo

docs-build-and-verify

Use when asked to build, preview, or verify the Flet documentation website, including checking for broken links, broken images, and unresolved reST cross-references.

69

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Docs Build and Verification

Prerequisites

Node.js 24 is required, matching what CI runs:

nvm use 24

Build

Full production build (includes broken link detection):

cd website && yarn build

Dev server with hot reload:

cd website && yarn start

Regenerate API data and sidebars only (no Docusaurus build):

cd website && yarn crocodocs:generate

Check Broken Links

yarn build reports both, but only broken links fail the build. Docusaurus defaults onBrokenAnchors to warn and docusaurus.config.js does not override it, so a broken anchor scrolls past in the log and still ships - grep the build output for Broken anchor rather than trusting the exit code.

Check Broken Images

Run this after yarn build to find images referenced in HTML that don't exist:

cd website && python3 -c "
import re, os, glob

build_dir = 'build'
img_re = re.compile(r'<img[^>]+src=\"(/[^\"]+)\"', re.IGNORECASE)
broken = []

for html_file in sorted(glob.glob(f'{build_dir}/docs/**/index.html', recursive=True)):
    page = html_file.replace(build_dir + '/', '').replace('/index.html', '')
    content = open(html_file).read()
    for match in img_re.finditer(content):
        src = match.group(1)
        if src.startswith('http') or src.startswith('data:'):
            continue
        file_path = os.path.join(build_dir, src.lstrip('/'))
        if not os.path.exists(file_path):
            broken.append((page, src))

if broken:
    print(f'Found {len(broken)} broken images:')
    for page, src in broken:
        print(f'  {page}: {src}')
else:
    print('No broken images found!')
"

Check Unresolved reST Cross-References

After building, check for reST roles that failed to resolve and appear as raw text:

cd website && grep -r ':attr:\|:class:\|:meth:\|:func:' build/docs/ --include='*.html' -l

If any files are listed, those pages have unresolved cross-references that render as plain text instead of links.

Repository
flet-dev/flet
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.