ADE proof and artifacts
SkillMediaThis skill lets your AI capture proof of its work, such as screenshots, video, test evidence, and recordings of on-screen actions, and file it in ADE's proof drawer. Instead of taking the AI's word for what it did, you get artifacts you can review yourself. It is made for use with ADE, where the proof drawer collects everything that is captured.
Available today. Use it from your connected AI after setup.
No other account needed.
After adding the skill, ask your AI for proof of a task, such as a screenshot or test evidence. What it captures will appear in ADE's proof drawer.
Then ask your AI: use the ADE proof and artifacts skill
What your AI can do with it
- Capture screenshots as evidence of completed work
- Record video of what happened during a task
- Save test evidence alongside the work it verifies
- Capture computer-use sessions so you can see each action the AI took
- Collect all captured artifacts in ADE's proof drawer
- Produce proof whenever you ask for evidence of a task
What this skill tells your AI
The instructions your AI receives, as published by arul28/ade in apps/desktop/resources/agent-skills/ade-proof-artifacts/SKILL.md and read by ahel’s review.
Rule
When the user asks to capture, send, attach, or provide proof, create evidence with the relevant tool, then register it through ADE so it appears in the proof drawer for the active chat or lane.
Attach, then confirm. A filing command is not done until you have read its
confirmation. Run the attach, check that the last line says
Attached 1 artifact to lane <id> / chat <id> (<title>), then run
ade proof list --text and see the row. If the output contains failed, or the
list does not show it, the drawer is empty — fix it now rather than reporting
proof you did not file.
Commands
ade proof attach "$TMPDIR/checkout.png" --caption "Checkout completes" --text
ade proof list --text # confirm the row is there
ade proof status --text
ade proof capture --caption "Checkout confirmation visible" --text
ade proof record --seconds 20 --caption "Retry flow recovers" --text
ade --socket browser proof --tab <tab-id> --caption "Verified" --text
ade --socket browser proof --browser-session <session-id> --caption "Verified" --text
ade help proof
Where the file may live
attach/ingest only import from these roots: the project root, the lane
worktree, .ade/artifacts, .ade/cache, .ade/tmp, the OS temp dir
($TMPDIR, which on macOS resolves under /var/folders), the conventional temp
dir /tmp (/private/tmp on macOS), and ~/.agent-browser. Anywhere else —
~/Desktop, ~/Downloads — is rejected; copy the file into one of the roots
first. .ade/secrets is denied even though it sits inside the project root, and
both sides of that check are resolved through symlinks, so a link pointing into
it is refused too.
Which directory the call claims
You do not have to be standing in the lane worktree. ADE_WORKSPACE_ROOT (the
lane worktree) beats the shell cwd, and with only ADE_LANE_ID set the runtime
resolves the worktree itself. If a call is still refused, the error names the
path used, where it came from (cwd vs env …), and the authorized root — read
those three before retrying.
Confirming it landed
attach, capture, ingest, and record re-read the record they filed and,
with --text, end with:
Attached 1 artifact to lane improving-browser-4bb19b3f / chat 8f3c2a11 (Checkout completes)
They exit 0 only when that record exists. Any failure exits non-zero and prints
one line containing failed, e.g.
ade: proof attach failed — Artifact path is outside allowed import roots: ….
ade proof list --text names the scope it listed and carries an owner column,
so you can see whether you are looking at your own lane and chat.
What counts as proof — and what does not
Only a proof-named command files a drawer entry. Taking a screenshot is not the same as filing proof:
ade proof capture --caption "…",ade proof record,ade proof attach <path> --caption "…", andade browser proofdo file.- A bare
screenshot_environment/record_environmentcall does not — it hands you a scratch file path for your own look at the screen. Promote one withade proof attach <that path> --caption "…"when a reviewer should see it. (There is nocaptureScreenshottool; if you have seen it named somewhere, it does not exist and calling it fails.)
Artifacts worth filing:
- Screenshot or video of the UI state.
- App Control, iOS Simulator, or ADE browser capture.
- Test output or log bundle when visual proof is not the right artifact.
Gotchas
- Do not leave proof as an unregistered local file when the user expects ADE to show it.
- Do not report "proof attached" from a command whose output you did not read. Six attaches in a row once failed silently in a loop; the confirmation line and
ade proof list --textare the check that catches it. - Browser observations are scratch state, not proof; promote only reviewer-facing checkpoints with
ade --socket browser proof ...orade proof attach. The ade-browser skill documents where those scratch files live and how aggressively they prune. - Include enough context in the artifact name/description to understand what was verified.
Signals
- GitHub stars
- 105
- Forks
- 12
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
ade-proof-artifacts- Source
- github.com/arul28/ade