agentsclimarketplace

Find workflow state gaps

Skill KhurrumMahmood/senior-vibe-engineer/.claude/skills/find-workflow-state-gaps

Advisory SUSPECT scan for workflow state coverage gaps in JavaScript and templates: loading, empty, failure, retry/cancel, disabled, and mobile states. Also imports workflow-duplication findings as state-authority context.From its SKILL.md

Install
npx -y skills add KhurrumMahmood/senior-vibe-engineer --skill find-workflow-state-gaps

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.2 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

/find-workflow-state-gaps

Use this as a state-coverage audit for async workflow surfaces. It is especially useful before adding another polling panel or after a cleanup that moves route/template/JS ownership.

How success is judged

  • The run writes a real scan directory under reports/find-workflow-state-gaps/scan-<UTC>/ containing detections.jsonl, report.md, and findings.json, and updates the latest symlink.
  • The closing summary pastes the runner's exact wrote <report_dir> line and the finding count from findings.json; claims without those artifacts do not count.
  • Every reported gap names one detector band and one follow-up decision: state coverage fix, Playwright/manual verification, accepted false-positive, or guard proposal.
  • The run stays advisory. It does not edit templates, JavaScript, tests, or workflow registries.

Pipeline

Run the one-shot wrapper from the repository root:

.venv/bin/python .claude/skills/find-workflow-state-gaps/scripts/run.py <paths...>

If <paths...> is omitted, the scanner examines the host-declared workflow targets from the shared workflow descriptor helpers. In a repo with no workflow descriptor, pass explicit file or directory paths. To scan only one surface, pass that specific path.

For a raw detector replay without report rendering:

.venv/bin/python .claude/skills/find-workflow-state-gaps/scripts/detect.py \
  --project-root "$(pwd)" \
  --no-workflow-duplication \
  --output /tmp/workflow-state-gaps.jsonl \
  <paths...>

Render an existing raw detector file:

.venv/bin/python .claude/skills/find-workflow-state-gaps/scripts/report.py \
  /tmp/workflow-state-gaps.jsonl \
  --target "<workflow surface>" \
  --output /tmp/workflow-state-gaps.md

Detector Bands

  • missing_loading_state
  • missing_empty_state
  • missing_failure_state
  • missing_recovery_state
  • missing_disabled_state
  • missing_mobile_state
  • state_authority_context:* imported from /find-workflow-duplication when that detector is present.

Judgment Points

  • Treat this scan as a prompt for inspection, not proof of a UI bug. Before recommending code work, read the flagged file and confirm the state is truly absent from the rendered path.
  • A low-confidence missing_mobile_state finding requires a viewport check or a named reason it is out of scope; do not turn it directly into a guard.
  • A state_authority_context:* row is context for ownership drift. Do not fix it inside this skill; hand it to /find-workflow-duplication or the product-topology skill named by the row.
  • If the scan produces zero rows, still report the scan directory and finding count. A clean scan is a valid artifact only when findings.json confirms zero findings.

Replay Case

The fixture smoke test is the cheap replay case for the detector bands:

.venv/bin/python .claude/skills/find-workflow-state-gaps/scripts/smoke.py

It must print find-workflow-state-gaps smoke OK. If it fails, do not trust a catalog-wide scan until the fixture failure is repaired.

When things go sideways

SymptomAction
Wrapper exits non-zero or prints no wrote lineStop, paste stdout/stderr, and do not claim a report was produced
reports/find-workflow-state-gaps/latest is missing or points at no directoryReport the broken artifact path and re-run the wrapper before judging findings
A path argument does not exist or expands to no .js / .html filesState that the target produced no scanned files and ask for a corrected path; do not broaden scope silently
No paths were passed and the host has no workflow descriptorReport that no default workflow targets were available; re-run with explicit file or directory paths
Imported workflow-duplication context failsRe-run with the raw detector and --no-workflow-duplication, paste that command output, and mark authority-context rows unavailable
Findings are obviously generated from fixture, vendored, or generated filesMark them false-positive in the summary with the path evidence; do not delete rows from detections.jsonl

Repository layout

.claude/skills/find-workflow-state-gaps/
├── SKILL.md
└── scripts/
    ├── detect.py
    ├── report.py
    ├── run.py
    └── smoke.py

What ships with it: 10 files

13.8 KB alongside SKILL.md, 6 of them executable

scripts/

Gives 0 of the 12 instructions most automation workflows skills give in ~1.0k tokens

Counted across 745 of the 1,008 authors here whose files we hold, read 2026-08-07

  • Write conventional commit messagesin 36 of 745, across 35 files
  • Delete branches after mergein 30 of 745, across 21 files
  • Make atomic commitsin 25 of 745, across 15 files
  • Write minimal code to pass testsin 22 of 745, across 10 files
  • Re-snapshot after navigation or DOM changesin 21 of 745, across 13 files
  • Use try-catch for error handlingin 20 of 745, across 8 files
  • Run tests before committingin 20 of 745, across 12 files
  • Write tests before implementationin 20 of 745, across 8 files
  • Configure branch protection rulesin 19 of 745, across 5 files
  • Explain the why in commit messagesin 19 of 745, across 9 files
  • Refactor code while tests remain greenin 19 of 745, across 6 files
  • Interact with elements using refsin 19 of 745, across 11 files

Said here and by no other author read

  • run the one-shot wrapper from repository root
  • write detections, report, and findings to a scan directory
  • update the latest symlink to the scan directory
  • paste the exact report directory line in the summary
  • name one detector band and one follow-up decision per gap
  • read the flagged file before recommending code work

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.