NAME
Skilletor::Briefing - Are an installed agent's briefing skills there? (spec §6.7)
VERSION
version 0.001
SYNOPSIS
use Skilletor::Briefing qw( skill_roots missing_skills briefing_warning );
my $roots = skill_roots( claude => project => { home => $home, project_dir => $project } );
my $missing = missing_skills( claude => "$project/.claude/agents/.local.reviewer.md", $roots );
print briefing_warning( 'reviewer', 'claude', $missing ), "\n" if $missing && @$missing;
DESCRIPTION
The reference's briefing.ts (spec §6.7). An agent may declare skills for the briefing plugin (briefing: { skills: [...] } in its frontmatter); one installed without them fails when it is spawned. This reads the installed agent file – never renders it – and names the bare skill names no root the harness's briefing lookup searches holds: for Claude Code the project's .claude/skills (a project agent), ~/.claude/skills and Claude Code's plugin cache. plugin:skill names are not checked. Read-only; a file it cannot parse yields nothing.
declared_skills
declared_skills( claude => $text ); # [ names ], or undef when the frontmatter cannot be read
skill_roots
skill_roots( $harness, $scope, { home, codex_home?, project_dir? } );
missing_skills
missing_skills( $harness, $file, $roots ); # [ names ], or undef
briefing_warning
The report line for one agent and target.
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.