My AI-Assisted Workflow

(maiobarbero.dev)

70 points | by maiobarbero 5 hours ago

21 comments

  • crustycoder 2 hours ago
    He's also missed a major step, which is to feed your skill into the LLM and ask it to critique it - after all, it's the LLM that's going to act on it, so asking it to assess first is kinda important. I've done that for his skills, here's the assessment:

    ==========

      Bottom line
      Against the agentskills.io guidance, they look more like workflow specs than polished agent skills.
      The largest gap is not correctness. It is skill design discipline:
    
      # stronger descriptions,
      # lighter defaults,
      # less mandatory process,
      # better degraded-mode handling,
      # clearer evidence that the skills were refined through trigger/output evals.
    
      Skill           Score/10
      write-a-prd          5.4
      prd-to-issues        6.8
      issues-to-tasks      6.0
      code-review          7.6
      final-audit          6.3
    
    ==========

    LLM metaprogramming is extremely important, I've just finished a LLM-assisted design doc authoring session where the recommendations of the LLM are "Don't use a LLM for that part, it won't be reliable enough".

    • fergonco 1 hour ago
      > "Don't use a LLM for that part, it won't be reliable enough".

      You should now ask if the LLM is reliable enough when it says that.

      Jokes aside, how is this a major step he is missing? He is using those skills to be more efficient. How important is going against agentskills.io guidance?

      • crustycoder 1 hour ago
        Because he's asking the LLM to interpret those instructions to drive his process. If the skills are poorly defined or incomplete then the process will be as well, and the LLM may misinterpret, choose to ignore, or add its own parts.

        Skills are just another kind of programming, albeit at a pretty abstract level. A good initial review process for a Skill is to ask the LLM what it thinks the Skill means and where it thinks there are holes. Just writing it and then running it isn't sufficient.

        Another tip is to give the Skill the same input in multiple new sessions - to stop state carryover - collect the output from each session and then feed it back into the LLM and ask it to assess where and why the output was different.

    • swingboy 1 hour ago
      Do these scores actually mean anything? Isn’t the LLM just making up something? If you ran the exact same prompt through 10 times would you get those same scores every single time?
      • grey-area 49 minutes ago
        Yes I'd be interested in that answer too - these scores are most likely just generated in an arbitrary way, given how LLMs work. Given how they work in generating text it didn't actually keep a score and add to it each time it found a plus point in the skill as a human might in evaluating something.

        At this point I'd discount most advice given by people using LLMs, because most of them don't recognise the inadequacies and failure modes of these machines (like the OP here) and just assume that because output is superficially convincing it is correct and based on something.

        Do these skills meaningfully improve performance? Should we even need them when interacting with LLMs?

        • crustycoder 32 minutes ago
          They aren't arbitrary, as I said earlier I got the LLM to de a detailed analysis first, then summarise. If I was doing this "properly" for something I was doing myself I'd go through the LLM summary point by point and challenge anything I didn't think was right and fix things in the skill where I thought it was correct.

          You aren't going to have much success with LLMs if you don't understand that their primary goal is to produce plausible and coherent responses rather than ones that are necessarily correct (although they may be - hopefully).

          And yes, Skills *do* make a significant difference to performance, in exactly the same way that well written prompts do - because that's all they really are. If you just throw something at a LLM and tell it "do something with this" it will, but it probably won't be what you want and it will probably be different each time you ask.

          https://agentskills.io/home

          • grey-area 21 minutes ago
            It would be interesting to see one of these evals and how it generated the score, to work out whether it is in fact arbitrary or based on some scale of points.

            I found the summary above devoid of useful advice, what did you see as useful advice in it?

            > if you don't understand that their primary goal is to produce plausible and coherent responses rather than ones that are necessarily correct (although they may be - hopefully).

            If you really believe this you should perhaps re-evaluate the trust you appear to place in the conclusions of LLMs, particularly about their own workings and what makes a good skill or prompt for them.

            • crustycoder 13 minutes ago
              > It would be interesting to see one of these evals and how it generated the score, to work out whether it is in fact arbitrary or based on some scale of points.

              So go repeat the exercise yourself. I've already said this was a short-enough-to-post rollup of a much longer LLM assessment of the skills and that while most of the points were fair, some were questionable. If you were doing this "for real" you'd need to assess the full response point-by-point and decide which ones were valid.

              > If you really believe this you should perhaps re-evaluate the trust you appear to place in the conclusions of LLMs, particularly about their own workings and what makes a good skill or prompt for them.

              What on earth are you on about? The whole point of of the sentence you were replying to was that you can't blindly trust what comes out of them.

      • crustycoder 39 minutes ago
        No of course you wouldn't because LLMs are nondeterministic. But the scores would likely be in the same ballpark. The scores I posted are the result of a much more detailed analysis done by the LLM, which was far too long to post. I eyeballed it, most of the points seemed fair so I asked it to summarise and convert into scores.
    • jddj 1 hour ago
      Is your premise here that LLMs have a unique or enhanced insight into how LLMs work best?
      • crustycoder 1 hour ago
        I wouldn't go that far but the only way I've found so far of getting a reasonable insight into why a LLM has chosen to do something is to ask it.
      • alexwebb2 1 hour ago
        Not OP but I’d back that assertion.

        When the model that’s interpreting it is the same model that’s going to be executing it, they share the same latent space state at the outset.

        So this is essentially asking whether models are able to answer questions about context they’re given, and of course the answer is yes.

        • didgeoridoo 1 hour ago
          There is no evidence of this. Evals are quite different from "self-evals". The only robust way of determining if LLM instructions are "good" is to run them through the intended model lots of times and see if you consistently get the result you want. Asking the model if the instructions are good shows a very deep misunderstanding of how LLMs work.
          • crustycoder 24 minutes ago
            Is that based on your "deep understanding" of how LLMs work or have you actually tried it? If you watch the execution trace of a Skill in action, you can see that it's doing exactly this inspection when the skill runs - how could it possibly work any other way?

            Skills are just textual instructions, LLMs are perfectly capable of spotting inconsistencies, gaps and contradictions in them. Is that sufficient to create a good skill? No, of course not, you need to actually test them. To use an analogy, asking a LLM to critique a skill is like running lint on C code first to pick up egregious problems, running testcases is vital.

    • grey-area 52 minutes ago
      What does this even mean? It looks like typical LLM bloviation to me: 'skill design discipline', 'stronger descriptions' and 'lighter defaults'??!? This is meaningless pablum masquerading as advice.

      What specifically would this cause you to actually do to improve the skills in question? How would you measure that improvement in a non hand-wavy way? What do these scores mean and how were they calculated?

      Or perhaps you would ask your LLM how it would improve these skills? It will of course some up with some changes, but are they the right changes and how would you know?

      • skydhash 23 minutes ago
        It’s all vibes based, we are not trying to be scientific here. /s

        I discard most LLM advice and skills because either a script is better (as the work is routine enough) or it could be expressed better with bullet points (generating tickets).

    • mpalmer 1 hour ago
      LLMs do not have special or unique insight into how best to prompt them. Not in the slightest.

      https://aphyr.com/posts/411-the-future-of-everything-is-lies...

  • gbrindisi 4 hours ago
    This is pretty much a spec driven workflow.

    I do similar, but my favorite step is the first: /rubberduck to discuss the problem with the agent, who is instructed by the command to help me frame and validate it. Hands down the most impactful piece of my workflow, because it helps me achieve the right clarity and I can use it also for non coding tasks.

    After which is the usual: write PRDs, specs, tasks and then build and then verify the output.

    I started with one the spec frameworks and eventually simplify everything to the bone.

    I do feel it’s working great but someday I fear a lot of this might still be too much productivity theater.

    • senko 3 hours ago
      I think most of us are ending up with a similar workflow.

      Mine is: 1) discuss the thing with an agent; 2) iterate on a plan until i'm happy (reviewing carefully); 3) write down the spec; 4) implement (tests first); 5) manually verify that it works as expected; 6) review (another agent and/or manually) + mutation testing (to see what we missed with tests); 7) update docs or other artifacts as needed; 8) done

      No frameworks, no special tools, works across any sufficiently capable agent, I scale it down for trivial tasks, or up (multi-step plans) as needed.

      The only thing that I haven't seen widely elsewhere (yet) is mutation testing part. The (old) idea is that you change the codebase so that you check your tests catch the bugs. This was usually done with fuzzers, but now I can just tell the LLM to introduce plausible-looking bugs.

    • energy123 2 hours ago
      > write PRDs, specs.

      I do the same thing, but how to avoid these needing to be insanely long? It's like I need to plug all these little holes in the side of a water jug because the AI didn't really get what I need. Once I plugged the biggest holes I realize there's these micro holes that I need to plug.

    • nkzd 1 hour ago
      Can you share the rubberduck skill?
    • DeathArrow 33 minutes ago
      How does the rubberduck skill looks like?
  • lbreakjai 1 hour ago
    My workflow is quite similar, but it's leveraging Notion instead of markdown files.

    https://github.com/tessellate-digital/notion-agent-hive

    The main reason is we're already using Notion at work, and I wanted something where I could easily add/link to existing documents.

    Sample size of one, but I've noticed a considerable improvement after adding a "final review" step, going through the plan and looking at the whole code change, over a naive per-task "implement-review" cycle.

  • nDRDY 3 hours ago
    Here's mine: code to spec until I get stuck -> search Google for the answer -> scan the Gemini result instead of going to StackOverflow.
    • spicyusername 1 hour ago

          code to spec until I get stuck 
      
      This part will go away over the next year. You doing it will be too slow, when an agent can do it in 5 to 30 minutes.

      Technically it's not needed now, but everything's so new, it's understandable. Everyone's workflow hasn't migrated yet. You should go take a look.

      We all mourn the loss of the craft, but the wheel turns. People still make furniture by hand sometimes, even if most furniture is made in a factory now.

      • nDRDY 1 hour ago
        Why hasn't it gone away already? ChatGPT at least has been around for over 3 years.

        Why is my AI-first colleage constantly having to get more expensive AI subscriptions approved?

        >most furniture is made in a factory now

        Terrible analogy. Software is not like a mass-produced item - it is written significantly less often than it is executed!

        You could say that AI will allow many more variations of softwares to be written in the same time frame, but I'm still sure I can produce quality output in a competitive time.

        • skydhash 18 minutes ago
          Also a lot of software should be small. The only reason they aren’t (especially web) is because the trend is to bring in frameworks instead of using libraries. I spend more times tweaking code than adding features. The time spent on coding is way smaller than the time spent discussing about those tweaks
  • Bossie 3 hours ago
    My workflow is also highly inspired by Matt's skills, but I'm leveraging Linear instead of Github.

    /grill-me (back-and-forth alignment with the LLM) --> /write-a-prd (creates project under an initative in Linear) --> /prd-to-issues (creates issues at the project level). I'm making use of the blockedBy utility when registering the issues. They land in the 'Ready for Agent' status.

    A scheduled project-orchestrator is then picking up issues with this status leveraging subagents. A HITL (Human in the loop) status is set on the ticket when anything needs my attention. I consider the code as the 'what', so I let the agent(s) update the issues with the HOW and WHY. All using Claude Code Max subscription.

    Some notes:

    - write-a-prd is knowledge compression and thus some important details occasionally get lost

    - The UX for the orchestrator flow is suboptimal. Waiting for this actually: https://github.com/mattpocock/sandcastle/issues/191#issuecom...

    - I might have to implement a simplify + review + security audit, call it a 'check', to fire at the end of the project. Could be in the form of an issue.

  • didibear77 55 minutes ago
    This looks a lot like the [BMad Method](https://github.com/bmad-code-org/BMAD-METHOD)
  • yanis_t 1 hour ago
    Spec-driven approach is fun. I wonder at which point of anytime at all we are going to commit only specs into the got repo, while the actual code can be generated.

    Obviously we’re not here yet because of price, context, and non-determinism, but it’s nice area to experiment with.

  • fpauser 1 hour ago
    > What is AI actually good at? Implementation.

    AI is good in generating a lot of spaghetty code.

  • tim-projects 1 hour ago
    I automated a lot of this with a tool I wrote - https://github.com/tim-projects/tasks-ai

    It's not perfect by all means but it does the job and fast. My code quality and output increased from using it.

  • cg-enterprise 1 hour ago
    Did you compare your flow to superpowers/GSD?
  • zkmon 3 hours ago
    Congrats! You just rediscovered something called water-fall model.
    • virgilp 2 hours ago
      Waterfall was bad due to the excessively long feedback loops (months-to-years from "planning" to "customer gets to see it/ we receive feedback on it"). It was NOT bad because it forced people to think before writing code! That part we should recover, it's not problematic at all.
      • kown7 1 hour ago
        If people actually read the original paper by Royce 1970 they would see that it's an iterative process with short feedback-loops.

        The bad rep comes from (defense|gov.) contracting, where PRDs where connected to money and CR were expensive, see http://www.bawiki.com/wiki/Waterfall.html for better details.

      • paganel 1 hour ago
        When you do most of the thinking before you start implementing the whole thing, and if you think that that's enough, then you've missed the unknown unknowns part, which was a big talking point in the mid 2000s, back when the anti-waterfall discourse got going (and for good reason).

        But I expect the AI zealots to start (re-)integrating XProgramming (later rebranded as Agile) back into their workflow, somehow.

    • lores 3 hours ago
      That's not what's considered waterfall, though. Specs are always required for any work, even if they're only in your head, even if the work takes 15 minutes. It's the length of the feedback loop and the resistance to spec change that makes waterfall, and by his use of tracer bullets I very much doubt it's the case here, if there was any doubt at all to have.
    • senko 3 hours ago
      Did you know that agile is just waterfall scaled down to two weeks? Now you know!
      • FairlySadPanda 3 hours ago
        No /s here so just in case this is a serious point:

        Agile is a set of four principles for software development.

        Scrum is the two-week development window thing, but Scrum doesn't mandate a two week _release_ window, it mandates a two week cadence of planning and progress review with a focus on doing small chunks of achievable work rather than mega-projects.

        Scrum prefers lots of one-to-three day projects generally, I've yet to see training on Scrum that does not warn off of repeatedly picking up two-week jobs. If that's been your experience, you should review how you can break work down more to get to "done" on bits of it faster.

        • senko 3 hours ago
          All good points here (and yeah I didn't add /s, hopefully "now you know!" was sufficiently obvious over-the-top).

          All that said, in most orgs I've worked with, they were following agile processes over agile principles - effectively a waterfall with a scrum-master and dailies.

          This is not to diss the idea of agile, just an observation that most good ideas, once through the business process MBA grinder, end up feeling quite different.

        • azangru 1 hour ago
          > Agile is a set of four principles

          Twelve :-) Twelve principles and four values

  • skydhash 33 minutes ago
    > The single most valuable shift I made was treating every feature as a thinking problem first and an implementation problem second

    That’s pretty much the whole point of software engineering. Coding is easy, solving problems is hard and can be messy (communication errors and workarounds to some inevitable issue).

    If you’re familiar with the codebase, when you have a change request, you will probably get an insight on how to implement it. The hard thing is not to code it, but to recalibrate all the tradeoffs so that you don’t mess with existing features. That’s why SWE principles exists. To make this hard thing easier to do.

  • throwatdem12311 1 hour ago
    Congratulations you reinvented spec-kit.
  • hansmayer 3 hours ago
    No kids, don´t put yourself through this suffering. If you have to invest so much deliberate effort to sort of make it work - while you still handle the most tenuous and boring parts yourself, then what is the point? Lets keep the LLM vendors to their word - they promised intelligent machines that would just work so well to the point of causing mass unemployment. Why on earth do we have to work around the LLMs to make them work? What is the point? Where is my nation of datacenter PhDs or a PocketPhd, depending on whose CEOs misleading statement one quotes?
  • troupo 1 hour ago
    I just use /brainstorming from https://github.com/obra/superpowers/tree/main

    Then I tell it to write a high level plan. And then rum subagents to create detailed plans from each of the steps in the high-level one. All olans must include the what, the why, and the how.

    Works surprisingly well, especially for greenfield projects.

    You have to manually revie the code though. No amount of agentic code review will fix the idiocy LLMs routinely produce.

  • imiric 4 hours ago
    Why is everyone compelled to write one of these articles? Do they think that their workflow is so unique that they've unlocked the secret to harnessing the power of a pattern generator? Every single one of these reads like influencer vomit.

    My workflow hasn't changed since 2022: 1. Send some data. 2. Review response. 3. Fix response until I'm satisfied. 4. Goto 1.

    • Brajeshwar 4 hours ago
      It is OK. I actually love looking around other people’s work. Perhaps, I will never follow exactly but one a while, I get the gotchas where I can steal and adapt to mine. Let it be, let people express. If not for the veterans with years of experience, people coming in recently should find these things something to read up and learn.
    • mhd 2 hours ago
      > Why is everyone compelled to write one of these articles?

      LinkedIn clout.

    • klueinc 2 hours ago
      Documenting what I do is fun and relaxing and for me so I write. Only time I had to share mine was to a friend who wanted was getting into coding lately. https://www.nadeem.blog/writing/workflows
    • kubik369 2 hours ago
      I think your take is overly negative. Regardless of what they think, sharing ones experiences with others is how we advance, both as individuals and as a community/mankind. Talking about AI workflows, I am personally interested in how the people who are happy working with AI work, so that I could also be happier with my work. If they write their workflow, I can either learn from it and improve my work, or learn that they are doing something completely different from what I do, which might explain the disparity between people's experiences with AI, or learn that they are spouting nonsense, reaffirming that it might really be mostly hype. Either way, each one of these is a net positive information for me.
    • arnvald 4 hours ago
      Nobody writes about their work thinking the whole world will read it. They write it for their friends, maybe a small group of regular readers, also for themselves. I for one really like it, even if I get bored after reading 5 similar articles, because maybe someone will only ever read one of them, and it’ll help them improve their own work.
      • Chaosvex 1 hour ago
        I mean, that argument doesn't hold water when you then post it on HN and Reddit.
    • romanovcode 4 hours ago
      > Do they think that their workflow is so unique that they've unlocked the secret to harnessing the power of a pattern generator?

      Yes, just like everyone were thinking their .vimrc was amazing 20 years ago. It is vomit.

      • skydhash 13 minutes ago
        Posting .vimrc was actually great. You can quickly scan it to find interesting bits, then you may add those bits in your config.

        Now there’s nothing to pick or compare. Just vibes and my shamanic dance is twistier than yours.

  • pydry 3 hours ago
    >What is AI actually good at? Implementation. What is it genuinely bad at? Figuring out what you actually want

    I've found it to be pretty bad at both.

    If what you're doing is quite cookie cutter though it can do a passable job of figuring out what you want.

    • crustycoder 2 hours ago
      LLMs work OK for "Mostly iterative and mostly one-off" tasks like codegen, where you can effectively "review the result into existence", and that's where most of the buzz is at the moment.

      Where they don't work at all well is for hands-off repeatable tasks that have to be correct each time. If you ask a LLM for advice, it will tell you that you need to bound such tasks with deterministic input contract and a deterministic output contract, and then externally validate the output for correctness. if need to do that you can probably do the whole thing old-skool with not much more effort, especially if you use a LLM to help gen the code, as above. That's not a criticism of LLMs, it's just a consequence of the way they work.

      They are also prone to the most massive brain farts even in areas like coding - I asked a LLM to look for issues in some heavily multithreaded code. Its "High priority fix" for a infrequently used slow path that checked for uniqueness under a lock before creating an object was to replace that and take out a read lock, copy the entire data structure under the lock, drop the lock, check for uniqueness outside of any lock, then take a write lock and insert the new object. Of course as soon as I told it it was a dumbass it instantly agreed, but if I'd told it to JFDI its suggestions it would have changed correct code into badly broken code.

      Like anything else that's new in the IT world, a useful tool that's over-hyped as sweeping awsy everything that came before it and that's gleefully jumped on by PHBs as a reason to get rid of those annoying humans. Things will settle down eventually and it will find its place. I'm just thankful I'm in the run up (down?) to retirement ;-)

  • progx 4 hours ago
    My AI-Results
  • consomida 2 hours ago
    [dead]
  • slopinthebag 3 hours ago
    [dead]