Live data from Hacker News

Ask HN: How do you manage skills files?

news.ycombinator.com

231–240 of 333 posts

Re: Ask HN: How do you manage skills files?

#232

I use SKILLS.md to define workflows rather than having instructions in them. Like, delete the foreign keys in the database before loading the table using AWS DMS for CDC. This is required because LLM may not be aware of why we are deleting the foreign keys in the DB in the first place. The SKILLS.md helps the LLM to identify the tables for which foreign keys needs to be deleted before they are loaded by DMS for CDC.

I like this usecase, I could have used it myself. But I actually moved out of DMS to OLake, its open source and gives ways to operate it via both UI and CLI. But thanks for sharing this!

Re: Ask HN: How do you manage skills files?

#233

Earlier quoted context omitted.

My company ran a test and found that they reduce token output on flagship model by something like 2-4x, and that number has been increasing with newer models. I suspect the increased subagent usage is driving this trend, because this means we're relying on models to do their own prompt engineering. Yes, they are just text, and can therefore be replaced with good prompting. However, this also means they confer a real…

I am somewhat confused by takes like this. Of course skills are just prompts, this is the whole point. A skill is just a stored prompt you want to put more information into than you're likely to type out every time you intend to do that thing. Documentation of a business process.

It's not just a stored prompt, you can attach re-useable scripts to them to offer more determinism. ex: a script that validates that a PR follows exactly the template you want, with a max of N lines per entry.

The more determinism you have, the more consistent you can be and the more leverage you can build. (yes I understand that skill calls are non deterministic).

Re: Ask HN: How do you manage skills files?

#234
post #105

Skills are mostly snake oil, the way people use them (the aspiration to download kung foo from a celebrity). There was a time when maybe it mattered (last year), but with good repos and good prompts today's agents can find exactly what they need without any skills. "Skills" as developer macros can be useful, but at most those are things shared with the team (in the repo), not something you download from the internet.…

There needs to be a word for this type of interaction because it’s so common in software engineering: Q: I need help doing X A: if you’re doing X, you’re doing it wrong. I propose the word shamesplaining. What do you think? Not saying your opinion isn’t valid. It just doesn’t answer the question and it’s disturbing that this is the top voted answer. It sounds more like a criticism than an answer.

The corrollary interaction is this:

Q: I need help doing X

A: What are you really trying to do?

Re: Ask HN: How do you manage skills files?

#235

Earlier quoted context omitted.

I am somewhat confused by takes like this. Of course skills are just prompts, this is the whole point. A skill is just a stored prompt you want to put more information into than you're likely to type out every time you intend to do that thing. Documentation of a business process.

It's not just a stored prompt, you can attach re-useable scripts to them to offer more determinism. ex: a script that validates that a PR follows exactly the template you want, with a max of N lines per entry. The more determinism you have, the more consistent you can be and the more leverage you can build. (yes I understand that skill calls are non deterministic).

That's just a stored prompt that references a script :)

Re: Ask HN: How do you manage skills files?

#237

Earlier quoted context omitted.

I am somewhat confused by takes like this. Of course skills are just prompts, this is the whole point. A skill is just a stored prompt you want to put more information into than you're likely to type out every time you intend to do that thing. Documentation of a business process.

It's not just a stored prompt, you can attach re-useable scripts to them to offer more determinism. ex: a script that validates that a PR follows exactly the template you want, with a max of N lines per entry. The more determinism you have, the more consistent you can be and the more leverage you can build. (yes I understand that skill calls are non deterministic).

We do that, but keep the scripts in the code and just tell them in the markdown where the scripts are, same with "references" (docs/) for us. It never made sense to me to put those in a skill dir, many are useful across skills and for humans (many written for humans before agents were a thing)

One of the more interesting benefits to skills is that many harnesses now run the inline command(s) in backticks, shortcutting the model needing to make a tool call. This is helpful for deterministically building up context content for the skill before the agent ever sees it.

We take this further in some instances and have workflows that (1) does deterministic context gathering (2) invokes an agent (3) processes a file the agent is told to produce. This has made our PR review agent much better and removed it's access to all credential files. We have a step that gathers the diff + existing pull request comments into a .review dir, let the agent process that and create a comments.jsonl, then run a script in a new step to apply the comments against the API

Re: Ask HN: How do you manage skills files?

#238
Skills are encoding a process. The more niche the process the more useful the skill. As the process grows to a larger audience it becomes more generic and thus converges with the models knowledge. So skills are better for a smaller group of people. And similarly how it's packaged and maintained becomes specific to that group.

Re: Ask HN: How do you manage skills files?

#239
tbh I use 1 custom skill (workflow for completing a github issue and opening dev server/PR) and have it checked-in to my main project repo.

For me, it's like a dev script basically and gets that level of care. I don't need an eval... I'm the only user and I use it like 5 times a day.

Re: Ask HN: How do you manage skills files?

#240
I use skills all day, every day. One of my greatest annoyances right now is having to switch between `/` and `$` in moving between CC and codex. At one point I attempted to hack the CC TUI to accept $ but failed, I may yet return to that.

All of my skills are custom to my workflows except Contextify (more on that at the end) This extends to how I distribute them across multiple development machines.

They live in my `cli-ai-setup` repo alongside agent settings, git worktree tooling, iTerm workspace restoration (important, machines have to restart and crash sometimes), code review scripts, and machine setup guides. I use git to carry changes between machines and a setup script to symlink the skills into a shared directory that Claude Code and Codex both use.

I have a `skills-and-settings` skill specifically for deciding where new skills belong and how to make them available (project, global, application). I also have a custom `skill-create` skill that turns sessios into new skills or updates existing ones.

Importantly, I also have entire custom applications I have not yet made open source that my cli-ai-stack relies on. I do expect to distribute these so they live in their own repo and are symlinked or installed in as appropriate.

For maintenance, I've largely handled this manually and organically. When a skill is not performing, I'll use the context of the situation as the ~1 shot or pull in more examples for the ai:

   This skill seems to not be performing as expected on [something]. 
   
   This has happened a couple of times now use /total-recall to find similar recent situations for example [something I remember]"

   Recommend updates to the skill and upon approval commit and push them...etc.
My other machines watch this repo and the symlink structure means that the updates are carried into live cli-ai sessions almost immediately.

This past week I was exploring the automatic skill improvement behavior described in the Anthropic blog guest post with their partner org. I'd previously build a "dreaming" skill that works okay and think there may be some value yet to plumb there.

For skill creation, I have a skill that reads the official skill docs for both Claude Code and Codex. This way the skills are built to handle both platforms particularities. I automatically pull those docs into local Markdown daily, so it has a regularly refreshed reference for what each tool supports.

As mentioned above, I have built Contextify (https://contextify.sh) which provides a sql database of all of my Claude Code an Codex session transcripts across all of my development machines. The skill for this (/total-recall) is the most important skill I have and I use it constantly.

Post reply on HN