id-drift

id-drift is a skill for Claude Code, Codex from lukasrepublic/agentic-foundry. It costs 195 tokens per session (3,119 once invoked), scanned A, original, MIT.

A recurring read-only check that compares live infrastructure with the merged infrastructure code. It runs an OpenTofu plan, where an empty result means reality matches the code and a non-empty result identifies differences.

In plain words
What is it for?
Use it on a schedule or continuous cadence to monitor whether deployed resources still match the merged OpenTofu or Terraform configuration.
Why use it?
It detects infrastructure drift: changes in the live environment that are not reflected in the approved code. It reports the diverging resources without fixing them.

Skill for Claude CodeCodex

Part of the foundry plugin — 81 skills, 8 agents, 8 hooks, 1 MCP server shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/lukasrepublic/agentic-foundry/id-drift
Any agent
npx skills add lukasrepublic/agentic-foundry --skill id-drift
Clone the repo
git clone --depth 1 https://github.com/lukasrepublic/agentic-foundry

Made for: Claude Code, Codex.

Or install foundry, the plugin that ships this one along with the rest of its 81 skills, 8 agents, 8 hooks, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for id-drift

README.md
[![agentmods](https://agentmods.dev/badge/skills/lukasrepublic/agentic-foundry/id-drift.svg)](https://agentmods.dev/skills/lukasrepublic/agentic-foundry/id-drift)
Your own site
<a href="https://agentmods.dev/skills/lukasrepublic/agentic-foundry/id-drift"><img src="https://agentmods.dev/badge/skills/lukasrepublic/agentic-foundry/id-drift.svg" alt="Measured on agentmods" height="20"></a>
Per session 195 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,119 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00195 $0.03119
Opus 5 $0.00097 $0.01559
Sonnet 5 $0.00039 $0.00624
Haiku 4.5 $0.00019 $0.00312

Measured 5d ago against content hash a61a32603be0, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

id-drift scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/id-drift/SKILL.md · 152 lines

How it starts

The opening of the file, as written. The whole thing — 152 lines — stays where its author put it; the contents beside it link to each section on GitHub.

id-drift — the recurring drift sentinel (infra-delivery, post-spine)

The infra-delivery step sequence (a documented procedure this skill family forms — no workflow engine or state-machine file ships) drives an infra change → merge. After that spine, id-drift is the recurring step — a forever drift sentinel that re-runs the empty-plan seam (tofu plan == ∅) on a cadence (continuous and/or scheduled) to compare reality vs the merged IaC. It is the cadence-generalization of id-baseline: id-baseline proves drift-free once (at adoption); id-drift proves it forever (on every tick). The empty plan doubles as the forever drift check.

To detect drift it runs a read-only tofu plan — the active stack profile's infra_binding.plan command. It then reads the per-resource plan delta from the BUILT canonical parser foundry_plan_model.parse_actions_detail and frames the result:

  • The empty-plan seam (tofu plan == ∅, actions_detail == []) ⇒ DRIFT-FREE — reality equals the merged IaC.
  • The DRIFT (non-empty-plan) branch (actions_detail != []) ⇒ DRIFT — surface the diverging resources (the parse_actions_detail per-resource actions_detail) and hand them to id-sync/id-rollback (the reconcile/revert consumers).

It NEVER auto-reconciles — detection is read-only; the operator (via id-sync/id-rollback) decides the fix. The same empty-plan predicate id-baseline/id-import accept on is REUSED — not a new bar.

The cadence/schedule itself is the native scheduler's concern (a wrap, like the learn-distill tick); id-drift is the per-tick PROCEDURE the schedule fires.

ADVISORY — not a gate, no machine-adjudicated GREEN verdict

This skill is ADVISORY. It produces a drift report + a .foundry/-partitioned drift step-report note; it does NOT gate, approve, or block any merge. id-drift OBSERVES drift recurringly — it is not a change being delivered through a merge process — so it does NOT claim a machine-adjudicated GREEN verdict (mirroring id-baseline/id-verify, which observe and are not-self-certified). The empty-plan-vs-DRIFT branch is an advisory read, not a frozen verdict: it frames a non-empty parse_actions_detail result as DRIFT — surfaced as an observation, never a machine-adjudicated GREEN. The both-modes floor is unchanged: front-authorization, the merge floor (the adopter's branch protection + CI checks — see docs/merge-floor.md) remains the merge authority, security review, typed contracts.

Read the full file on GitHub · 152 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 152 lines · 195 tokens per session scan A a61a32603be0

Subscribe to this mod's changes

id-drift is a skill published in the GitHub repository lukasrepublic/agentic-foundry (1 stars, last pushed today), licensed MIT. It adds 195 tokens to every session and 3,119 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

researcher

Delegate a deep research or survey task to Google's Antigravity CLI (agy staffer, fast Gemini). Use when the user says /agy:researcher, "ask agy to research", "have the agy staffer survey X", or wants a second, independent deep-dive on a topic or codebase without spending the host model's quota.

keli-wen/agy-staff · 75 tokens

OCR Review-to-Approval Loop

Drive a PR to an approved code review by looping OCR's multi-agent review and address steps. Runs /ocr:review then /ocr:address repeatedly until the review verdict is APPROVE, then one final /ocr:address for leftover suggestions, posting every review and every address round to the GitHub PR as comments. Use when the…

spencermarx/open-code-review · 178 tokens

outsystems-mcp

You are connected to OutSystems over the MCP HTTP transport. OutSystems is a cloud-native low-code platform where apps are built from OML (OutSystems Model Language), a binary format describing entities, screens, actions, and logic. Every tool call carries the harness's validated OAuth bearer; tenant + user identity…

OutSystems/outsystems-mcp · 0 tokens

writing-javascript

How browser JavaScript is written in this repo — both surfaces now speak one modern dialect and this says what that means for the code you type, where ES modules are impossible and where they are merely unused, and how to pick a feature (Baseline plus a file:// gate). Covers functional idiom over imperative DOM work…

AleksandarBisevac/claude-plugins · 163 tokens

writing-python

How Python is written in this repo — free functions over classes, structured returns instead of mutated arguments, comprehensions, no module state, and the stdlib-only, annotation-free, Python 3.8 dialect the AST lints enforce. Covers modular structure and the import-layer rule, DRY without copying a helper into a…

AleksandarBisevac/claude-plugins · 161 tokens

dora-expert

DORA expert for EU financial entities. Deep knowledge of Digital Operational Resilience Act including 5 pillars, ICT risk management, incident reporting, resilience testing, third-party oversight, and information sharing for financial sector digital resilience.

GRCEngClub/claude-grc-engineering · 49 tokens