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.