---
name: daily-coding
description: Use for everyday coding tasks that involve writing or modifying source code.
version: 1.0.0
tags: [Coding, Daily, Checklist]
---

# Daily Coding Checklist

A minimal coding quality assurance checklist ensuring every code modification follows best practices.

## When to Use

Use this skill for:
- Implementing new features
- Adding code or modifying existing code
- User requests like "write a...", "implement...", "add...", or "modify..."
- Any coding task that involves Edit or Write tools

## When Not to Use

Do not use this skill for:
- Pure reading or understanding tasks with no modification intent
- Work already covered by specialized skills such as `bug-detective`, `architecture-design`, or `verification-loop`
- Configuration-only changes
- Documentation-only writing

## Core Checklist

### Before Starting

- [ ] **Read before modify** - Must read target file with Read tool before making changes
- [ ] **Understand context** - Confirm understanding of existing code logic and design intent

### During Coding

- [ ] **Minimal changes** - Only change what's necessary, no over-engineering, no unrelated features
- [ ] **Type safety** - Add type hints for Python, avoid `any` in TypeScript
- [ ] **Security check** - Avoid command injection, XSS, SQL injection vulnerabilities

### After Completion

- [ ] **Verify execution** - Ensure code runs correctly with no syntax errors
- [ ] **Clean up** - Remove print/console.log debug statements and temporary files
- [ ] **Brief summary** - Inform user what was changed and the scope of impact

## Quick Reference

### Common Mistakes to Avoid

```python
# ❌ Don't
def process(data=[]):  # Mutable default argument
    pass

# ✅ Should
def process(data: list | None = None):
    data = data or []
```

```python
# ❌ Don't
except:  # Bare except
    pass

# ✅ Should
except ValueError as e:
    logger.error(f"Processing failed: {e}")
    raise
```

### Security Check Points

- User input must be validated/escaped
- Use pathlib for file paths, avoid path traversal
- Never hardcode sensitive info (API keys, passwords)
