Core engineering standards for implementation. TRIGGERS - error handling, constants management, progress logging, code quality.
View on GitHubFebruary 5, 2026
Select agents to install to:
npx add-skill https://github.com/terrylica/cc-skills/blob/main/plugins/itp/skills/impl-standards/SKILL.md -a claude-code --skill impl-standardsInstallation paths:
.claude/skills/impl-standards/# Implementation Standards
Apply these standards during implementation to ensure consistent, maintainable code.
## When to Use This Skill
- During `/itp:go` Phase 1
- When writing new production code
- User mentions "error handling", "constants", "magic numbers", "progress logging"
- Before release to verify code quality
## Quick Reference
| Standard | Rule |
| ---------------- | ------------------------------------------------------------------------ |
| **Errors** | Raise + propagate; no fallback/default/retry/silent |
| **Constants** | Abstract magic numbers into semantic, version-agnostic dynamic constants |
| **Dependencies** | Prefer OSS libs over custom code; no backward-compatibility needed |
| **Progress** | Operations >1min: log status every 15-60s |
| **Logs** | `logs/{adr-id}-YYYYMMDD_HHMMSS.log` (nohup) |
| **Metadata** | Optional: `catalog-info.yaml` for service discovery |
---
## Error Handling
**Core Rule**: Raise + propagate; no fallback/default/retry/silent
```python
# ✅ Correct - raise with context
def fetch_data(url: str) -> dict:
response = requests.get(url)
if response.status_code != 200:
raise APIError(f"Failed to fetch {url}: {response.status_code}")
return response.json()
# ❌ Wrong - silent catch
try:
result = fetch_data()
except Exception:
pass # Error hidden
```
See [Error Handling Reference](./references/error-handling.md) for detailed patterns.
---
## Constants Management
**Core Rule**: Abstract magic numbers into semantic constants
```python
# ✅ Correct - named constant
DEFAULT_API_TIMEOUT_SECONDS = 30
response = requests.get(url, timeout=DEFAULT_API_TIMEOUT_SECONDS)
# ❌ Wrong - magic number
response = requests.get(url, timeout=30)
```
See [Constants Management Reference](./references/c