new-feature
Skill2 starsChanged 9 months agoMITView on GitHub
Plan new features/integrations following SOLID principles. Analyzes codebase architecture, researches official documentation and best practices, designs extensible solution, and creates comprehensive GitHub issue with implementation blueprint.
We split this skill into the rules it gives an agent
7 rules. 0 are common, 7 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 38 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 48
Read the relevant pattern files based on feature type.
- Distinctive: line 57
Read thoroughly - this is your template.
- Distinctive: line 174
Create interface/ABC extensions (if any)
- Distinctive: line 175
Create models/value objects
- Distinctive: line 180
Add Dashboard support (if needed)
- Distinctive: line 228
FINAL DELIVERABLE: Create comprehensive issue.
- Distinctive: line 374
Before creating the issue:
“Common” is measured: kept by at least 6 in 10 of the 38 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Plan New Feature: $ARGUMENTS
You are a Senior Software Architect planning a new feature or integration for CodeGeass.
Target: $ARGUMENTS
Your deliverable is a comprehensive GitHub issue with the complete implementation blueprint. You do NOT write code - you create the plan.
Phase 1: Deep Codebase Analysis
1.1 Identify Related Subsystems
Understand where this feature fits in the architecture:
# Repository structure
ls -la src/codegeass/Subsystem mapping:
- Notification provider (WhatsApp, Slack) →
src/codegeass/notifications/ - Storage backend (PostgreSQL, Redis) →
src/codegeass/storage/ - Execution strategy →
src/codegeass/execution/ - CLI command →
src/codegeass/cli/commands/
1.2 Find Gold Standard Patterns
CodeGeass uses these architectural patterns:
| Pattern | Location | Example |
| Strategy + ABC | notifications/providers/base.py | NotificationProvider |
| Registry + Lazy Loading | notifications/registry.py | ProviderRegistry |
| Protocol Interfaces | storage/protocols.py | TaskRepositoryProtocol |
| Factory | factory/ | TaskFactory, SkillRegistry |
Read the relevant pattern files based on feature type.
1.3 Reference Implementation
Find a similar existing implementation:
- For notification → study
TelegramProvider(~430 lines) - For storage → study
yaml_backend.py - For execution → study
strategies.py
Read thoroughly - this is your template.
1.4 Dependency Graph
# What depends on modules you'll modify
grep -r "from codegeass.<module>" src/ --include="*.py"Phase 2: Research Best Practices
2.1 Official Documentation
REQUIRED: Fetch official documentation for the integration.
Example searches for notification providers:
WebSearch: "<service> API documentation 2026"
WebSearch: "<service> Python SDK official"
WebSearch: "<service> authentication best practices"Then fetch the official docs:
WebFetch: <official-api-docs-url>2.2 Community Patterns
WebSearch: "<feature> Python implementation patterns"
WebSearch: "<library> production best practices"2.3 Security Research
WebSearch: "<service> API security best practices"
WebSearch: "<credential-type> secure storage Python"2.4 Create Research Summary
| Topic | Source | Key Findings |
| Official API | [URL] | Auth, rate limits, endpoints |
| Python SDK | [Package] | Version, patterns |
| Security | [Source] | Credential handling |
Phase 3: Architecture Design
3.1 SOLID Compliance Check
For each new component:
| Principle | Question | Your Answer |
| Single Responsibility | What's the ONE reason this would change? | |
| Open/Closed | Can I extend without modifying existing code? | |
| Liskov Substitution | Can new class replace any sibling implementation? | |
| Interface Segregation | Are all interface methods needed by clients? | |
| Dependency Inversion | Am I depending on abstractions (ABC/Protocol)? |
3.2 Design Pattern Selection
Based on CodeGeass patterns:
- Strategy Pattern → Multiple interchangeable implementations
- Factory Pattern → Complex object creation
- Registry Pattern → Discovery and lazy loading
- Repository Pattern → Data access abstraction
3.3 Interface Design
Define the contract:
# Example for new notification provider
class NewProvider(NotificationProvider):
@property
def name(self) -> str: ...
async def send(self, channel, credentials, message, **kwargs) -> dict: ...
def validate_config(self, config) -> tuple[bool, str | None]: ...
def validate_credentials(self, credentials) -> tuple[bool, str | None]: ...
async def test_connection(self, channel, credentials) -> tuple[bool, str]: ...
def get_config_schema(self) -> ProviderConfig: ...Phase 4: Implementation Plan
4.1 Files to Create
| File Path | Purpose | Est. Lines |
src/codegeass/<path>/<new>.py | Main implementation | 50-150 |
4.2 Files to Modify
| File Path | Change |
<registry>.py | Register new component |
pyproject.toml | Add optional dependency |
cli/commands/<cmd>.py | CLI support (if needed) |
4.3 Implementation Order
- Create interface/ABC extensions (if any)
- Create models/value objects
- Create exceptions
- Implement core logic
- Register with factory/registry
- Add CLI support
- Add Dashboard support (if needed)
- Add tests
4.4 Breaking Changes
| Change | Breaking? | Migration |
| New optional param | No | Default maintains compat |
| New required param | Yes | Version bump needed |
4.5 Dependencies
| Package | Version | Purpose |
<pkg> | ^x.y.z | Why needed |
Phase 5: Testing Strategy
5.1 Unit Tests
| Test File | Coverage |
tests/test_<component>.py | Core logic |
5.2 Integration Tests
| Scenario | Description |
| Happy path | Full feature workflow |
| Error handling | Exception paths |
| Edge cases | Boundaries |
5.3 Manual Verification
# After implementation
codegeass <command>
python -c "from codegeass.<module> import <Class>"
mypy src/codegeass/<path>
ruff check src/codegeass/<path>Phase 6: Create GitHub Issue
FINAL DELIVERABLE: Create comprehensive issue.
gh issue create --title "feat(<scope>): $ARGUMENTS" --label "enhancement,planning" --body "$(cat <<'EOF'
## Summary
<1-2 sentence summary>
## Motivation
<Why is this needed? What problem does it solve?>
---
## Research Summary
### Official Documentation
- [API Docs](<url>): <key findings>
- [SDK](<url>): <package and version>
### Security Considerations
- <credential handling>
- <validation requirements>
---
## Architecture Analysis
### Existing Patterns to Follow
| Pattern | Location | Application |
|---------|----------|-------------|
| <Pattern> | `<path>` | <how we'll use it> |
### SOLID Compliance
- [x] Single Responsibility: <explanation>
- [x] Open/Closed: <explanation>
- [x] Liskov Substitution: <explanation>
- [x] Interface Segregation: <explanation>
- [x] Dependency Inversion: <explanation>
### Reference Implementation
Using `<file>` as template because: <reason>
---
## Technical Approach
### New Files
| File | Purpose |
|------|---------|
| `src/codegeass/<path>/<file>.py` | <description> |
### Modified Files
| File | Change |
|------|--------|
| `src/codegeass/<path>/<file>.py` | <modification> |
### Interface Design
```python
class NewComponent(BaseClass):
"""Brief description."""
def method(self, param: Type) -> ReturnType:
...Dependencies
| Package | Version | Purpose |
<pkg> | ^x.y.z | <why> |
Implementation Checklist
Core
- Create
<file>.pywith<Component> - Implement abstract methods
- Add validation logic
- Handle errors with custom exceptions
Integration
- Register in
<registry>.py - Add to
__init__.pyexports - Add optional dependency to
pyproject.toml
CLI (if applicable)
- Add command in
cli/commands/ - Update help text
Dashboard (if applicable)
- Add API endpoint in
dashboard/backend/routers/ - Add frontend in
dashboard/frontend/src/
Testing
- Unit tests in
tests/ - Integration tests
- Manual verification
Documentation
- Update CLAUDE.md if patterns change
- Add usage examples
Testing Strategy
Unit Tests
def test_<component>_<scenario>():
# Arrange / Act / AssertManual Verification
codegeass <command>Alternatives Considered
| Alternative | Pros | Cons | Decision |
<option> | <pros> | <cons> | <why> |
References
- Official Docs
- Related Code EOF )"
---
## Output Checklist
Before creating the issue:
- [ ] Codebase analysis complete
- [ ] Official documentation fetched and summarized
- [ ] Architecture designed with SOLID compliance
- [ ] Implementation plan detailed
- [ ] Testing strategy defined
- [ ] GitHub issue createdOther versions40 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 40
- jhd3197/ServerKit★ 1.8ksame name
- michaelshimeles/rstack★ 1.4ksame name
- michaelshimeles/skills★ 1.4ksame name
- fpindej/netrock★ 234same name
- X-isdoingreat/canvas-pilot★ 123same name
- AnjanJ/rails_error_dashboard★ 94same name
- dan-the-dev/xp-developer-skills★ 31same name
- yerdaulet-damir/vibe-coding-rules★ 10same name
- jeremymcs/skills★ 8same name
- Fadi88/one-man-startup★ 7same name
30 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use greploop-apps, evidence-driven-testing and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
jaydubya818Skillgreploop-apps
Run greploop through @greptile-apps when the normal trigger rejects a large PR. Use only with the companion greploop skill.
Also in 4 projects that use this
jaydubya818Skillevidence-driven-testing
Capture observable runtime proof with video, screenshots, or measured output. Use when a change needs evidence beyond test reports.
Also in 4 projects that use this
VercelSkillbefore-and-after
Add existing screenshots or screen recordings to a GitHub pull request as a before/after or preview block. Use when a PR needs visual media attached to its description. Browser navigation and capture belong to agent-browser.
Also in 4 projects that use this
BboyfaroukSkillgreploop
Iteratively improves a PR until Greptile gives it a 5/5 confidence score with zero unresolved comments. Triggers Greptile review, fixes all actionable comments, pushes, re-triggers review, and repeats. Use when the user wants to fully optimize a PR against Greptile's code review standards.
Also in 4 projects that use this
u9401066Skillbug-fix
Structured bug fixing workflow with root cause analysis and regression prevention. Triggers: BF, 修 bug, fix bug, debug, 除錯, 錯誤, error, 問題, issue, 修復, fix, 故障, fault, 異常, exception, 失敗, failure, 不能用, broken, 壞掉.
Also in 3 projects that use this
SvampenSkillinit-project
Generates a tailored .claude/project-config.md for the current project. Asks about project type, quality check commands, documentation paths, insight tags, and review strictness.
Also in 4 projects that use this
- +1 more from jaydubya818
In this repository11 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- codegeass-testingSkill
- code-reviewSkill
- dependency-checkSkill
- implementSkill
- refactorSkill
- releaseSkill
- reviewSkill
- security-auditSkill
- security-scanSkill
- test-runnerSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

