construction-agent
You are the **Construction Agent** for AI-DLC (AI-Driven Development Life Cycle).
This reference defines the criteria for determining whether an issue can be auto-fixed or requires user confirmation.
$ npx -y skills add fabriqaai/specs.md --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.
This reference defines the criteria for determining whether an issue can be auto-fixed or requires user confirmation.
This reference defines the criteria for determining whether an issue can be auto-fixed or requires user confirmation.
---
CAN AUTO-FIX if ALL of these are true: ├── Change is mechanical (not semantic) ├── Change follows existing pattern in codebase ├── Change has no functional impact ├── Change is universally agreed best practice ├── Reverting is trivial if wrong └── Tests will still pass (verified after fix) MUST CONFIRM if ANY of these are true: ├── Change affects behavior/functionality ├── Change requires judgment call ├── Change involves security implications ├── Change affects public API ├── Multiple valid approaches exist ├── Change is significant (>10 lines affected) └── Change could break dependent code
---
These can be auto-fixed because removal of unused code has no functional impact:
| Operation | Criteria | Safe Because | |-----------|----------|--------------| | Remove unused import | Import not referenced anywhere | No runtime effect | | Remove unused variable | Variable never read | No runtime effect | | Remove console.log | Debug statement | No production effect | | Remove console.debug | Debug statement | No production effect | | Remove debugger | Debug statement | No production effect | | Remove trailing whitespace | Whitespace only | No code effect | | Remove empty lines (excess) | >2 consecutive blank lines | Formatting only |
These can be auto-fixed because they don't change semantics:
| Operation | Criteria | Safe Because | |-----------|----------|--------------| | Sort imports | Reorder import statements | No runtime effect | | Standardize quotes | Use project's quote style | String value unchanged | | Add missing semicolons | Project uses semicolons | Parser handles both | | Fix indentation | Match project indent style | Whitespace only | | Add trailing newline | File doesn't end with newline | POSIX standard |
These can be auto-fixed but require test verification:
| Operation | Criteria | Verify | |-----------|----------|--------| | `var` → `const` | Variable never reassigned | Run tests | | `var` → `let` | Variable is reassigned | Run tests | | `==` → `===` | Comparing same types | Run tests | | `!=` → `!==` | Comparing same types | Run tests |
---
Any change that could affect runtime behavior:
| Change | Why Confirm | |--------|-------------| | Add null check | Changes control flow | | Add try/catch | Changes error handling | | Add validation | May reject valid input | | Change function signature | Affects callers | | Add/remove async | Changes execution model | | Modify return value | Affects callers |
All security-related changes require confirmation:
| Change | Why Confirm | |--------|-------------| | Add input validation | May have false positives | | Add authentication | May break intended access | | Add authorization | May be too restrictive | | Change crypto | May have compatibility issues | | Add rate limiting | May affect legitimate users |
Changes affecting code structure:
| Change | Why Confirm | |--------|-------------| | Extract function | Multiple valid ways | | Move code to different file | Affects imports | | Add abstraction layer | Judgment on necessity | | Change dependency injection | Affects instantiation | | Modify error propagation | Affects error handling chain |
Changes affecting many lines:
| Threshold | Action | |-----------|--------| | 1-5 lines | Can auto-fix if mechanical | | 6-10 lines | Prefer confirmation | | >10 lines | Must confirm |
---
If auto-fix causes test failure:
1. Immediately revert ALL auto-fix changes 2. Move the fix to CONFIRM category 3. Report: "Auto-fix for X caused test failure, moved to suggestions" 4. Continue with remaining auto-fixes 5. Re-run tests after each batch
---
The project can customize auto-fix behavior in `.specs-fire/standards/coding-standards.md`:
# In coding-standards.md frontmatter
auto_fix:
allow:
- unused_imports
- console_statements
- trailing_whitespace
deny:
- quote_style # Team prefers manual control
- semicolons # Mixed codebase
# Custom patterns to auto-remove
remove_patterns:
- "// TODO: remove"
- "// DEBUG"If `auto_fix` section exists, respect project preferences. If not specified, use default rules from this document.
---
**Before:**
import { unused } from './module'; // unused import
import { used } from './other';
function process() {
console.log('debug'); // debug statement
const result = used();
return result;
}**After (auto-fixed):**
import { used } from './other';
function process() {
const result = used();
return result;
}**Report:**
**Issue Detected:**
function getUser(id) {
return db.query(`SELECT * FROM users WHERE id = ${id}`);
}**Suggested Fix:**
function getUser(id) {
return db.query('SELECT * FROM users WHERE id = ?', [id]);
}**Why Confirm:**
AI-native development framework with pluggable flows for every use case. Choose the flow that matches your project needs: Ideation for creative brainstorming, Simple for quick specs, FIRE for adaptive execution, or AI-DLC for full methodology with DDD.
You are the **Construction Agent** for AI-DLC (AI-Driven Development Life Cycle).
You are the **Inception Agent** for AI-DLC (AI-Driven Development Life Cycle).
You are the **Master Orchestrator Agent** for AI-DLC (AI-Driven Development Life Cycle).
You are the **Operations Agent** for AI-DLC (AI-Driven Development Life Cycle).
You are the **Agent**, a specialist in spec-driven development. You guide users through the process of transforming feature ideas…
This reference defines what the code-review skill checks for in each category.