fluxloop-prompt-compare — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited fluxloop-prompt-compare (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Same Bundle × N Repeats × Version Diff — freeze inputs via bundle, automate repeated runs, compare outputs.
📎 All user-facing output must follow: read skills/_shared/OUTPUT_FORMAT.md
fluxloop context show → confirm project + scenario exist.fluxloop/test-memory/ check:agent-profile.md, results-log.mdfluxloop test --scenario (×2 runs)prompt-versions.md, append to results-log.mdprompt-versions.md and results-log.md are current📎 Full protocol: read skills/_shared/CONTEXT_PROTOCOL.md 📎 Stale detection: read skills/_shared/CONTEXT_COLLECTION.md
Run fluxloop context show first:
fluxloop context show
ls .fluxloop/scenarios| State | Action |
|---|---|
| No scenario | → "Start with 'create a scenario' (scenario skill)" |
| Scenario exists | → Phase 1 |
test-memory read:
.fluxloop/test-memory/agent-profile.md:git_commit from metadata → compare with git rev-parse --short HEAD_shared/CONTEXT_COLLECTION.md inline.fluxloop/test-memory/results-log.md:📎 Stale detection: read skills/_shared/CONTEXT_COLLECTION.md
📎 Bundle selection: read skills/_shared/BUNDLE_DECISION.md (simplified flow for comparison tests)
fluxloop bundles list --scenario-id <scenario_id> --format jsonTip: For comparison tests, 1-3 inputs are usually enough. When creating new data, use --total-count 2 for a small bundle.Key info to display: version/name, tag/description, input count, created date
After bundle selected/created:
fluxloop sync pull --bundle-version-id <bundle_version_id>This bundle stays fixed throughout all comparison runs. Record the bundle_version_id for reuse.Ask the user:
💡 Repeats: Measures response consistency (stability) by running the same input multiple times. More repeats produce statistically more reliable comparisons.
1. Number of repeats? (default: 5)
2. Multi-turn? (default: single-turn) → if yes, also confirm max turns
3. Current prompt version label? (e.g., "v3", "current version")Set iterations in configs/simulation.yaml:
iterations: 5 # user-specified countRead existing simulation.yaml first. Only modify iterations, preserve all other fields.📎 Staging environment: read skills/_shared/STAGING.md
git diff HEADRecord the diff output — this captures the current code state before the run.
# Single-turn (default)
fluxloop test --scenario <name>
# Multi-turn
! fluxloop test --scenario <name> --multi-turn --max-turns <N>⚠️ Multi-turn requires ! prefix. 📎 Multi-turn rules: read skills/_shared/MULTITURN.mdAfter completion:
experiment_A.fluxloop/test-memory/prompt-versions.md:✅ Baseline → exp_<timestamp> (label: "v3", N runs) 🔗 https://alpha.app.fluxloop.ai/release/experiments/{experiment_id}/evaluation?project={project_id}
Please update the prompt.
Let me know when you're done, and share the new version label (e.g., "v4").Wait for user confirmation. Do NOT modify any code yourself.
git diff HEADThis shows exactly what the user changed between versions. Record for the comparison report.
Same bundle, same inputs — only the prompt changed.
# Single-turn
fluxloop test --scenario <name>
# Multi-turn (same settings as baseline)
! fluxloop test --scenario <name> --multi-turn --max-turns <N>No need to sync pull again. The bundle is already pulled locally. 📎 Multi-turn rules: read skills/_shared/MULTITURN.mdAfter completion:
experiment_B.fluxloop/test-memory/prompt-versions.md:.fluxloop/test-memory/results-log.md✅ Variant → exp_<timestamp> (label: "v4", N runs) 🔗 https://alpha.app.fluxloop.ai/release/experiments/{experiment_id}/evaluation?project={project_id}
Read both experiment trace files:
.fluxloop/scenarios/<name>/experiments/<exp_A>/trace_summary.jsonl
.fluxloop/scenarios/<name>/experiments/<exp_B>/trace_summary.jsonl📎 Trace structure & analysis formats: read this file's references/analysis-metrics.md
Generate a comparison report with these sections:
#### 1) Prompt Changes (git diff summary)
## Prompt Changes ({version_A} -> {version_B})
- [Summary of changed files and key edits]#### 2) Per-Input Analysis
Group traces by input field, then compare across versions. Use the Per-Input Analysis Format from references/analysis-metrics.md.
#### 3) Overall Summary
Use the Overall Summary Table Format from references/analysis-metrics.md.
After analysis:
.fluxloop/test-memory/results-log.md:.fluxloop/test-memory/prompt-versions.md:Choose one:
1. Additional comparison — update prompt again and compare (-> Phase 4)
2. Server evaluation — run detailed analysis with `fluxloop evaluate`
3. Done💡 Experiment URLs are already provided in Phase 3 and 5 outputs. Refer to those outputs to review them.
If "Additional comparison": loop back to Phase 4 (same bundle reused). If "Server evaluation":
fluxloop evaluate --experiment-id <exp_B_id> --wait| Error | Response |
|---|---|
| No scenario exists | "Start with 'create a scenario' (scenario skill)" |
| No bundle available | Guide to bundle creation (Phase 1) |
| Baseline run fails | Check wrapper setup, API key, network. Resolve before continuing. |
| Variant run fails | Same check. Do NOT compare partial results. |
| trace_summary.jsonl missing | Check experiment directory. Re-run if needed. |
| Different input counts between A/B | This should not happen (same bundle). Verify bundle_version_id. |
| Profile stale (git_commit mismatch) | Offer inline update via _shared/CONTEXT_COLLECTION.md |
Comparison done. Available next actions:
| Step | Command |
|---|---|
| Check | fluxloop context show |
| Bundle | fluxloop bundles list --scenario-id <id> |
| Pull | fluxloop sync pull --bundle-version-id <id> |
| Run | fluxloop test --scenario <name> |
| Evaluate | fluxloop evaluate --experiment-id <id> --wait |
📎 Full CLI reference: read skills/_shared/QUICK_REFERENCE.md
inputs synthesize or select from existing, never write base_inputs manually--total-count 2 when generating new inputs for comparisonprompt-versions.md and results to results-log.md alongside server actions~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.