new-scanner
Scaffold a new vulnerability scanner implementation with tests following the project's existing pattern.
Skill by konflux-ci
Chalk Labs
Need help deploying new-scanner?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/konflux-ci-new-scanner
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/new-scanner
Tools it pre-approves 4
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
BashReadWriteEdit
What's inside
- Skill name
new-scanner- Description
- Scaffold a new vulnerability scanner implementation with tests following the project's existing pattern. Use when adding support for a new scanner tool.
- License
- Apache-2.0
- Allowed tools
- Bash, Read, Write, Edit
- Instructions
- 86 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves any shell command
Files (1)
- SKILL.md
SKILL.md (first lines)
# New Scanner Scaffold a complete scanner implementation for `$name` using the `$cli` CLI tool. **Validate `$name` first:** it must be a valid Python identifier (lowercase letters, numbers, underscores only). If it contains dashes, spaces, or other invalid characters, normalize it (e.g., `my-scanner` becomes `my_scanner`) and use the normalized form for file names, class names, and method names throughout. ## Step 1: Discover the CLI Run `$cli --help` to learn available subcommands and flags. Identify: - The version flag (e.g., `--version`, `version`) - How to scan an SBOM file - How to scan a container image - How to get JSON output ## Step 2: Discover the JSON structure Run both example commands provided by the user: Image scan: ``` $example_image ``` SBOM scan: ``` $example_sbom ``` Inspect the JSON output from each and identify: - Where vulnerability entries live in the JSON hierarchy - The field name for the vulnerability/CVE ID - The field names for package name and installed version ## Step 3: Read the existing pattern Read these files to understand the conventions: - `diffused/diffused/scanners/base.py` — abstract base class with 4 required methods - `diffused/diffused/scanners/trivy.py` — reference implementation - `diffused/diffused/scanners/registry.py` — the `SCANNERS` map where scanners are registered - `diffused/tests/scanners/test_trivy.py` — reference test structure - `diffused/tests/conftest.py` — shared fixtures (`test_image`, `test_sbom_path`) ## Step 4: Create the scanner implementation Create `diffused/diffused/scanners/$name.py`: - Subclass `BaseScanner` - Implement all 4 abstract methods using the discovered CLI commands and JSON structure: - `scan_sbom()` — run the scanner on `self.sbom`, parse JSON into `self.raw_result` - `scan_image()` — run the scanner on `self.image`, parse JSON into `self.raw_result` - `process_result()` — parse `self.raw_result` into `self.processed_result` (a `defaultdict[str, set[Package]]` mapping CVE IDs to sets of Package objects) - `get_version()` — static method, return the scanner version string - Add a `_run_$name_command(self, cmd, operation)` helper with 120s timeout - Follow the error handling convention: store errors in `self.error`, do not raise from scan/process methods - Use `logging` for all log messages ## Step 5: Create the test file Create `diffused/tests/scanners/test_$name.py`: - Use the discovered JSON output as sample test data in fixtures - Cover: initialization, scan_sbom, scan_image, process_result, get_version - Use `unittest.mock` (`patch`, `MagicMock`) for subprocess mocking - Reuse fixtures from `conftest.py` (`test_image`, `test_sbom_path`) - Follow the same test structure as `test_trivy.py` ## Step 6: Register the scanner Edit `diffused/diffused/scanners/registry.py`: - Add an import for the new scanner class - Add an entry to the `SCANNERS` dict (used by `get_scanner_class()`, which both `VulnerabilityDiffer` and `ScanReport` select scanners through) Edit `diffusedcli/diffusedcli/cli.py`: - Add `$name` to the `click.Choice` list in the `--scanner` option - Check for any scanner-specific restrictions in the CLI commands (e.g., SBOM scanning guards) and update them if the new scanner supports those features ## Step 7: Run tests Run `tox -e py39-pytest,py39-pytest-cli` and fix any failures until tests pass with 100% code coverage on the new scanner file. ## Step 8: Summary Present a summary: - Files created and modified - CLI commands and JSON fields discovered - Any manual steps remaining
From konflux-ci/diffused, Apache-2.0.
More from konflux-ci/diffused
- 0.579score
release-prep
konflux-ci
Check version consistency, git tag status, and test results before cutting a release.
SkillBFreshness: B★ 5Claude Code +9 - 0.574score
lint-and-test
konflux-ci
Run the project's tox linting and test suite and present a concise pass/fail summary.
SkillBFreshness: B★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 6
- Open issues
- 0
- Last commit (this folder)
- Oct 22, 2026 (9 days ago)
- Last release
- Sep 8, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/konflux-ci/diffused
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from konflux-ci
- 0.797score
debug-e2e-tests
konflux-ci
Debug failed Konflux e2e test runs by downloading logs and artifacts from GitHub Actions or OpenShift CI (Prow), analyzing test failures, and suggesting fixes.
SkillAFreshness: A★ 215Claude Code +9 - 0.791score
update-upstream-deps
konflux-ci
Update upstream Konflux component versions.
SkillAFreshness: A★ 215Claude Code +9 - 0.791score
companion-pr-review
konflux-ci
Use when reviewing, triaging, or retro-analyzing MintMaker/Renovate dependency PRs and their manifest companion PRs in konflux-ci/konflux-ci.
SkillAFreshness: A★ 215Claude Code +9 - 0.791score
pr-review
konflux-ci
Use when reviewing pull requests in konflux-ci/konflux-ci.
SkillAFreshness: A★ 215Claude Code +9 - 0.784score
retro-filing-policy
konflux-ci
Filing rules for the fullsend retro agent.
SkillAFreshness: A★ 215Claude Code +9 - 0.751score
dev-verify-loop
konflux-ci
Use when iteratively verifying operator changes in development — code edit, stop operator, optionally regenerate manifests or CRDs, restart operator, verify.
SkillBFreshness: B★ 215Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get new-scanner running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
new-scanner skill. Agent Mart. https://agentmart.dev/skills/konflux-ci-new-scanner (last updated 2026-10-24)