mirror of
https://github.com/alirezarezvani/claude-skills.git
synced 2026-08-28 04:24:58 +00:00
- #805: insert missing skills/ segment in all per-skill install commands across 5 domain READMEs (engineering-team, project-management, marketing-skill, c-level-advisor, ra-qm-team); every path now resolves to a real directory - #806: pr-review-expert SKILL.md curl examples now pass Jira/Linear credentials via stdin curl config (-K -) instead of argv, with a netrc note, so tokens never reach the process list or shell history - #807: implement the documented interfaces for the three senior-devops scripts (terraform_scaffolder: aws/gcp/azure module skeletons with optional terraform fmt/validate; pipeline_generator: GitHub Actions / CircleCI configs with build,test,security,deploy stages and runtime detection; deployment_manager: blue-green/rolling manifests + kubectl runbooks with deploy/rollback/analyze subcommands); align SKILL.md - #807: ci-cd-pipeline-builder stack_detector now detects Terraform and Docker stacks and emits their lint/test/build commands; downstream pipeline_generator gains a generic job for non-node/python/go stacks - #748: sync-vibe-skills.py defaults to a flat layout one level below ~/.vibe/skills (the only depth Vibe discovers), with collision-safe naming and a --nested flag for the legacy namespaced layout - #785: new scripts/sync-codebuff-skills.py syncs all skills into Codebuff's ~/.agents/skills using the same flat-layout machinery https://claude.ai/code/session_01CUWsrUNZP9jpxvAwq67UiT
51 lines
1.8 KiB
Python
Executable file
51 lines
1.8 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
"""
|
|
sync-codebuff-skills.py — Install claude-code-skills into Codebuff.
|
|
|
|
Codebuff (https://codebuff.com) discovers agent skills from ~/.agents/skills/
|
|
using the agentskills.io standard (SKILL.md with YAML frontmatter) — the same
|
|
format this repo uses, so no conversion is needed.
|
|
|
|
This is a thin wrapper around sync-vibe-skills.py: identical discovery and
|
|
flat-layout sync logic, different default target directory.
|
|
|
|
Usage:
|
|
python scripts/sync-codebuff-skills.py # full sync
|
|
python scripts/sync-codebuff-skills.py --verbose # show each skill
|
|
python scripts/sync-codebuff-skills.py --domain engineering # one domain
|
|
python scripts/sync-codebuff-skills.py --dry-run # preview only
|
|
python scripts/sync-codebuff-skills.py --copy # copy instead of symlink
|
|
|
|
Codebuff skill directory: ~/.agents/skills/
|
|
Skills land flat: ~/.agents/skills/<skill-name>/
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
import importlib.util
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
CODEBUFF_SKILLS_DIR = Path.home() / ".agents" / "skills"
|
|
|
|
|
|
def load_vibe_module():
|
|
"""Load sync-vibe-skills.py (hyphenated filename) as a module."""
|
|
path = Path(__file__).resolve().parent / "sync-vibe-skills.py"
|
|
spec = importlib.util.spec_from_file_location("sync_vibe_skills", path)
|
|
module = importlib.util.module_from_spec(spec)
|
|
spec.loader.exec_module(module)
|
|
return module
|
|
|
|
|
|
def main():
|
|
vibe = load_vibe_module()
|
|
# Reuse the vibe CLI wholesale with a codebuff default target.
|
|
if not any(arg.startswith("--target") for arg in sys.argv[1:]):
|
|
sys.argv.extend(["--target", str(CODEBUFF_SKILLS_DIR)])
|
|
vibe.VIBE_SKILLS_DIR = CODEBUFF_SKILLS_DIR
|
|
vibe.TOOL_NAME = "Codebuff"
|
|
vibe.main()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|