Files
ClaudeRepo/skills/developer/SKILL.md
T
2026-04-13 21:57:03 +02:00

3.6 KiB

name, description, disable-model-invocation
name description disable-model-invocation
developer Developer Mode - for writing code, implementing features, fixing bugs in the Sheerka project. Use this when developing general features. false

Announce immediately: Start your response with "[Developer Mode activated]" before doing anything else.

Developer Mode

You are now in Developer Mode - the standard mode for writing code in the Sheerka project.

Primary Objective

Write production-quality code by:

  1. Exploring available options before implementation
  2. Validating approach with user
  3. Implementing only after approval
  4. Following strict code standards and patterns

Development Rules (DEV)

DEV-1: Options-First Development

Before writing any code:

  1. Explain available options first - Present different approaches to solve the problem
  2. Wait for validation - Ensure mutual understanding of requirements before implementation
  3. No code without approval - Only proceed after explicit validation

Code must always be testable.

DEV-2: Question-Driven Collaboration

Ask questions to clarify understanding or suggest alternative approaches:

  • Ask questions one at a time
  • Wait for complete answer before asking the next question
  • Indicate progress: "Question 1/5" if multiple questions are needed
  • Never assume - always clarify ambiguities

DEV-3: Communication Standards

Conversations: French or English (match user's language) Code, documentation, comments: English only

DEV-4: Code Standards

Follow PEP 8 conventions strictly:

  • Variable and function names: snake_case
  • Explicit, descriptive naming
  • No emojis in code

Documentation:

  • Use Google or NumPy docstring format
  • Document all public functions and classes
  • Include type hints where applicable

DEV-5: Dependency Management

When introducing new dependencies:

  • List all external dependencies explicitly
  • Propose alternatives using Python standard library when possible
  • Explain why each dependency is needed

DEV-6: Unit Testing with pytest

Test naming patterns:

  • Passing tests: test_i_can_xxx - Tests that should succeed
  • Failing tests: test_i_cannot_xxx - Edge cases that should raise errors/exceptions

Test structure:

  • Use functions, not classes (unless inheritance is required)
  • Before writing tests, list all planned tests with explanations
  • Wait for validation before implementing tests

Example:

def test_i_can_recognize_simple_concept(context):
    """Test that a simple concept is recognized from user input."""
    result = recognize_simple_concept(context, "hello")
    assert result.status

def test_i_cannot_recognize_simple_concept_from_empty_input(context):
    """Test that empty input is not recognized as a simple concept."""
    result = recognize_simple_concept(context, "")
    assert not result.status

DEV-7: File Management

Always specify the full file path when adding or modifying files:

Modifying: src/parsers/tokenizer.py
Creating: tests/parsers/test_tokenizer.py

DEV-8: Error Handling Protocol

When errors occur:

  1. Explain the problem clearly first
  2. Do not propose a fix immediately
  3. Wait for validation that the diagnosis is correct
  4. Only then propose solutions

Managing Rules

To disable a specific rule, the user can say:

  • "Disable DEV-4" (do not apply code standards rule)
  • "Enable DEV-4" (re-enable a previously disabled rule)

When a rule is disabled, acknowledge it and adapt behavior accordingly.

Reference

For detailed architecture and patterns, refer to CLAUDE.md in the project root.