skills
cli.skills
tvbo skills — manage TVBO skill files for AI coding assistants.
Three subcommands:
tvbo skills sync— repo-side: regenerate.claude/skills/,.github/instructions/and the index region ofAGENTS.mdfrom the canonical sources inskills/andtvbo/skills/canonical/.tvbo skills install— user-side: render canonical user skills onto a user’s machine (~/.claude/skills/,./.cursor/rules/, stdout, …).tvbo skills uninstall— user-side: remove files previously written byinstall(detected via themanaged-by: tvbofrontmatter marker).
See :mod:tvbo.skills._render for the canonical schema.
Attributes
| Name | Description |
|---|---|
| app |
Classes
| Name | Description |
|---|---|
| Audience | |
| Scope | |
| Target |
Audience
cli.skills.Audience()Scope
cli.skills.Scope()Target
cli.skills.Target()Functions
| Name | Description |
|---|---|
| install | Render user skills to --target and write them to disk (or stdout). |
| sync | Regenerate .claude/skills/, .github/instructions/ and AGENTS.md. |
| uninstall | Remove files in target whose frontmatter carries managed-by: tvbo. |
install
cli.skills.install(
target=typer.Option(Target.claude_code, '--target', '-t', help='Adapter format.'),
audience=typer.Option(Audience.user, '--audience', help='Which skills to install.'),
scope=typer.Option(Scope.user, '--scope', help='user (~/.claude/) or project (./.claude/).'),
skill=typer.Option(None, '--skill', '-s', help='Limit to specific skill(s). Repeatable.'),
out=typer.Option(None, '--out', '-o', help='Override the install directory or output path.'),
force=typer.Option(False, '--force', '-f', help='Overwrite unmanaged files.'),
dry_run=typer.Option(False, '--dry-run', help='Show what would happen; write nothing.'),
strict=typer.Option(False, '--strict', help='Exit non-zero if any skill is refused/skipped.'),
)Render user skills to --target and write them to disk (or stdout).
sync
cli.skills.sync(
check=typer.Option(False, '--check', help='Exit non-zero if any adapter file would change. CI guard.'),
repo_root=typer.Option(Path.cwd(), '--repo-root', help='Repo root containing skills/ and AGENTS.md.'),
)Regenerate .claude/skills/, .github/instructions/ and AGENTS.md.
uninstall
cli.skills.uninstall(
target=typer.Option(Target.claude_code, '--target', '-t', help='Adapter format.'),
scope=typer.Option(Scope.user, '--scope', help='user or project.'),
out=typer.Option(None, '--out', '-o', help='Override the install directory.'),
dry_run=typer.Option(False, '--dry-run', help='Show what would be removed.'),
)Remove files in target whose frontmatter carries managed-by: tvbo.