NAME
App::karr::Role::SkillFile - The one way karr finds and writes the bundled skill directories
VERSION
version 0.602
DESCRIPTION
Three commands need the bundled skills: karr skill install and karr skill update write them, karr skill show prints their SKILL.md, and karr init --claude-skill writes the same directories under .claude/skills/ that karr skill install --agent claude-code does. This role is the single place that knows which skills ship, where they come from and how they have to be written, so none of those rules can be fixed in one command and left wrong in the other, which is exactly what happened between tickets #142 and #145.
Two skills ship, in this order: kanban-issues-karr-coordination (reading a board, picking, creating and routing cards, configuring and syncing karr) and kanban-issues-karr-ticket (working the one card an agent was handed). They replace kanban-issues-karr-cli, the single skill earlier releases shipped. That name is retired, and this role is also what finds and removes a leftover directory of it in a target, so an agent is not briefed by the old skill and the new pair at once.
Each skill is a directory, not one file: SKILL.md, the short part an agent loads on every trigger, plus -- where it has them -- references/*.md, the parts it reads on demand once SKILL.md has pointed it there (#285). A skill ships as share/NAME/, and every *.md under that directory is what gets installed -- nothing is listed by name, so a new reference file ships without a code change.
The lookup: that directory via File::ShareDir when the dist is installed, and out of the source tree this file was loaded from when it is not.
The write: every target file is written in place, keeping its inode, so a SKILL.md that is one link of a hardlink chain shared across projects stays part of that chain.
SEE ALSO
App::karr::Cmd::Skill, App::karr::Cmd::Init
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/karr/issues.
IRC
Join #langertha on irc.perl.org or message Getty directly.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <getty@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2026 by Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)