| 7450 | } |
| 7451 | |
| 7452 | static void install_agent_skill(const char *label, const char *skills_dir, bool force, |
| 7453 | bool dry_run) { |
| 7454 | char skill_path[CLI_BUF_1K]; |
| 7455 | int written = |
| 7456 | snprintf(skill_path, sizeof(skill_path), "%s/codebase-memory/SKILL.md", skills_dir); |
| 7457 | if (written < 0 || (size_t)written >= sizeof(skill_path)) { |
| 7458 | return; |
| 7459 | } |
| 7460 | if (g_install_plan) { |
| 7461 | plan_record(label, "skill", skill_path); |
| 7462 | return; |
| 7463 | } |
| 7464 | int installed = cbm_install_skills(skills_dir, force, dry_run); |
| 7465 | printf(" skill: %s (%d installed)\n", skill_path, installed); |
| 7466 | } |
| 7467 | |
| 7468 | /* Derive tier siblings only from the exact shipped Verify basename. This keeps |
| 7469 | * vendor-specific suffixes such as .agent.md, .toml, and .json intact. */ |
no test coverage detected