Niblet in GitHub Actions
Keep UI work honest in CI: references in, evidence out.
The moment of failure for agent-built UI is review: nobody re-opens the reference and checks. A GitHub Action can do the mechanical part — capture the changed surfaces, compare them against the screens the task cited, and post the evidence on the PR.
Set up
Pass the key as a secret
Store your Niblet key as a repository secret. A key opens the MCP endpoint and the REST catalogue — both are plain HTTP with a bearer — so a workflow step can call a tool with curl, no MCP client needed.
- name: Fetch references for changed surfaces env: NIBLET_KEY: ${{ secrets.NIBLET_KEY }} run: | curl -s https://niblet-api.pymodel.com/mcp \ -H "Authorization: Bearer $NIBLET_KEY" \ -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_ui_references","arguments":{"query":"ios settings screen","platform":"ios","limit":3}}}'Gate on rendered output, not file diffs
A passing build is not a rendered pass. Render the changed pages at phone and desktop widths in the workflow, and attach screenshots to the PR so a human reviews evidence, not vibes.
The workflow
- Cite
- Tasks name the reference screens they implement against.
- Render
- CI renders the changed surfaces at both widths.
- Compare
- The PR shows build output next to the cited screens.
- Merge
- Evidence reviewed, merge is a decision instead of a hope.
The MCP tool schemas and connection details are documented in the docs.
Read the docsQuestions? Contact the project. Legal: Terms · Privacy