agentleFS
DonTiziDonTizi/CodeGeass/.claude/skills/new-feature/SKILL.md

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
  1. Distinctive:

    Read the relevant pattern files based on feature type.

    line 48
  2. Distinctive:

    Read thoroughly - this is your template.

    line 57
  3. Distinctive:

    Create interface/ABC extensions (if any)

    line 174
  4. Distinctive:

    Create models/value objects

    line 175
  5. Distinctive:

    Add Dashboard support (if needed)

    line 180
  6. Distinctive:

    FINAL DELIVERABLE: Create comprehensive issue.

    line 228
  7. Distinctive:

    Before creating the issue:

    line 374

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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:

PatternLocationExample
Strategy + ABCnotifications/providers/base.pyNotificationProvider
Registry + Lazy Loadingnotifications/registry.pyProviderRegistry
Protocol Interfacesstorage/protocols.pyTaskRepositoryProtocol
Factoryfactory/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

TopicSourceKey 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:

PrincipleQuestionYour Answer
Single ResponsibilityWhat's the ONE reason this would change?
Open/ClosedCan I extend without modifying existing code?
Liskov SubstitutionCan new class replace any sibling implementation?
Interface SegregationAre all interface methods needed by clients?
Dependency InversionAm 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 PathPurposeEst. Lines
src/codegeass/<path>/<new>.pyMain implementation50-150

4.2 Files to Modify

File PathChange
<registry>.pyRegister new component
pyproject.tomlAdd optional dependency
cli/commands/<cmd>.pyCLI support (if needed)

4.3 Implementation Order

  1. Create interface/ABC extensions (if any)
  2. Create models/value objects
  3. Create exceptions
  4. Implement core logic
  5. Register with factory/registry
  6. Add CLI support
  7. Add Dashboard support (if needed)
  8. Add tests

4.4 Breaking Changes

ChangeBreaking?Migration
New optional paramNoDefault maintains compat
New required paramYesVersion bump needed

4.5 Dependencies

PackageVersionPurpose
<pkg>^x.y.zWhy needed

Phase 5: Testing Strategy

5.1 Unit Tests

Test FileCoverage
tests/test_<component>.pyCore logic

5.2 Integration Tests

ScenarioDescription
Happy pathFull feature workflow
Error handlingException paths
Edge casesBoundaries

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

PackageVersionPurpose
<pkg>^x.y.z<why>

Implementation Checklist

Core

  • Create <file>.py with <Component>
  • Implement abstract methods
  • Add validation logic
  • Handle errors with custom exceptions

Integration

  • Register in <registry>.py
  • Add to __init__.py exports
  • 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 / Assert

Manual Verification

codegeass <command>

Alternatives Considered

AlternativeProsConsDecision
<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 created

Download now (ZIP)

  • Other versions40 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 40

    1. jhd3197/ServerKit★ 1.8ksame name
    2. michaelshimeles/rstack★ 1.4ksame name
    3. michaelshimeles/skills★ 1.4ksame name
    4. fpindej/netrock★ 234same name
    5. X-isdoingreat/canvas-pilot★ 123same name
    6. AnjanJ/rails_error_dashboard★ 94same name
    7. dan-the-dev/xp-developer-skills★ 31same name
    8. yerdaulet-damir/vibe-coding-rules★ 10same name
    9. jeremymcs/skills★ 8same name
    10. 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.
    • jaydubya818Skill

      greploop-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

    • jaydubya818Skill

      evidence-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

    • VercelSkill

      before-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

    • BboyfaroukSkill

      greploop

      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

    • u9401066Skill

      bug-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

    • SvampenSkill

      init-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.

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.