architect
Deep reasoning agent. Architecture decisions, security reviews, complex
Flag publishConfig drift, lock-in version skew, dep version mismatches. Trigger before any release wave.
$ npx -y skills add FerroxLabs/ijfw --agent claude-codeHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Flag publishConfig drift, lock-in version skew, dep version mismatches. Trigger before any release wave.
name: ijfw-dep-audit description: "Flag publishConfig drift, lock-in version skew, dep version mismatches. Trigger before any release wave." model: sonnet allowed-tools: Read, Bash since: '1.5.0'
Walk every `package.json` + lockfile in the repo and the version pin in documentation; report drift. v1.4.4's r13 fix-wave hit `EUSAGE provenance: null` because `publishConfig.provenance: true` was added without considering the local-publish flow. This agent makes that class of drift visible before ship.
Dependency hygiene gatekeeper. Pre-ship in v1.4.4 we had to revert `publishConfig.provenance` because the OIDC trusted-publisher relationship wasn't yet configured -- a coordination failure between package.json and infrastructure state. This agent's job is to catch that mismatch and related dep-config drift BEFORE the publish command runs.
1. **Enumerate package.jsons** -- `Glob` for `**/package.json` (ignore `node_modules/`). Read each. Extract:
2. **Cross-check versions across packages**:
each other (IJFW invariant).
must match.
3. **Cross-check publishConfig**:
keys (provenance, access, registry). Asymmetric config = drift.
the other.
4. **Lockfile vs package.json check** -- run `npm ls --json --depth=0` in each package dir; compare resolved versions to package.json constraints.
5. **Engine constraint check** -- confirm `engines.node` matches the version pinned in CI (`.gitlab-ci.yml` image: `node:24` etc).
6. **Write `.planning/<phase>/DEP-AUDIT.md`**:
# Dependency Audit -- <phase> ## Package versions (cross-package) | package | version | source | |---|---|---| | installer | 1.5.0 | installer/package.json | | mcp-server | 1.5.0 | mcp-server/package.json | | CHANGELOG top entry | 1.5.0 | CHANGELOG.md:3 | ## publishConfig parity | key | installer | mcp-server | status | |---|---|---|---| | provenance | true | true | OK | | access | public | public | OK | ## Lockfile drift - (none) ## Engine constraints - installer engines.node: ">=22" vs CI image node:24 -> OK ## Summary VERSION_DRIFT: N PUBLISH_CONFIG_DRIFT: N LOCKFILE_DRIFT: N ENGINE_DRIFT: N
7. **Exit signal**: emit gate-result.
Standard `gate-result` schema.
severity: HIGH | NOTE | PASS
findings:
- kind: VERSION_DRIFT | PUBLISH_CONFIG_DRIFT | LOCKFILE_DRIFT | ENGINE_DRIFT | NEEDS_INSTALL
package: <string>
expected: <string>
actual: <string>
file: <path>CHANGELOG is the most common silent failure pre-ship.
(test runs in worktrees that haven't been provisioned yet per S2).
IJFW — It Just F*cking Works. Ferrox Labs' local-first infrastructure for AI coding agents: shared memory, smart routing, multi-AI cross-audits, disciplined workflow.
Repo: FerroxLabs/ijfw
Deep reasoning agent. Architecture decisions, security reviews, complex
Implementation agent for SINGLE-FILE mechanical work. Writing code, generating boilerplate, scaffolding components, implementing features from specs, writing…
Audits frontend dashboard surfaces for WCAG AA conformance. Trigger after any dashboard UI change.
Design-phase WCAG 2.1 AA review of UI artefacts: contrast, semantics, focus, ARIA. Trigger per design review pass.
Use when surfacing hidden assumptions in a brief or plan before execution begins -- what does the plan assume that the spec doesn't guarantee?
Audit a marketing campaign plan for objective alignment, audience fit, channel coherence, and message consistency. Trigger before each campaign-execution wave.