Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

implement

/implement

Wdraża funkcję, poprawkę błędu lub zmianę kodu w MegaLinter, z poprzedzającą fazą projektowania lub bez niej.

Repozytorium
megalinter ↗
Licencja
AGPL-3.0
Ostatnia zmiana repozytorium
27.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 27.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

AGPL-3.0, copyleft: przeróbki udostępniane innym muszą mieć tę samą licencję.

Co robi i kiedy

Wdraża funkcję, poprawkę błędu lub zmianę kodu w MegaLinter, z poprzedzającą fazą projektowania lub bez niej.

Argumenty

/implement [feature or change to implement]
Oryginalny opis (EN)

Implement a feature, bug fix, or code change in MegaLinter. Use whenever the user asks to add a feature, fix a bug, or make a code change - with or without a prior /design phase.

Jak działa

  1. Process
  2. Important
Sekcje z nagłówków SKILL.md, w oryginale · 70 linii, 593 słów
Podgląd SKILL.md
---
name: implement
description: Implement a feature, bug fix, or code change in MegaLinter. Use whenever the user asks to add a feature, fix a bug, or make a code change - with or without a prior /design phase.
disable-model-invocation: true
allowed-tools: Read Glob Grep Write Edit Bash WebSearch WebFetch
argument-hint: "[feature or change to implement]"
model: sonnet
metadata:
  internal: true
---

You are a developer working on the **MegaLinter** project.

Implement the requested changes. If a prior `/design` conversation exists, follow that specification. Otherwise, derive the implementation plan from the user's request and the existing codebase — explore with Glob/Grep before writing code.

Read `.claude/rules/` for the conventions of the area you're touching:

- `descriptors.md` — YAML descriptor schema and property coverage
- `python-style.md` — Python conventions
- `documentation.md` — Zensical markdown rules
- `generated-files.md` — what NOT to edit
- `testing.md` — test structure and fixtures

## Process

1. **Understand what to implement**. If `/design` produced a spec, follow it. Otherwise grep for relevant code and form a clear plan before writing.
2. **Pick the right specialist** (prefer delegation when the work fits):
   - Authoring/editing descriptors → use the `descriptor-expert` agent.
   - Brand-new linter → follow `/add-linter`.
   - Linter version bump → follow `/update-linter-version`.
   - New flavor → `/add-flavor`. New reporter → `/add-reporter`.
   - CVE / vulnerability → `/fix-security-issue`.
3. **Descriptor changes**:
   - Edit `megalinter/descriptors/<lang>.megalinter-descriptor.yml`.
   - Maximize property coverage — see the catalog in `.claude/agents/descriptor-expert.md`.
   - Always renovate-compatible pin:
     ```yaml
     install:
       dockerfile:
         - |-
           # renovate: datasource=pypi depName=tool-name
           ARG PIP_TOOL_VERSION=1.2.3
       pip:
         - tool-name==${PIP_TOOL_VERSION}
     ```
   - For new linters, **search the internet** to gather: rules URL, configuration URL, inline-disable URL, ignore-file URL, SPDX license, IDE extensions, SARIF support, latest version, supported platforms.
4. **Python changes** (`megalinter/`):
   - PEP 8 + type hints where possible.
   - **No docstrings** on classes/methods.
   - Imports at the top only — no inline / conditional / `try/except ImportError`.
   - Config: `megalinter.config.get(request_id, "VAR", default)` — never `os.environ`.
   - Logging: `logging` module — never `print()`.
   - Custom linter classes extend `megalinter.Linter` and stay minimal. Override only what YAML can't express.
   - Reporters extend `megalinter.reporters.Reporter` with `manage_activation()` and `produce_report()`.
   - No defensive error handling for internal paths; validate only at system boundaries.
5. **Test fixtures**: for any change affecting detection or error parsing, add/update files in `.automation/test/<test_folder>/`. Good file lints clean; bad file triggers `cli_lint_errors_regex`.
6. **Never edit generated files**:
   - `linters/*/Dockerfile`, `flavors/*/Dockerfile`, `flavors/*/action.yml`, `flavors/*/flavor.json`.
   - `megalinter/tests/test_megalinter/linters/*_test.py` files with the `automatically @generated by .automation/build.py` header.
   - `docs/descriptors/*`.
   - Schemas under `megalinter/descriptors/schemas/`.
   - Change the source (descriptor YAML or `.automation/build.py`) instead.
7. **Build**: after descriptor or build-logic changes, run `make megalinter-build`. Delegate to the `build-runner` agent if it gets complex. **Never run `make megalinter-build-with-doc`** — docs are owned by auto-update workflows; running it in a PR causes merge conflicts.
8. **Dependencies**: after editing `pyproject.toml`, run `uv lock`. Prefer descriptor `install:` blocks for linter-specific runtime deps over editing the core `Dockerfile`.
9. **CHANGELOG**: add a one-line user-facing entry under `## [beta] (master)` in repo-root `CHANGELOG.md`. Write it for end users per `.claude/rules/changelog.md` — lead with the benefit or required action, no implementation details in user-facing sections. Internal-only changes (refactors, test suite, repo CI, build tooling) go under the **Dev** or **CI** sections, where technical detail is fine. **Skip** for:
   - Routine linter version bumps (auto-upgrade workflow owns those).
   - CVE-ignore entries.
10. **Documentation**: improve descriptor metadata (`linter_text`, `linter_rules_url`, `ide`, `examples`) so the auto-generated `docs/descriptors/*` pages improve. Zensical: blank line after every heading, blank line before/after every list.

Continue iterating until the change is complete. Do not stop to ask whether to continue mid-task.

## Important

- Do not add abstractions, fallbacks, feature flags, or backwards-compatibility shims the change doesn't need.
- Do not leave half-finished implementations or `// removed` placeholder comments.
- Default to no comments — add one only when the WHY is non-obvious.
- Linters are NOT installed locally. Final validation must happen inside Docker — that's the `/test` skill's job.

$ARGUMENTS

Wersje

RepozytoriumWynikLicencja
Ta strona · oxsecurity/megalinter100AGPL-3.0
ericrisco/rsc-harness100MIT
michielvandermeer/skills100MIT
rossumai/claude-marketplace100MIT
yonatangross/orchestkit100MIT
trevhud/rote100Apache-2.0
andymai/brepjs100Apache-2.0
boshu2/agentops100Apache-2.0
ShieldBattery/ShieldBattery100MIT

Migawka bazy z 28.10.2026 · wersja paczki 8667ea3a4b1e (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 90megalinter
    Prowadzi repozytorium do czystego lintingu MegaLinter: wykrywa stan, konfiguruje, sprawdza i naprawia błędy w pętli.
  • 90megalinter-fix
    Naprawia błędy zgłoszone przez MegaLinter: bezpieczne poprawki automatyczne, ręczne według przewodników i pytania przy niejasnościach.
  • 100change-implementation
    Implementuje zgłoszenie, funkcję lub nietrywialną poprawkę błędu w istniejącej bazie kodu jako jedną kompletną zmianę, od żądania po kod, testy i dokumentację, także zmiany łamiące.
  • 100tdd-implement
    Implementuje funkcję lub poprawkę błędu metodą TDD: analizuje wymaganie, pisze testy, minimalny kod i refaktoryzuje.
  • 100implement-github-feature
    Projektuje i wdraża zupełnie nową funkcję lub komponent na podstawie zgłoszenia GitHub.
  • 90surgical-change
    Wdraża małą funkcję lub ograniczoną poprawkę błędu, używając możliwie najmniejszej liczby plików i skupionego diffu.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.