Skip to content
Back to skills

Spark Component Use Case

ASecurity

Create or update an use case file in the UseCase folder in Sources of a spark-ios-component-XXX and add or update unit tests.

  • 22 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 29, 2026
documentationswifttestingdocumentation

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add leboncoin/spark-ios --skill spark-component-use-case --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Spark Component Use Case?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Spark Component Use Case
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/leboncoin-spark-component-use-case/badge)](https://www.skillsdirectory.com/skills/leboncoin-spark-component-use-case)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: spark-component-use-case
description: Create or update an use case file in the UseCase folder in Sources of a spark-ios-component-XXX and add or update unit tests.
---

# Add Repository Skill

## Overview & Prerequisites

This skill guides you to implement/update an use case in spark component.

## Component Selection

**Parameter Handling:**
- If the skill is invoked with a parameter (e.g., `/spark-component-use-case button`):
  - Use the parameter as the component name
  - Verify the folder exists in `Modules/Components/{component-name}/`
  - If found, use that component and skip the selection step

- If no parameter is provided:
  - List all folders in the `Modules/Components/` directory
  - Use AskUserQuestion to let the user select ONE component from the list
  - Format: Display folder names as options (e.g., "button", "card", "checkbox")

**Once the component is selected, all operations must be performed in `Modules/Components/{component-name}/` folder.**

Use the files in the **template** folder as reference to manage the *use case* and the *unit tests*.

## Rules

The UseCase file must respect theses rules : 
  - must be located in *Sources/Core/ViewModel* and in *Tests/UnitTests/ViewModel*.
  - should contains `procotol` and a ``struct`` implementation.
  - should have only one ``func execute`` except if I ask to have other func.
  - should have this comment before the protocol ```// sourcery: AutoMockable, AutoMockTest```
  - if the parameter contains a theme, add before the func ```// sourcery: theme = "Identical"```

## Workflow
  - [ ] Add/Update the code.
  - [ ] Add/Update the documentation if the use case is public.
  - [ ] Run swiftlint ```$ swiftlint```.
  - [ ] Run sourcery ```$ sourcery```
  - [ ] Implement the unit tests. Read theses folders to get mocks :
    - *spark-ios-component-XXX/Sources/Testing*
    - *spark-ios-common/Sources/Testing*
    - *spark-ios-theming/Sources/Testing*

### Code Conventions
- [ ] File headers follow pattern: `Created by {firstname.lastname} on DD/MM/YYYY`
- [ ] Copyright line includes current year
- [ ] No empty lines contain whitespace or tabs
- [ ] All class members accessed with `self.`
- [ ] Protocol marked with `// sourcery: AutoMockable`
- [ ] Proper MARK comments in place

### Test Implementation
- [ ] Tests must be written in **Swift Testing** framework
- [ ] Proper imports (SparkComponentXXX, SparkCommon, SparkTheming, @testable, @_spi(SI_SPI) @testable import SparkComponentXXXTesting, Testing, ...)

Files in this skill

  • SKILL.md2.5 KB
  • template/XXXGetContentColorsUseCase.swift1.3 KB
  • template/XXXGetContentColorsUseCaseTests.swift2.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…