Agent skill
brownfield-drift
Enforces architecture boundaries defined in PLAN.md. Use when a PR crosses module/service boundaries, when the dev asks "are we following the architecture?", or as a scheduled architecture health check. Not for querying what a module does — use brownfield-chat for that.
Install this agent skill to your Project
npx add-skill https://github.com/wednesday-solutions/ai-agent-skills/tree/main/skills/brownfield-drift
SKILL.md
When to use
- Dev asks "are we following the architecture?" or "is this a valid change?"
- PR touches files near module boundaries or service interfaces
- Weekly architecture health check
- Any cross-service import was just added
When NOT to use
- "What does module X do?" → use brownfield-chat
- "What breaks if I change X?" → use brownfield-chat
- Graph coverage is low on a file → use brownfield-fix (it fills gaps before editing)
- No PLAN.md exists — drift requires machine-readable boundaries in PLAN.md
What to do
- Run
wednesday-skills driftvia Bash tool - Report violations with:
- The specific edge that violates the rule
- The commit that introduced it (when available)
- The suggested fix per PLAN.md intent
- For PR reviews: run
wednesday-skills drift --since <base-commit>to only report new violations - For a single rule:
wednesday-skills drift --rule <rule-name>
Adding constraints to PLAN.md
If the project has no constraints block, add one to PLAN.md:
{
"boundaries": [
{
"rule": "frontend-never-imports-db",
"description": "Frontend components must never import DB layer directly",
"from": "src/app/**",
"to": "src/lib/db/**",
"type": "forbidden"
},
{
"rule": "no-circular-deps",
"description": "No circular dependencies anywhere",
"scope": "**",
"type": "no-cycle"
}
]
}
Violation types
| Type | What it catches |
|---|---|
forbidden |
Import from A → B that should never exist |
ownership |
Logic pattern appearing outside its designated owner |
no-direct-import |
Direct import between services that should use API |
no-cycle |
Circular dependency between modules |
Never
- Auto-fix boundary violations — always ask the dev first
- Flag existing violations on a PR that did not introduce them (use
--since) - Run on projects without machine-readable PLAN.md constraints
- Report the same violation twice in one review session
CLI reference
wednesday-skills drift # full check
wednesday-skills drift --rule frontend-never-imports-db # single rule
wednesday-skills drift --since abc1234 # new drift only (for PR review)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
wednesday-design
Design and UX guidelines for Wednesday Solutions projects. Covers visual design tokens, animation patterns, component standards, accessibility, and user experience best practices for React/Next.js applications. ENFORCES use of approved component libraries only.
brownfield-gaps
Improves graph coverage for a specific file with dynamic/unannotated patterns (event emitters, dynamic require, global injection). Use when dep-graph shows gaps on a file or when chat/query returns "not mapped". Not for querying — only for improving coverage.
onboard-dev-agent
Use when a dev is new to the project, asks for an overview, or wants to get oriented quickly. Fills graph gaps then runs a guided codebase interview.
pr-review-agent
Full PR review orchestrator. Use when asked to review a PR or check if it is ready to merge. Runs blast radius + drift check on changed files, then hands off to pr-review for comment triage and fixes. Do NOT use pr-review directly for full reviews — use this.
module-audit-agent
Use when asked to audit a module, check its health, or assess whether it should be refactored. Runs structural query, risk check, and test generation automatically.
deploy-checklist
Pre-deploy and post-deploy checklist skill. Ensures env vars, migrations, CI, rollback plan, smoke tests, and monitoring are verified before and after every deployment.
Didn't find tool you were looking for?