{"enrichment":{"faq":[{"a":"prowler-ci helps you diagnose GitHub Actions workflow failures on pull requests. Common causes include: PR title not following conventional commit format, missing changelog fragment, unresolved conflict markers in code, or TruffleHog detecting secrets. Use the debug checklist to verify each gate: check your commit message format, confirm changelog files are in `.changelog/` with proper naming, scan for `<<<<<<<` markers, and review TruffleHog logs for false positives that may need allowlisting.","q":"Why is my PR check failing in prowler-ci?"},{"a":"prowler-ci integrates TruffleHog for secret detection in workflows. False positives often occur with test AWS keys or API key examples. Review the TruffleHog job output to identify the flagged content and file. If it's a legitimate test value or placeholder, you can add an allowlist entry in your repository's TruffleHog configuration to exclude that pattern. For OpenAI API keys in test files, verify the key is non-production before allowlisting.","q":"How do I fix TruffleHog secret scanning false positives?"},{"a":"prowler-ci enforces multiple PR gates: (1) Conventional Commit validation on PR titles, (2) Changelog requirement\u2014add a fragment to `.changelog/` unless labeled `no-changelog`, (3) Conflict marker detection to catch unresolved merges, (4) TruffleHog secret scanning, and (5) CODEOWNERS and labeler automation. Each gate must pass before merge. The system also validates path filtering in GitHub Actions workflows to ensure jobs run only when relevant files change.","q":"What are the PR validation rules and gates in prowler-ci?"},{"a":"prowler-ci detects unresolved conflict markers (`<<<<<<<`, `=======`, `>>>>>>>`) that Git leaves when merges fail. To fix: open the flagged files, locate the conflict sections, manually choose which code to keep or merge both versions, then remove all marker lines. After resolving, stage and commit the changes. Re-push to trigger CI again. The conflict marker gate will pass once all markers are removed from the repository.","q":"How do I resolve conflict markers in my PR?"},{"a":"prowler-ci requires changelog fragments in the `.changelog/` directory at your repository root. Name files using the pattern `<PR-number>.<type>.md` (e.g., `123.feature.md`). Each fragment should contain a brief description of your change. If your PR has no user-facing changes, apply the `no-changelog` label to skip this gate. The changelog gate validates both file location and naming convention before allowing merge.","q":"Where should I place changelog fragments in prowler-ci?"},{"a":"prowler-ci automates PR labeling and code owner assignment through GitHub Actions workflows. The labeler workflow applies labels based on file paths modified in your PR, while CODEOWNERS automation ensures relevant maintainers are notified. These automations run on PR open and update events. Review your repository's `.github/CODEOWNERS` file to see ownership rules and `.github/labeler.yml` to understand label-to-path mappings that trigger automatic labeling.","q":"How does CODEOWNERS and labeler automation work in prowler-ci?"}],"shadow_tags":["ci-pipeline-troubleshooting","github-actions-debugging","secret-detection-management","pr-validation-gates","git-workflow-automation","credential-leak-prevention","repository-policy-enforcement"],"summary_rewrite":"prowler-ci guides you through Prowler's CI and PR gate system, helping diagnose why GitHub Actions workflows fail. It covers PR title validation, changelog requirements, conflict marker detection, and secret scanning\u2014with a quick reference map to key workflow files and a practical debug checklist."},"files":[{"bytes":3138,"path":"skills/prowler-ci/SKILL.md","sha256":"94ab1a76da742f5d7129e08c165bc14752e4db9b6a977a06652e54957c1abcf7","url":"https://skillfed.io/files/prowler-cloud/prowler/prowler-ci/e3ab9c08/SKILL.md"}],"id":"prowler-cloud/prowler/prowler-ci","links":{"html":"https://skillfed.io/prowler-cloud/prowler/prowler-ci","md":"https://skillfed.io/prowler-cloud/prowler/prowler-ci.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-ci","publisher":"prowler-cloud","stars":14491},"relations":{"similar":[{"id":"prowler-cloud/prowler/prowler-pr"},{"id":"prowler-cloud/prowler/prowler-changelog"},{"id":"prowler-cloud/prowler/prowler-compliance-review"},{"id":"prowler-cloud/prowler/prowler-test-api"},{"id":"prowler-cloud/prowler/prowler-docs"},{"id":"foryourhealth111-pixel/Vibe-Skills/prowler-docs"},{"id":"prowler-cloud/prowler/jsonapi"},{"id":"prowler-cloud/prowler/gh-aw"},{"id":"prowler-cloud/prowler/prowler"},{"id":"prowler-cloud/prowler/prowler-mcp"}]},"slug":{"owner":"prowler-cloud","repo":"prowler","skill":"prowler-ci"},"version":"e3ab9c08"}
