Smart Contract Audit
greatpie/smart-contract-audit-skill
Script-backed, out-of-box auditing workflow for Solidity/EVM repositories based on EVMbench detect/patch/exploit methodology.
Convert English-language properties in PROPERTIES.md (produced by the Fizz skill) into Solidity assertions inside the existing fuzz harness, then flip their checkboxes.
$ npx skills add pashov/skills --skill fizz-convert -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pashov/skills fizz-convert --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/pashov/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/fizz/skills/fizz-convert .claude/skills/fizz-convert && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "fizz-convert" agent skill from https://github.com/pashov/skills/tree/main/fizz/skills/fizz-convert into .claude/skills/fizz-convert/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fizz-convert", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/pashov/skills/tree/main/fizz/skills/fizz-convertType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add pashov/skills --skill fizz-convert -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pashov/skills fizz-convert --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pashov/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/fizz/skills/fizz-convert .agents/skills/fizz-convert && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fizz-convert" agent skill from https://github.com/pashov/skills/tree/main/fizz/skills/fizz-convert into .agents/skills/fizz-convert/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fizz-convert", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pashov/skills --skill fizz-convert -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pashov/skills fizz-convert --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pashov/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/fizz/skills/fizz-convert .cursor/skills/fizz-convert && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "fizz-convert" agent skill from https://github.com/pashov/skills/tree/main/fizz/skills/fizz-convert into .cursor/skills/fizz-convert/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fizz-convert", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/pashov/skills.git --path fizz/skills/fizz-convert--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add pashov/skills --skill fizz-convert -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pashov/skills fizz-convert --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pashov/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/fizz/skills/fizz-convert .gemini/skills/fizz-convert && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "fizz-convert" agent skill from https://github.com/pashov/skills/tree/main/fizz/skills/fizz-convert into .gemini/skills/fizz-convert/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fizz-convert", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install pashov/skills fizz-convertInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add pashov/skills --skill fizz-convert -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pashov/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/fizz/skills/fizz-convert .github/skills/fizz-convert && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "fizz-convert" agent skill from https://github.com/pashov/skills/tree/main/fizz/skills/fizz-convert into .github/skills/fizz-convert/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fizz-convert", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pashov/skills --skill fizz-convert -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pashov/skills fizz-convert --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pashov/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/fizz/skills/fizz-convert .opencode/skills/fizz-convert && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "fizz-convert" agent skill from https://github.com/pashov/skills/tree/main/fizz/skills/fizz-convert into .opencode/skills/fizz-convert/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fizz-convert", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
fizz-convertConvert English-language properties in PROPERTIES.md (produced by the Fizz skill) into Solidity assertions inside the existing fuzz harness, then flip their checkboxes.
Fizz Convert is an agent skill from pashov/skills. Convert English-language properties in PROPERTIES.md (produced by the Fizz skill) into Solidity assertions inside the existing fuzz harness, then flip their checkboxes. Trigger on "fizz-convert", "convert properties", "implement properties from PROPERTIES.md", "convert PROPERTIES.md to Solidity".
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering Smart contracts, Fuzzing and Smart contract auditing. It works with Solidity. The repository describes itself as: Pashov Audit Group Skills. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 92b0ea6. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Fizz Convert loads about 3.7k tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 1,903 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from pashov/skills at commit 92b0ea6, republished under its MIT licence (© pashov). 1,903 words, ~3,655 tokens.
.claude/skills/fizz-convert/SKILL.md (or your agent's skills folder).You are an expert Solidity fuzzing engineer working inside a project that was set up by the Fizz skill. Your job is to convert English-language properties in PROPERTIES.md (project root) into Solidity code inside the existing harness, then flip their checkboxes from [ ] to [x].
Arguments: optional space-separated property IDs (e.g., GL-01 SP-03) passed when the user invokes the skill. If no IDs are given, convert ALL properties currently marked [ ].
SUITE_DIR: Solidity suite directory relative to project root (default: test/fizz). Use the same value that was passed to the fizz skill when the harness was generated.META_DIR: Metadata directory relative to project root (default: fizz_data). Use the same value that was passed to the fizz skill.PROPERTIES.md uses three states. The action you take depends on BOTH the current checkbox AND whether tagged Solidity for that Spec ID already exists in Properties.sol / handlers.
Tagged Solidity = a function whose natspec starts with /// @notice <ID>: (e.g. /// @notice GL-05:). The implementer agents are required to emit this doctag for every property they write, so it is the canonical way to find the existing code for any Spec ID. Search both {SUITE_DIR}/Properties.sol and every file under {SUITE_DIR}/handlers/.
Action matrix:
| Current checkbox | Tagged Solidity exists? | Action |
|---|---|---|
[ ] | NO | Implement fresh. Normal pending case. On success → [x]. On infeasible/skip → [-]. |
[ ] | YES | Regenerate. The user manually downgraded [x]→[ ] because they want it re-implemented (description changed, prior impl was wrong, etc.). Delete the existing tagged function AND any handler call sites (for SP-*), then implement fresh as if it were the row above. On success → [x]. |
[x] | YES | Skip. Already implemented. Never re-implement, never overwrite. If the user explicitly listed this ID in arguments, warn and skip. |
[x] | NO | DRIFT — stop and warn. The spec claims it's done but no tagged Solidity exists. This means either the user deleted the function manually without updating PROPERTIES.md, or the doctag was lost. Do NOT silently rewrite the spec. Print a warning naming the ID and ask the user to either restore the function, flip the checkbox to [ ], or flip it to [-]. Skip this ID for the rest of this run. |
[-] | NO | Leave alone. Manual / do-not-touch. Never read as a target, never flip, never write Solidity. If the user explicitly listed a [-] ID, refuse and tell them to flip it to [ ] first. |
[-] | YES | Drop. The user manually downgraded [x]→[-] because they want the property removed entirely. Delete the existing tagged function AND any handler call sites (for SP-*). Leave the checkbox as [-]. Report under "Dropped" in the summary. |
Hard rule: never modify a [x]+YES line and never flip [x]→anything automatically except as part of a build-failure rollback for a property you generated in the same run.
Read in parallel:
PROPERTIES.md (project root) — the source of truth for what needs to be converted{SUITE_DIR}/Properties.sol — where property functions live{SUITE_DIR}/Base.sol — for the Ghosts struct, actors array, NUMBER_OF_ACTORS, available contract instances{SUITE_DIR}/Snapshots.sol — for the State struct, stateBefore / stateAfter, and _takeSnapshot{SUITE_DIR}/handlers/ — every handler file, to see existing function names, snapshotBefore() / snapshotAfter() placement, and ghost update conventions{META_DIR}/property-plan.md if it exists — for the ghost/snapshot/wiring tables that back each Spec IDIf PROPERTIES.md does not exist at the project root, stop and tell the user to run the Fizz skill (Step 9) first.
For every Spec ID in PROPERTIES.md (regardless of checkbox state), check whether tagged Solidity exists. The doctag pattern is exact:
/// @notice GL-NN:
/// @notice SP-NN:Grep {SUITE_DIR}/Properties.sol and {SUITE_DIR}/handlers/**/*.sol for each pattern. Build a single in-memory map: spec_id → {checkbox, has_tagged_solidity, function_name_if_found, file_if_found, handler_call_sites_if_SP}.
Then classify each ID against the action matrix above. The four action types are:
[ ] + NO Solidity) — process in STEP 4 normally.[ ] + Solidity) — first delete, then process in STEP 4.[-] + Solidity) — delete only, no STEP 4 work.[x] + NO Solidity) — print a warning and skip this ID. Do NOT touch the checkbox.[x] + Solidity, or [-] + NO Solidity) — no work.For a Spec ID whose tagged Solidity must be removed:
Properties.sol. Start at the line /// @notice <ID>: and read upward to capture any preceding /// natspec lines that belong to the same block. Read downward through the function signature and body until the matching closing } at the function's brace depth. Delete the entire span (natspec + signature + body), plus any single blank line immediately following.SP-* only, scan every file under {SUITE_DIR}/handlers/ for call sites of the deleted function name. The grep target is the bare function name followed by ( (e.g. property_depositIncreasesTotalSupply(). Delete each such call line. If the call has surrounding comments specific to that property (e.g. // SP-01 postcondition), delete those too.If the user passed explicit IDs:
DRIFT_WARN → warn, skip, continue with the others.SKIP because already [x] + Solidity → warn ("already implemented"), skip.[-] + NO Solidity → refuse and tell the user to flip to [ ] first (this is the same rule as before).PROPERTIES.md → stop and report.Parse PROPERTIES.md. The format is:
- [ ] **GL-01** — <english description>. (Category: ...; Guarantee: SHOULD-HOLD|EXPLORATORY; Priority: ...; Sources: ...)
- [ ] **SP-01** — <english description>. (Category: ...; Guarantee: SHOULD-HOLD|EXPLORATORY; After: <handler>; Priority: ...; Sources: ...)The parenthetical fields are metadata; only After: affects wiring. Preserve the entire parenthetical verbatim when you flip a checkbox — never strip the Guarantee: tag, since downstream triage (a violated SHOULD-HOLD = confirmed bug, EXPLORATORY = human review) depends on it. If you add a brand-new property of your own, tag it Guarantee: EXPLORATORY unless you can cite a doc/spec/standard or exact identity that makes it SHOULD-HOLD.
Use the action map you built in STEP 1.5. The set of IDs that get Solidity work in STEP 4 is the union of:
IMPLEMENTREGENERATE (these will have their existing Solidity deleted first)DROP IDs get deletion-only in STEP 4 (no new Solidity). SKIP and DRIFT_WARN IDs do nothing.
If the user passed explicit IDs, intersect the working set with their list (per the rules in STEP 1.5).
For each selected property, classify:
| Prefix | Type | Where it lives | Visibility | When it runs |
|---|---|---|---|---|
GL- | Global | Properties.sol | public function property_*() | After every handler call (fuzzer auto-discovers) |
SP- | Specific | Properties.sol | internal function property_*() | Called explicitly at the end of a specific handler, after snapshotAfter() |
For each selected property, work out:
property_<camelCaseDescription>. If property-plan.md already lists a name for this Spec ID, use that exact name.stateBefore / stateAfter? — if yes, list the snapshot fields. If a needed field is missing from Snapshots.sol's State struct, you must add it (and update _takeSnapshot to populate it).ghosts? — if yes, list the ghost fields. If a needed field is missing from Base.sol's Ghosts struct, you must add it AND wire its update into the relevant handler(s).eq, gt, gte, lt, lte, t (boolean). Always include a descriptive failure message string.After: field in PROPERTIES.md and the actual function name in handlers/<Contract>Handler.sol. The call site is after snapshotAfter() and after any ghost updates.actors are fine (NUMBER_OF_ACTORS is small).If any property cannot be implemented as a real assertion (missing source data, requires unbounded iteration, requires state the harness cannot reach), do NOT write a fake assertion. Skip it, flip its checkbox to [-] (so future runs leave it alone), and report it under "Skipped" in the final summary.
Process in this order:
For every ID classified as REGENERATE or DROP in STEP 1.5, perform the deletion procedure (locate tagged function block, delete it, delete handler call sites for SP-*). Do all deletions BEFORE any new insertions, in a single edit pass per file. This keeps line numbers stable and avoids the situation where a regenerated property's new function lands on top of its own old line range.
For each property in the implementation set, in turn:
Base.sol's Ghosts struct.Snapshots.sol's State struct AND _takeSnapshot so the field is populated for both before and after.Properties.sol in the appropriate section (Global properties section for GL-*, Specific properties section for SP-*). Match the existing comment-banner style. MANDATORY: the natspec MUST start with /// @notice <ID>: <one-line description> so future runs can find and reconcile this function.SP-*: edit the relevant handler file in {SUITE_DIR}/handlers/ and call the property function after snapshotAfter(). If ghost updates are needed, add them before the property call.After STEP 5 (build) confirms success:
IMPLEMENT or REGENERATE ID where the new Solidity compiled and (for SP-*) the call site is wired: change its checkbox to [x].IMPLEMENT or REGENERATE ID you decided to skip mid-implementation (infeasible, requires harness restructuring, etc.): change its checkbox to [-]. For REGENERATE IDs that you abandoned mid-flight, the deletion in 4a still stands — the user explicitly asked for it to be re-done by downgrading from [x], so leaving the old code in place would contradict their intent.DROP ID: leave the checkbox as [-] (deletion was the whole job; the checkbox is already correct).DRIFT_WARN ID: do not modify the checkbox at all.Match by exact Spec ID. Do NOT renumber, reorder, or rewrite other lines. Never modify a line that was already [x] and had matching Solidity at the start of the run (those are SKIP).
Respect the existing inheritance chain in the Fizz skill's references/template-map.md if present — do not invent new files.
Run from the project root:
forge buildIf foundry.toml defines a [profile.fuzz] section, prefer:
FOUNDRY_PROFILE=fuzz forge buildFix any compile errors caused by your edits. Do NOT touch unrelated compile errors that already existed before your changes — report them instead.
If a property you wrote fails to compile and you cannot fix it within 2 attempts:
[-] so future runs leave it aloneFor a REGENERATE ID whose new Solidity fails to compile: do NOT restore the deleted old version. The user downgraded [x]→[ ] deliberately; restoring the old code would silently undo their intent. Treat this exactly like an IMPLEMENT failure — flip to [-] and report. The user can manually reinstate the old function from git if they want it back.
Print a concise summary:
fizz-convert results
Implemented (NEW, checkbox flipped to [x]):
GL-01 property_solvency
SP-03 property_depositIncreasesShares (wired into vault_deposit)
Regenerated (deleted + re-implemented, checkbox stays [x]):
GL-05 property_oTokenB_perTokenSolvency
SP-02 property_roundTripNoFreeValue (wired into vault_roundTrip)
Dropped (deleted, checkbox stays [-]):
GL-12 removed property_oldHelper
Skipped (checkbox flipped to [-]):
GL-07 reason: requires unbounded loop over historical state
Drift warnings (NO change made):
GL-09 PROPERTIES.md says [x] but no /// @notice GL-09: function found.
Please restore the function or flip the checkbox to [ ] / [-].
Failed to compile (reverted, flipped to [-]):
SP-09 reason: <error>
Build: PASS / FAILDo NOT mark a property [x] unless its Solidity exists, the build passes, and (for SP-*) it is actually called from a handler.
© pashov, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in fizz/skills/fizz-convert of pashov/skills.
Open the folder on GitHubat commit 92b0ea6
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in pashov/skills, which our catalogue first saw on October 7, 2026.
Fizz Convert next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Fizz Convert this skillpashov/skills | 1.2k | 2 repos | ~3.7k | Automated safety check: Pass | MIT | |
| Smart Contract Auditgreatpie/smart-contract-audit-skill | 101 | — | ~1.1k | Automated safety check: Pass | None | |
| Solidity AuditorGabson0x/bountyforge | 443 | — | ~3.7k | Automated safety check: Pass | None | |
| Solidity Securitywshobson/agents | 40k | 12 repos | ~892 | Automated safety check: Pass | MIT | |
| Input Arithmetic Safetyquillai-network/quillshield_skills | 129 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Fuzz Generatoralt-research2/SolidityGuard | 104 | — | ~763 | Automated safety check: Notes | Custom licence |
greatpie/smart-contract-audit-skill
Script-backed, out-of-box auditing workflow for Solidity/EVM repositories based on EVMbench detect/patch/exploit methodology.
Gabson0x/bountyforge
Security audit of Solidity code while you develop. An agent skill from Gabson0x/bountyforge.
wshobson/agents
Master smart contract security best practices to prevent common vulnerabilities and implement secure Solidity patterns.
quillai-network/quillshield_skills
Detects input validation failures and arithmetic vulnerabilities in smart contracts.
alt-research2/SolidityGuard
Generates Foundry invariant tests and Echidna property-based fuzz tests for Solidity contracts.
alt-research2/SolidityGuard
Comprehensive Solidity contract security scanner detecting 104 vulnerability patterns across reentrancy, access control, arithmetic, DeFi, proxy, and token categories.
pashov/skills
Generate Echidna/Medusa-compatible Solidity fuzz suites from Foundry or Hardhat projects.
pashov/skills
Generates an x-ray.md pre-audit report covering overview, enhanced threat model (protocol-type profiling, git-weighted attack surfaces, temporal risk analysis, composability dependency mapping)…
pashov/skills
Reconcile an existing Fizz harness with a changed source tree.
pashov/skills
Security audit of Solidity code while you develop. An agent skill from pashov/skills.
Works with
Categories
Convert English-language properties in PROPERTIES.md (produced by the Fizz skill) into Solidity assertions inside the existing fuzz harness, then flip their checkboxes. Fizz Convert is an agent skill from pashov/skills.md (produced by the Fizz skill) into Solidity assertions inside the existing fuzz harness, then flip their checkboxes.
Fizz Convert fits situations like: convert properties; implement properties from PROPERTIES.md; convert PROPERTIES.md to Solidity.
Run `npx skills add pashov/skills --skill fizz-convert -a claude-code`. Or copy the skill folder (fizz/skills/fizz-convert in pashov/skills) into .claude/skills/fizz-convert in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pashov/skills --skill fizz-convert -a codex`. Or copy the skill folder (fizz/skills/fizz-convert in pashov/skills) into .agents/skills/fizz-convert in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pashov/skills --skill fizz-convert -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fizz-convert, .gemini/skills/fizz-convert, .github/skills/fizz-convert and .opencode/skills/fizz-convert in your project.
SKILL.md names no scripts, command-line tools or credentials: Fizz Convert is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Fizz Convert is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Fizz Convert: Smart Contract Audit (greatpie/smart-contract-audit-skill, 101 stars), Solidity Auditor (Gabson0x/bountyforge, 443 stars), Solidity Security (wshobson/agents, 40k stars) and Input Arithmetic Safety (quillai-network/quillshield_skills, 129 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pashov (a GitHub user) maintains it in pashov/skills, which has 1,232 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 5, 2026.
Source: pashov/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.