Agent skill · Security

harness-drift-from-history

One-command drift detection. Composes audit-list + oia-audit + audit-trend into a single primitive — finds the most recent audit in `metaharness-audit` namespace, runs a fresh audit against the current repo, diffs them via ADR-152 §3.1 similarity, and alerts when structural distance crosses `--threshold`. Iter 53 of ADR-150 deep integration.

rUv71,307★ · +1,002/wk · 3 repos on radarProfile →
claude-codecodexcan modify filesMIT
Install
npx skills add ruvnet/ruflo --skill harness-drift-from-history --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 2 KB
Bundled scripts: none
Allowed tools: Bash
Path: plugins/ruflo-metaharness/skills/harness-drift-from-history/SKILL.md
Open the folder on GitHub →
Where it comes from
Source: ruvnet/ruflo
Stars: 67,015 · +629 this week
Language: TypeScript
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

The natural ops question after running `oia-audit` weekly is "did anything drift?" Before this skill, the answer required a three-step sequence: ```bash npx ruflo metaharness audit-list --format json # → pick a key by hand npx ruflo metaharness oia-audit --format json > /tmp/curr.json npx ruflo metaharness audit-trend \ --baseline-key <picked-key> --current /tmp/curr.json \ --alert-on-distance-below 0.95 ``` This skill collapses it into one command: ```bash npx ruflo metaharness drift-from-history --threshold 0.95 ``` ## What it does 1. Lists records from `metaharness-audit` namespace via audit-list.mjs 2. Picks the most recent record by `startedAt` (or `--baseline-since 7d` skips anything newer than 7 days) 3. Runs a fresh `oia-audit` against the current path 4. Diffs the two via audit-trend, applying `--alert-on-distance-below ${threshold}` 5. Returns the structured drift report ## Architectural constraint inheritance (ADR-150) | Constraint | How drift-from-history satisfies it | |---|---| | Removable | Pure subprocess composition over existing scripts — no new `@metaharness/*` import | | Optional | If oia-audit reports `degraded:true`, this skill exits 3 with a degraded payload

What's inside
Steps it walks through
  1. What it does
  2. Architectural constraint inheritance (ADR-150)
  3. Exit codes
  4. Example
  5. Implementation
Commands it runs
npx ruflo metaharness audit-list --format json   # → pick a key by hand
npx ruflo metaharness oia-audit --format json > /tmp/curr.json
npx ruflo metaharness audit-trend \
npx ruflo metaharness drift-from-history --threshold 0.95
drift-from-history
Structural similarity: 1 (near-identical)
More from ruflo
All skills →
About this skill
What does the harness-drift-from-history skill do?

One-command drift detection. Composes audit-list + oia-audit + audit-trend into a single primitive — finds the most recent audit in `metaharness-audit` namespace, runs a fresh audit against the current repo, diffs them via ADR-152 §3.1 similarity, and alerts when structural distance crosses `--threshold`. Iter 53 of ADR-150 deep integration.

How do I install it?

Run `npx skills add ruvnet/ruflo --skill harness-drift-from-history --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From ruvnet/ruflo, a repository with 67,015 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going