NAME

App::karr::Role::SkillFile - The one way karr finds and writes a bundled skill file

VERSION

version 0.500

DESCRIPTION

Three commands need the bundled skill file: karr skill install and karr skill update write it, karr skill show prints it, and karr init --claude-skill writes the same .claude/skills/karr/SKILL.md that karr skill install --agent claude-code does. This role is the single place that knows both where that file comes from and how it has to be written, so neither rule can be fixed in one command and left wrong in the other, which is exactly what happened between tickets #142 and #145.

The lookup: share/claude-skill.md 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: the target 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; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.