{"enrichment":{"faq":[{"a":"Prowler-changelog requires you to create a fragment file in the `changelog.d/` directory rather than editing `CHANGELOG.md` directly. Each fragment represents one logical change and uses the naming format `{slug}.{type}.md`, where `{slug}` is a short identifier (e.g., `fix-auth-bug`) and `{type}` is one of: `added`, `fixed`, `changed`, `deprecated`, `removed`, or `security`. Write your changelog entry as prose in the fragment file, then commit it with your PR. The fragment-based system prevents merge conflicts when multiple PRs land concurrently.","q":"How do I add a changelog entry for a Prowler PR?"},{"a":"Prowler-changelog fragments follow the pattern `{slug}.{type}.md` under `changelog.d/` directories. The slug should be lowercase, hyphen-separated, and descriptive (e.g., `aws-s3-permissions`, `cli-output-format`). The type must be one of: `added`, `fixed`, `changed`, `deprecated`, `removed`, or `security`. For example: `aws-s3-permissions.security.md` or `cli-output-format.changed.md`. Each component (UI, API, MCP Server, SDK) maintains its own `changelog.d/` directory with this same convention.","q":"What is the prowler changelog fragment naming convention?"},{"a":"Prowler-changelog compiles fragments into versioned `CHANGELOG.md` files at release time. During development, fragments accumulate in `changelog.d/` directories across components. At release, the system collects all fragments, groups them by type (added, fixed, security, etc.), and generates a new version section in `CHANGELOG.md` following semantic versioning rules. Fragments are then removed from `changelog.d/`, and the compiled changelog is committed. This workflow ensures clean version history while preventing merge conflicts during active development.","q":"How does prowler changelog compilation workflow work?"},{"a":"Prowler-changelog requires explicit confirmation before editing already-released changelog entries in `CHANGELOG.md`. You cannot retroactively modify compiled changelog sections without authorization. Instead, create a new fragment in `changelog.d/` documenting the correction as a separate change entry. This maintains an audit trail and ensures transparency. Contact your release manager or follow your project's policy if you need to amend historical changelog content.","q":"What should I do if I need to fix a changelog entry already released?"},{"a":"Prowler-changelog fragments should contain clear, concise prose describing the change from a user perspective. Each entry typically starts with a verb (e.g., 'Add', 'Fix', 'Improve') and explains what changed and why. Keep entries brief but informative\u2014aim for one to three sentences. Avoid technical jargon when possible; focus on impact. The fragment content is prose-only; do not include metadata, version numbers, or formatting beyond standard markdown. The system validates fragment format and enforces these conventions during PR checks.","q":"What are the changelog entry prose conventions for Prowler?"},{"a":"Prowler-changelog enforces changelog entries as a PR gate, but you can skip the requirement by applying the `no-changelog` label to your PR. Use this label only for changes that do not affect end users\u2014such as internal refactoring, CI/CD updates, or documentation fixes. Most feature additions, bug fixes, and security patches require a fragment. If your PR is blocked by the changelog gate, either create the appropriate fragment or request the `no-changelog` label if the change truly warrants exemption.","q":"Can I skip the changelog requirement for my Prowler PR?"}],"shadow_tags":["fragment-based-workflow","release-automation","multi-component-tracking","semantic-versioning","changelog-compilation","pr-gating-system","keepachangelog-standard","version-bumping-rules"],"summary_rewrite":"Prowler-changelog automates changelog management across UI, API, MCP Server, and SDK components using a fragment-based system that prevents merge conflicts on concurrent PRs. Each change gets its own fragment file under `changelog.d/` directories, which compile into versioned `CHANGELOG.md` files at release time. The skill enforces semantic versioning rules, validates fragment format, and requires explicit confirmation before any changelog edits."},"files":[{"bytes":10355,"path":"skills/prowler-changelog/SKILL.md","sha256":"c3274ea3d7e68b0cbc1d2b1a73c2b78ee6fde8910166b6a612937a08c96fc199","url":"https://skillfed.io/files/prowler-cloud/prowler/prowler-changelog/96cd52e4/SKILL.md"}],"id":"prowler-cloud/prowler/prowler-changelog","links":{"html":"https://skillfed.io/prowler-cloud/prowler/prowler-changelog","md":"https://skillfed.io/prowler-cloud/prowler/prowler-changelog.md","repo":"https://github.com/prowler-cloud/prowler"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":2285,"language":"Python","last_updated":"2026-07-27","license":"Apache-2.0","name":"prowler-changelog","publisher":"prowler-cloud","stars":14491},"relations":{"similar":[{"id":"prowler-cloud/prowler/prowler-pr"},{"id":"prowler-cloud/prowler/prowler-ci"},{"id":"prowler-cloud/prowler/prowler-compliance-review"},{"id":"prowler-cloud/prowler/prowler"},{"id":"prowler-cloud/prowler/prowler-mcp"},{"id":"prowler-cloud/prowler/skill-sync"},{"id":"prowler-cloud/prowler/prowler-commit"},{"id":"itechmeat/llm-code/changelog"},{"id":"s-hiraoku/synapse-a2a/release"},{"id":"FradSer/dotclaude/update-changelog"}]},"slug":{"owner":"prowler-cloud","repo":"prowler","skill":"prowler-changelog"},"version":"96cd52e4"}
