closed-loop-design
Design closed-loop prompts with Request-Validate-Resolve structure for reliable agentic workflows. Use when creating self-validating agents, adding feedback loops, or improving agent reliability through verification.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Closed Loop Design Skill
Guide for designing closed-loop prompts that ensure agent reliability through feedback loops.
When to Use
- Designing new agentic workflows
- Adding validation to existing processes
- Creating self-correcting agent pipelines
- Building automated test-fix cycles
Core Concept
Every agentic operation should follow the Request-Validate-Resolve pattern:
REQUEST → VALIDATE → RESOLVE
↑ ↓
└────────────────────┘
Design Workflow
Step 1: Identify the Operation
What task needs to be validated?
- Code changes (feature, bug fix, refactor)
- File operations (create, modify, delete)
- External interactions (API calls, database queries)
- Build/deploy operations
Step 2: Define Validation Mechanism
How do we know if it succeeded?
| Operation Type | Validation Mechanism |
|---|---|
| Code changes | Run tests, type check, lint |
| File operations | Verify file exists, check content |
| API interactions | Check response status, validate data |
| Build operations | Build succeeds, no errors |
Step 3: Design the Resolve Path
What happens on failure?
- Analyze: Parse error output to understand failure
- Fix: Make minimal, targeted corrections
- Re-validate: Run validation again
- Limit retries: Set maximum attempts (typically 3-5)
Step 4: Create the Prompt Structure
Template:
## Closed Loop: [Operation Name]
### Request
[Clear task description with success criteria]
### Validate
- Command: `[validation command]`
- Success: [what success looks like]
- Failure: [what failure looks like]
### Resolve (if validation fails)
1. Analyze the failure output
2. Identify root cause
3. Apply minimal fix
4. Return to Validate step
5. Maximum 3 retry attempts
Example: Test-Fix Loop
## Closed Loop: Implement Feature
### Request
Implement the user login feature according to spec.
### Validate
- Command: `pytest tests/test_auth.py -v`
- Success: All tests pass (exit code 0)
- Failure: One or more tests fail
### Resolve
1. Read failing test output
2. Identify which test failed and why
3. Fix the implementation (not the test)
4. Re-run pytest
5. Maximum 3 retry attempts
Common Closed Loop Patterns
Code Quality Loop
REQUEST: Write/modify code
VALIDATE: Lint + Type check + Tests
RESOLVE: Fix errors iteratively
Build Verification Loop
REQUEST: Make changes
VALIDATE: Full build succeeds
RESOLVE: Fix build errors
E2E Validation Loop
REQUEST: Implement user flow
VALIDATE: E2E test passes
RESOLVE: Fix failing steps
Best Practices
- Start with tests: If tests do not exist, consider adding them first
- Fast validation first: Run quick checks before slow ones
- Structured output: Use JSON for machine-parseable results
- Clear failure messages: Include context for resolution
- Bounded retries: Prevent infinite loops
Memory References
- @closed-loop-anatomy.md - Full pattern documentation
- @test-leverage-point.md - Why tests are ideal validators
- @validation-commands.md - Validation command patterns
Version History
- v1.0.0 (2025-12-26): Initial release
Last Updated
Date: 2025-12-26 Model: claude-opus-4-5-20251101
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-02-04
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!