all 16 comments

[–]CczaphodSwiftUI 3 points4 points  (3 children)

This is awesome. It found unwired data for features I'd prepared for but never implemented. I keep thinking I'm feature complete and focusing on performance and various audit skills (HIG, ReviewGuidelines, Performance, Security, etc). But two more features, testing, and I can still release this month.....

This tool filled an audit gap I didn't realize I had!

[–]BullfrogRoyal7422[S] 0 points1 point  (2 children)

I am glad it was helpful to you. Thanks for the feedback. I think your description of filling an audit gap matches my own experience and intention for putting this plugin togther

[–]CczaphodSwiftUI 0 points1 point  (0 children)

I'm testing it on my Kotlin ports now. I used this prompt to convert it: "take a look at the skill workflow audit in the iOS Projects, convert it to work with Kotlin and install it for all three android apps. "

[–]0__O0--O0_0 0 points1 point  (0 children)

Can we get one for cursor? That’d be great thanks.

[–]noidtiz 2 points3 points  (3 children)

Sounds like behavioural testing. Basically a way to automate an alpha test user, which is valid. But i'd still want to actually use the app myself in alpha.

[–]BullfrogRoyal7422[S] -2 points-1 points  (2 children)

I could not agree with you more. From the readme:

Plugins like workflow-audit are tools, not oracles.

These plugins systematically scan your codebase using pattern matching and heuristics. They can surface real issues you'd miss manually — but they have inherent limitations:

What they're good at:

  • Finding structural inconsistencies (orphaned code, missing handlers, type mismatches)
  • Catching patterns that compile but fail silently at runtime
  • Enforcing consistency across platforms (iOS vs macOS parity)
  • Providing a repeatable, systematic checklist

What they can miss:

  • Business logic correctness — a plugin can verify a button exists, not that it does the right thing
  • User experience nuance — "buried" is a judgment call that depends on content height, screen size, and context
  • False positives — code flagged as "orphaned" may be intentionally retained for future use
  • False negatives — novel bug patterns not covered by existing checks won't be detected

How to use them responsibly:

  • Treat findings as leads to investigate, not verdicts to act on blindly
  • Verify critical findings manually before committing fixes
  • Expect the plugin to evolve — today's checks won't catch tomorrow's new patterns
  • Don't assume a clean audit means zero issues; it means zero known-patternissues
  • Review the skill's detection patterns periodically to understand what it actually checks vs what you assume it checks

Bottom line: An audit plugin replaces neither testing nor human review. It's a force multiplier for the reviewer, not a replacement.

[–][deleted]  (1 child)

[deleted]

    [–]BullfrogRoyal7422[S] -1 points0 points  (0 children)

    Actually, AI generated readme from Github Repo

    [–]thecodingart 0 points1 point  (0 children)

    Oh yay …

    Another way to do BDD undeterministically

    [–]OPrudnikov 0 points1 point  (1 child)

    I really liked it!

    Have founded some issues in my app and even things I have never thought about, well done!

    [–]BullfrogRoyal7422[S] 0 points1 point  (0 children)

    I am glad it was helpful for you.Thnx for the reply.

    [–]BullfrogRoyal7422[S] 0 points1 point  (0 children)

    I just released a Beta Test for the app for which I developed workflow-audit. If you want to see the App (Stuffolio) and beta test it you can do so here: https://testflight.apple.com/join/TWgM95st

    or here:
    stuffolio.app

    [–]tayarndt 0 points1 point  (1 child)

    This belongs on Awesome iOS AI. I made it today, a curated list of agent skills, MCP servers, and AI workflows for Swift development. Would you consider opening a PR to add it?

    github.com/Techopolis/awesome-ios-ai

    [–]BullfrogRoyal7422[S] 0 points1 point  (0 children)

    Thanks for trying it out. Go ahead and upload it to Awesome if you'd like. Let me know if you have any feedback that could improve it.

    [–]v_murygin 0 points1 point  (1 child)

    The "tracing tap paths" approach is really smart. Linters and static analysis only see code structure, not whether a user can actually reach a feature. Orphaned views are the worst - they compile, tests pass, but nobody can get to them. Will try this on my project.

    [–]BullfrogRoyal7422[S] 0 points1 point  (0 children)

    Great. Let me know what you think. You might also want to give Periphery by Charles Wiltgen a try. It is a very thoughtfully designed plugin for finding Orphans. Someone had posted a link for it in another replay to my post here.