Agent skill
smith-dev
Development workflow standards and code quality requirements. Use when initializing projects, running quality checks, or managing agent tasks. Covers pre-commit checks, task decomposition, and script organization patterns.
Install this agent skill to your Project
npx add-skill https://github.com/tianjianjiang/smith/tree/main/smith-dev
SKILL.md
Development Workflow Standards
- Scope: Development workflow standards and code quality requirements
- Load if: Initializing a new project
- Prerequisites: @smith-principles/SKILL.md, @smith-standards/SKILL.md
This document defines development workflow standards and code quality requirements.
CRITICAL (Primacy Zone)
- Committing without running formatters and linters
- Committing without running tests
- Creating PRs with failing quality checks
- Having more than ONE task in_progress simultaneously
Code Quality (MANDATORY)
- MUST run formatters and linters before commits (ideally after each file edit — use PostToolUse hooks when available, see
@smith-ctx-claude/SKILL.md) - MUST run tests before commits
- MUST fix all linting errors
Language-specific commands:
- Python: See
@smith-python/SKILL.md#action-recency-zone(supports Poetry and uv) - TypeScript/Frontend: See
@smith-typescript/SKILL.md
Agent-Assisted Development
For AI agent workflows: See @smith-guidance/SKILL.md for comprehensive patterns:
- Exploration workflow (Read → Ask → Propose → Implement)
- Debugging workflow (Reproduce → Analyze → Hypothesize → Test → Verify)
- AGENTS.md optimization for prompt caching
- Constitutional AI principles (HHH framework)
Agent Task Decomposition
Sweet spot: 3-5 high-level milestones, not micro-steps
- Tasks MUST focus on logical phases, be independently verifiable
- Exactly ONE task in_progress at any time
- Mark complete only after tests pass and changes committed
- Use git commits + todos for session bridging
Task states: pending → in_progress → completed
Dependencies: Note in task description (e.g., "depends on #1")
Pre-PR Quality Gates
Before creating a pull request:
- MUST run all formatters and linters (see language-specific skills)
- MUST run all tests
- MUST ensure branch is up-to-date with base branch
- MUST review your own changes first (
git diff)
See: @smith-gh-pr/SKILL.md - Pull request creation workflow
See: @smith-gh-cli/SKILL.md - GitHub-specific PR commands
Package Management
Python:
- Use package manager for dependency management (Poetry or uv)
- Local
.venvdirectories (project-local virtual environments) - Lock files:
poetry.lockoruv.lock(commit to version control)
Frontend:
- Use pnpm for dependency management
- Lock files:
pnpm-lock.yaml(commit to version control)
Script Organization
Directory Structure
Temporary analysis: debug_scripts/
- Quick explorations and debugging
- NOT committed to production
- Output files in
debug_scripts/outputs/
Production tools: cli/ or cli/prompt_engineering/
- Version-controlled utilities
- Team-accessible tools
- Production-ready quality
Script Migration
Migrate from debug_scripts/ → cli/ when:
- Used by multiple team members
- Has general applicability beyond debugging
- Provides reusable functionality
- Requires version control
Migration process:
- Copy to
cli/with enhanced functionality - Update documentation references
- Remove from
debug_scripts/after validation - Update tool documentation
- Inform team
Output Organization
Directory: debug_scripts/outputs/ (add to .gitignore)
Naming: [purpose]_[id]_[timestamp].json
Logging and Observability
Logging levels:
- DEBUG: Only when actively debugging
- WARNING: Default for external libraries (httpx, openai, fastapi)
- INFO: Application-level events
Configuration:
- Centralized controls in project documentation
- Test logging: Configure via
pytest.iniandpyproject.toml
Ralph Loop Integration
Milestones = Ralph iterations: Each phase boundary triggers quality gates.
See @smith-ralph/SKILL.md for full patterns.
- @smith-principles/SKILL.md - Fundamental coding principles
- @smith-standards/SKILL.md - Universal code standards
@smith-python/SKILL.md- Python-specific patterns@smith-tests/SKILL.md- Testing standards@smith-git/SKILL.md- Version control workflow@smith-gh-cli/SKILL.md- GitHub CLI operations@smith-style/SKILL.md- Naming conventions
ACTION (Recency Zone)
Before committing:
- Run formatters, linters, and tests (see
@smith-python/SKILL.mdor@smith-typescript/SKILL.md)
Task management:
- One task in_progress at a time
- Mark complete only after tests pass
- Commit frequently for session recovery
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
smith-style
File naming, path standards, and conventional commits. Use when naming files, creating branches, writing commit messages, or setting up new projects. Covers underscore vs hyphen conventions, commit format, and branch naming patterns.
smith-stacks
Stacked pull request workflows for large features. Use when creating stacked PRs, managing dependent PRs, or rebasing after parent merges. Covers stack creation, merge order, and squash merge handling.
smith-python
Python development with uv, pytest, ruff, and type hints. Use when writing Python code, running tests, managing Python packages, or working with virtual environments. Covers import organization, type hints, pytest patterns, and environment variables.
smith-principles
Fundamental coding principles (DRY, KISS, YAGNI, SOLID, HHH). Use when starting any development task, evaluating implementation approaches, or reviewing code quality. Always active as foundation for all development decisions.
smith-nuxt
Nuxt 3 development patterns including auto-import stubbing for tests, environment variable conventions, and middleware testing. Use when working with Nuxt projects, testing Nuxt components/middleware, or configuring Nuxt environment variables.
smith-plan
Plan tracking protocol (portable). Progress tracking with checkboxes, iteration workflow, completion/blocker signals. Use when executing multi-step plans, tracking task progress, or working from plan files. IMPORTANT - Always update the plan file after completing tasks.
Didn't find tool you were looking for?