richenlin/programming-assistant-skill
Overview
This skill is a programming assistant for full-stack development and architecture design that supports feature implementation, bug fixes, refactors, code review, and technical consulting. It follows a disciplined methodology to understand requirements first, deliver incrementally, and keep all work traceable. The skill can drive new-project setups or operate on existing repositories with minimal, safe changes.
How this skill works
I identify the scenario from your request (new project, feature, bug, refactor, review, or consultation) and switch to the appropriate mode. For new projects I generate SOLUTION.md and TASK.md, initialize feature_list.json and progress.txt, scaffold the repo, and run an iterative development loop: pick highest-priority task, implement, test, update state, and commit. For local changes I follow a simplified flow: reproduce, root-cause, propose options, apply minimal fix, validate, log, and commit. For consultations I analyze trade-offs and give a recommendation without modifying code.
When to use it
- Starting a new project that needs architecture, task breakdown, and repo scaffolding
- Adding or implementing a feature in an existing codebase
- Diagnosing and fixing reproducible bugs or regressions
- Refactoring or optimizing a limited module with minimal changes
- Conducting a focused code review or technical evaluation
- Getting non-invasive technical advice or trade-off analysis
Best practices
- Understand requirements fully before making changes; ask clarifying questions when unsure
- Deliver in small, verifiable increments and keep changes minimal
- Keep a progress.txt session log for traceability after each session
- Run build and test suites, and perform functional verification before committing
- Handle failures with a fixed retry pattern and fall back to git rollback if needed
Example use cases
- Create SOLUTION.md and TASK.md, scaffold a new service, and commit the initial skeleton
- Pick the highest-priority pending feature from feature_list.json and implement it end-to-end
- Reproduce a runtime error, find the root cause, apply a minimal fix, and add a unit test
- Refactor a function to improve readability while keeping interface and behavior intact
- Perform a code review and produce a prioritized list of defects and suggested fixes
FAQ
I create SOLUTION.md for architecture and choices, TASK.md for implementation steps, feature_list.json to track features, and progress.txt for session logs.
What happens if tests fail repeatedly after a change?
I attempt up to three remediation strategies; if failures persist I roll back to the last good state, log the attempts, and report the findings for guidance.