Help us improve
Share bugs, ideas, or general feedback.
From agile-v-skills
Prevents common LLM coding anti-patterns (overcomplication, silent assumptions, scope creep) with Agile V traceability guidelines. Halts on ambiguous requirements, logs decisions, and enforces simplicity per REQ scope.
npx claudepluginhub agile-v/agile_v_skills --plugin agile-v-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/agile-v-skills:agile-v-behavioralThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Anti-pattern prevention for Agile V agents. Combines proven behavioral guidelines with Agile V traceability to prevent common LLM failures.
Provides foundational values, directives, and context engineering rules for Agile V agents. Load first in any Agile V session to enforce traceability, validation, and compliance in development workflows.
Guides AI as a disciplined coding partner for features, bugs, systems, refactoring. Human provides vision/decisions; AI executes with transparency, understanding, craftsmanship.
Guides AI agents through a gated Spec → Plan → Build → Test → Review → Ship lifecycle for multi-file features, refactors, and new projects.
Share bugs, ideas, or general feedback.
Anti-pattern prevention for Agile V agents. Combines proven behavioral guidelines with Agile V traceability to prevent common LLM failures.
Companion skill: Load agile-v-core first. This skill extends core directives with behavioral safeguards.
Tradeoff: These guidelines bias toward caution and clarity over speed. For trivial single-REQ implementations, use judgment.
Don't assume. Don't hide confusion. Surface tradeoffs. Document decisions.
DECISION_LOG.md entry with timestamp, rationale, alternatives consideredExample:
REQ-0042: "Improve error handling"
❌ Don't: Silently add try/catch blocks everywhere
✅ Do: Halt and ask:
- "Improve" how? (user-facing messages? logging? retry logic?)
- Which error scenarios? (network? validation? unexpected data?)
- What's acceptable error UX? (fail silently? show message? redirect?)
Then log decision:
DECISION: Add validation error handling with user-facing messages
RATIONALE: User reported confusing silent failures on form submission
LINKED_REQ: REQ-0042 (refined to REQ-0042a: validation error UX)
Minimum code that satisfies REQ acceptance criteria. Nothing speculative.
Ask yourself: "Would a senior engineer call this overcomplicated?" If yes, simplify.
ART-XXXX links to exactly one REQ-XXXX. If code doesn't map to REQ acceptance criteria, it's out of scope.Example:
# ❌ Over-engineered for single REQ
# REQ-0010: Calculate 10% discount on orders over $100
class DiscountStrategy(ABC):
@abstractmethod
def calculate(self, amount: float) -> float: pass
class PercentageDiscount(DiscountStrategy): ...
class TieredDiscount(DiscountStrategy): ...
class ConfigurableDiscountEngine: ...
# ✅ Simple, traceable to REQ-0010
# ART-0010: Discount calculation
# Implements: REQ-0010 (10% discount on orders >$100)
def calculate_discount(order_total):
"""REQ-0010: 10% discount for orders over $100."""
if order_total > 100:
return order_total * 0.10
return 0.0
When abstraction IS warranted:
REQ-0010 (discount), REQ-0015 (shipping calc), REQ-0020 (tax calc) all need pricing rules → abstraction justified. Document in Decision Log.Touch only what changed REQs require. Clean up only your own mess.
new or modified REQs or active CRsThe Test: Every changed line should trace directly to a REQ-XXXX or CR-XXXX. If not, revert it.
Example:
Cycle 2: CR-0005 requires changing password validation (REQ-0002)
# ❌ Scope creep
def validate_password(password):
# Changed per CR-0005
if len(password) > 128:
return False, "Max 128 chars"
# UNRELATED: Reformatted entire function, fixed typo in adjacent comment,
# "improved" variable naming in unrelated login() function
# ✅ Surgical
def validate_password(password):
# CR-0005: Add max length validation
if len(password) > 128:
return False, "Password must be 128 characters or less"
# (rest of function unchanged)
Transform REQ acceptance criteria into TC-XXXX. Success = TC passes, not "code runs."
Every REQ acceptance criterion becomes a test case:
TC-XXXX: Invalid inputs rejected with specific error messagesTC-XXXX: Reproduce bug, verify fix, ensure no regressionTC-XXXX: All existing tests pass before and afterFor Multi-Step Synthesis: State a brief plan with verification checkpoints:
REQ-0025: User profile update with avatar upload
Build Plan:
1. Create upload endpoint → verify: TC-0025-01 (accepts valid image)
2. Add image validation → verify: TC-0025-02 (rejects invalid files)
3. Save to storage → verify: TC-0025-03 (file persisted, URL returned)
4. Update user record → verify: TC-0025-04 (DB reflects new avatar)
5. Integration test → verify: TC-0025-05 (end-to-end flow)
Weak vs Strong Success Criteria:
| Weak (avoid) | Strong (use) |
|---|---|
| "Make it work" | "TC-0025-01 passes: Valid JPEG upload returns 200 + URL" |
| "Add tests" | "TC-0025-02: Rejects files >5MB with 413 error" |
| "Improve performance" | "TC-0025-06: Upload completes in <2s for 1MB file" |
Strong criteria enable independent Red Team verification and auto-fix loops without constant clarification.
Before marking artifact complete, verify:
# ART-XXXX: ... | Implements: REQ-XXXX presentAgile V Behavioral is active if you see:
✅ Fewer unnecessary changes in diffs (surgical changes working) ✅ Clarifying questions come before implementation, not after mistakes (Think Before Coding working) ✅ Minimal code that satisfies REQ (Simplicity First working) ✅ Strong test coverage from requirements (Goal-Driven Execution working) ✅ Decision Log captures interpretation choices (Agile V + behavioral integration working)
If Red Team Verifier finds issues Build Agent should have caught (e.g., overcomplicated abstractions for single REQ, silent assumptions about constraints), this skill needs stronger enforcement.
Always load with:
agile-v-core (foundation)build-agent or domain-specific build agentsEspecially useful for:
License: CC-BY-SA-4.0 | Author: Agile V™
Adapted from: Karpathy Skills (MIT License) | Homepage: https://github.com/Agile-V/agile_v_skills