live-ai-check
Skill0 starsChanged 20 days agoApache-2.0View on GitHub
Run an application's LLM-powered flows against REAL model vendors with the user's own allowlisted keys, on a loopback-only local stack, and record what actually happens: pass, app bug, vendor refusal, quota, or contract mismatch. Gives static reviews live evidence. Keys never pass through the agent; failures are recorded, never auto-fixed. Use before claiming an AI feature works, after changing prompts or model versions, or when a grader holds a feature below A for 'never run live'.
In this repository15 other files it gives its agents.
- ai-exchangeSkill
- cleanupSkill
- design-reviewSkill
- evidence-rulesSkill
- gradeSkill
- mine-skillsSkill
- open-prSkill
- parallel-workSkill
- plan-tasksSkill
- releaseSkill
- review-changeSkill
- ship-changeSkill
- skill-evalSkill
- test-necessitySkill
- write-specSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Allowlisted keys only: Use only the key names or bindings the user listed for this run.
- Distinctive: line 23
Spend is the user's call: Before any paid run, state how many calls you'll make, with which models and keys, and get a yes.
- Distinctive: line 48
Live run (approved): Run each flow on the user's chosen vendor and models.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 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
Live qualification
Static review can't tell you whether a real model, today, produces output your code accepts. Live runs find bugs nothing else does: closed parsers rejecting fields the model was never told were forbidden, unstated length limits, a model version that changed its style. Run the real thing; record the result honestly.
Hard rules
- Keys never pass through you. The user binds keys in the app's own settings or secret store. You refer to them only by name. Never read, print, log, echo or paste a key value, not even partly. If a command would print a secret, don't run it.
- Allowlisted keys only. Use only the key names or bindings the user listed for this run. Refuse any other, even one that is configured and would work.
- Loopback only. The target is
localhost,127.0.0.1or::1. Refuse any other host, staging included, and never enable test-only seams on one. - Spend is the user's call. Before any paid run, state how many calls you'll make, with which models and keys, and get a yes. Inventory and dry runs cost nothing and need no approval.
- Nothing goes outside the stack. Any step that sends email, posts, pays or publishes is stopped at its approval gate or mocked. Record it as "not exercised".
- Failures don't fix themselves. Record them and report them. Ask before you fix anything. Never loosen a validator, schema or limit to get a pass.
- Classify honestly.
- A vendor refusal or a quota error is never a pass, and never an app bug.
- Switch to another allowlisted key only when the first is out of quota, never to turn a red into a green.
- To attribute a refusal, re-run a case that passed before on the same model. If that is refused too, it's the vendor; if it passes, suspect the app's input.
- Pace, don't hammer. Space calls out. On a 429, stop, record the last finished case as the resume point, and resume from there later. Never retry in a loop.
Steps
- Inventory (free). List every flow that calls a model: workflows, agents, AI features. Give each one's inputs, its expected output contract, and how it is triggered. State the denominator.
- Fixtures. For each flow, build a realistic input from the feature's own sample data. Never invent personal data that looks real.
- Dry run (free). Instantiate each flow with a mock or no-op model to catch wiring and fixture gaps before spending anything.
- Live run (approved). Run each flow on the user's chosen vendor and models. Record for each run: the flow, model, credential name, duration, the run's own final status, and any output that failed validation.
Classify each result:
Outcome Meaning pass The app accepted the model's output, and the flow reached its end app-bug The app rejected valid output, or crashed (file it) contract-gap The model produced what the prompt asked for, but the validator refused it: prompt and schema disagree (see {{skill:ai-exchange}})vendor-refusal The vendor declined (safety, policy, unsupported feature) quota Rate limit or quota. This says nothing about the app not-exercised Stopped at an external side effect, by design Tracker. Keep
docs/LIVE-QUALIFICATION.md:- a summary;
- one results table per run, newest first, dated, with the models used;
- open failures, and the resume point of any interrupted run;
- flows not yet qualified.
Re-runs add to it; they never start it over.
- Report. For example: "qualified N of M flows on
<model>(<date>)", the failures by class, and what has still never run live.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

