Skip to content

AI-maintainer skills wishlist #561

@odunbar

Description

@odunbar

Issue

I am currently developing some Claude skills for this repository. I will compile a quick wishlist of some stuff that I think would be great for AI to do, and are currently always on my to-do list. I have a settings.json that asks users to use these skills (or create new ones if it is a common task not yet covered)

Skill philosophy here - enforced by user, and Meta-skills below

  1. Suited to doing one particular task. We can call on these skills occasionally (and manually for now) like any other tool to improve the user experience of the repository.
  2. Suited for easy copy to different repositories (though tailored to a repository through examples etc.)
  3. Must have a mechanism for self-improvement.

The wishlist

As I am just learning here, some of these might be ideally suited and others need scope refinement. This set can easily evolve however.

Meta-skills

  • skill-creator (adapt anthropic's one)
  • (e.g. something to help the AI navigate the repository efficiently and save tokens)

Repo-skills

  • docstring : docstring maintenance and consistency with arguments returns etc. in line with julia conventions, and using DosStringExtensions, listing examples if needed.
  • base-show: Adding prettified base-show and base-summary methods to all structs in src/. Particularly ones that curb long high-dimensional distributions
  • error-message-manager: a tool to maintain good consistency of error messages. Errors should be actionable,.(e.g. Argument errors have Expected X, received Y. ). Common errors should be unified into one message, with a method bad_xyz_call(state) put into the different sites. in-loop errors must have context (e.g. the iteration and state at which the error was thrown).
  • slurm-pipeline-manager for users to a take a local EKP template/pipeline. And write an HPC workflow thatwill create job arrays for the ensemble and handl quirks relating to Julia precompiling etc. or race conditions when writing files
  • diagnostic-manager More consistent reporting of diagnostics for verbose=true/false
  • testset-manager Better organization of testing, instances and testset encapsulation
  • unit-test-constructors Builds organized unit tests for all simple constructors
  • docs-quicklinks-manager updates the readme and index quicklinks when docs have changed.
  • deprecator - users can provide an old keyword/api and this will create a deprecated method notice.
  • readme and news - updates the Readme.md or News.md

... add to me

Agents

there are also special agent types that might be useful

the philosophy

  • from what I gather, agents are used primarily for context control and a useful dispatcher for parallelism
    • an agent is most useful if internally it performs a very very simple task, that might use a lot of internal context, but then and returns a small output (e.g. read a file and provide a short summary, or relevant line numbers)
    • in parallel, every agent requires it's own startup context, so we want them to perform a very direct and simple task to minimise the token usage per agent. (E.g. call this function to read this exact file here (don't search for a file))

A wishlist

  • JuliaExplore - (context, we don't want to read and search files in general, we want to query an api for the locations) this agent will use only queries to find relevant information for file changes etc.
    • Have a code-tool construct such a queriable database. The AI agent should then use it.

... add to me

Useful non-AI tools

  • Navigation: It appears like AI does a lot of searching, we should construct something to construct a navigatable/queriable structure
  • pre-commit hooks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions