agentleFS
aeonfunaeonfun/aeon/skills/create-prove/SKILL.md

create-prove

Skill785 starsChanged 12 days agoMITView on GitHub

Run a changed Aeon skill for real and attach SHA-bound behavioral evidence to its PR

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 3 are distinctive, and 5 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.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Very specific:

    Never prove create-prove by recursively dispatching itself.

    line 26
  2. Very specific:

    Read the PR through gh api.

    line 31
  3. Very specific:

    Wait up to 30 minutes. Require status=completed and conclusion=success.

    line 46
  4. Distinctive:

    Never treat CI checks, source inspection, or the prior review receipt as behavioral evidence.

    line 58
  5. Very specific:

    Never post a proven receipt for a failed, cancelled, timed-out, stale, empty-output, unsupported, or unsafe run.

    line 59
  6. Distinctive:

    Do not merge, close, approve, or modify the target PR.

    line 60
  7. Distinctive:

    Do not commit repository files.

    line 61
  8. Very specific:

    Use gh for every GitHub read, dispatch, log fetch, and PR comment.

    line 65

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

${var} - Required immutable target in the form owner/repo#pr@40-character-lowercase-sha.

Today is ${today}. Prove the behavior of one Aeon-shaped change by running the changed skill through the target repository's real aeon.yml workflow. A green diff review is not proof. A successful, correlated Actions run is proof.

Scope

This first implementation supports Aeon-shaped pull requests that change exactly one runnable skills/<slug>/SKILL.md. It does not launch conventional applications and it does not guess which skill represents a workflow-only or configuration-only change. Unsupported target shapes must fail closed without posting a proof receipt.

Never prove create-prove by recursively dispatching itself. Exit PROVE_UNSUPPORTED instead.

Steps

  1. Parse ${var} into target=owner/repo#pr and expected_sha. Reject any value outside the exact grammar above with PROVE_INVALID_TARGET.
  2. Read the PR through gh api. Require all of the following:
    • the PR is open;
    • its current head.sha equals expected_sha;
    • its head branch belongs to the same repository, because gh workflow run --ref cannot execute an untrusted fork branch in the base repository;
    • exactly one changed path matches skills/<slug>/SKILL.md;
    • the slug is not create-prove. Any mismatch exits PROVE_UNSUPPORTED or PROVE_STALE without a receipt.
  3. Inspect the changed skill's frontmatter and instructions. Choose the smallest real, non-destructive variable that exercises the changed behavior. If no safe real invocation exists, exit PROVE_UNSAFE rather than inventing evidence. Do not use synthetic credentials or a dry-run mode.
  4. Dispatch the target branch's workflow by filename, with a unique correlation ID whose dispatch_id must start with the literal prefix prove- — .github/workflows/aeon.yml's commit-skip guard only recognizes that exact prefix to know this run is being proved, not a normal dispatch, and must not commit or push to the branch it's proving. Getting this prefix wrong silently defeats the immutable-head guarantee this whole skill exists to provide:
    dispatch_id="prove-${pr_number}-$(date -u +%Y%m%dT%H%M%SZ)-${RANDOM}"
    gh workflow run aeon.yml --repo "$repo" --ref "$head_branch" \
      -f skill="$skill" -f var="$proof_var" -f dispatch_id="$dispatch_id"
    Discover the run only by the exact correlated run title, using the same rule as chain-runner.yml. Never select merely the newest run for that skill.
  5. Wait up to 30 minutes. Require status=completed and conclusion=success. Fetch the run log and the captured skill output. Confirm the output is non-empty and does not contain _No output captured._. A successful Actions wrapper with no captured behavior is PROVE_MISSING_EVIDENCE.
  6. Re-read the PR and require its head SHA still equals expected_sha.
  7. Post one PR comment containing a concise description of the exercised path, the run URL, a short output excerpt, and exactly one final machine receipt:
    <!-- aeon-proof:{"schema":1,"target":"owner/repo#N","sha":"<sha>","kind":"aeon-skill","skill":"<slug>","evidence_run_id":123,"evidence_url":"https://github.com/owner/repo/actions/runs/123","verdict":"proven"} -->
    Construct the JSON with jq -cn, then render it on one line. Do not post the receipt until every gate above passes.
  8. End with the target, skill, run ID, run URL, and PROVE_VERDICT=proven in the captured output.

Constraints

  • The proof run must execute the PR head branch, not main.
  • Never treat CI checks, source inspection, or the prior review receipt as behavioral evidence.
  • Never post a proven receipt for a failed, cancelled, timed-out, stale, empty-output, unsupported, or unsafe run.
  • Do not merge, close, approve, or modify the target PR.
  • Do not commit repository files.

Network note

Use gh for every GitHub read, dispatch, log fetch, and PR comment. Authentication is provided by the workflow. Never print tokens or place secret values on a command line.

Log

Append the result to memory/logs/${today}.md under ### create-prove, including the target, SHA, selected skill, evidence run ID, and terminal verdict. The workflow may persist the captured output on your behalf.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

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.