building a Claude Code Skill for creating q2-plugins

I'm building a Claude Code skill to assist with QIIME 2 plugin development using develop.qiime2.org as its knowledge base — is anyone already doing this, and would the dev team want to collaborate or eventually host it officially?

A Claude Skill is information that Claude reads only when relevant. Its written in markdown, so its also human readable, and pretty easy to adapt from web pages. Having it stored as a skill means that Claude doesn’t get lost looking for information on the web just to get oriented, but the skill can point to online pages so Claude can reference the latest documentation.

I think this would be very beneficial in lowering the effort it takes to add a tool to the qiime2 ecosystem while increasing all of the refinement. Things like units texts and packaging for distribution and updating documentation are things that humans often want to skimp on, but Claude really shines in these areas. Distributing the skill can be as simple as making it a github repository.

3 Likes

Hey @Ivory and welcome to the forum!

Yes, we have been working on this but didn't want to release prematurely, but since you asked - here we go :smiley: I have a repository hosting three skills (note: these can be used with other models, not only the Anthropic ones):

  • plugin-creator - focusing on scaffolding a functional plugin from the template described in the dev docs
  • action-creator - focusing on wrapping external tools into Q2 actions
  • unit-test-writer - focusing specifically on adding tests to the action code

Currently, I'm also working on a skill tailored more towards building visualizations - coming soon! :hammer_and_wrench:

All of them are available here: GitHub - misialq/qiime2-agent-skills · GitHub

Feel free to try them, but for full transparency and as a general warning: always validate the code which the agent produced, even if using skills like those - they are in no way a guarantee that the generated code will be 100% correct.

Finally, if you have any ideas on what you'd like to see included there which is not yet possible I'd be more than happy to collaborate on expanding that skill set - just let me know!

Cheers and happy QIIMEing,
Michal

7 Likes

This is awesome!
I like three way split. In my own draft its all crammed into one skill–which is less efficient. I will try to actually test this out soon.

Did you have distribution mechanism in mind yet?

When I “install” a Claude Skill like this to test it out, my approach is:

Clone the repo and cd into it.

git clone https://github.com/misialq/qiime2-agent-skills.git
cd qiime2-agent-skills

Use pointers (symbolic links) to add the skill to the directory where Claude will look for it, but still maintain it in the git repo.

# from the repo top directory
mkdir -p ~/.claude/skills

for SKILL in \
 qiime2-action-creator \
 qiime2-plugin-creator \
 qiime2-unit-test-writer
do
  ln -s ${PWD}/${SKILL} ~/.claude/skills/${SKILL}
done

Double check the paths with:

ls -l ~/.claude/skills/ 

Check that claude sees them: claude > /skills
Update the repo as needed with git pull.

This allows me to cherry pick the skills I want from any number of repositories, and keep them up to date.

2 Likes

So far I did pretty much what you described (although I did that for Codex). I am going to try distributing them using Claude's plugin marketplace - I'll post here once that's up :slight_smile:

In the meantime, let me know how these worked out for you once get to try them!

Cheers,
Michal

1 Like