NAME
Skilletor::Report - The reports of sync, check and status – their shape, their text, their exit codes (spec §8)
VERSION
version 0.001
SYNOPSIS
use Skilletor::Report qw( report_text exit_code );
my $report = $sk->sync;
print report_text($report) || 'skilletor: up to date', "\n";
exit exit_code( sync => $report );
DESCRIPTION
The reference's report.ts (spec §8), and the text skilletor status and skilletor check print (cli.ts). The reports themselves are plain data – what skilletor sync --json, check --json and status --json print – built by Skilletor::Engine; this module words them for a person or a model's context, line for line as the CLI does: the same marks, the same activation hints (a skill is active at once, an agent or rule after /reload-plugins), every line passed through "display_safe".
report_text
The sync report's text; empty when no scope has anything to say (the CLI then prints skilletor: up to date).
status_text
check_text
changed or up to date.
exit_code
exit_code( sync | check | status => $report );
The CLI's exit code: 2 for a report with an error, 1 for a check that found a reason to sync, else 0.
display_safe
One line with every control character but tab, every bidi control, the line and paragraph separators, the zero-width space, word joiner and BOM escaped the JSON way (\n, \u001b, ): a name or a message from a config or a source cannot move the cursor, recolour or reorder what is shown.
empty_scope_report
empty_scope_report('user');
conflict_hint
The text after a conflict's path: already exists (use --force to adopt).
backend_label
git https://…, local /path.
has_changes
True when a sync added, updated or removed an item.
has_notable
True when a sync report has anything a hook would show.
ACTIVATION
SUPPORT
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.