#!/usr/bin/env python3
"""Skill の骨組みを1本作る補助スクリプト。

使い方:
    python3 .claude/skills/skill-creator/scripts/init_skill.py <名前> "<description>"

標準ライブラリだけで動きます。外部への通信はしません。
既に同名のフォルダがある場合は、上書きせずに終了します。
"""

import sys
from pathlib import Path

# .claude/skills/skill-creator/scripts/ から3つ上が .claude/skills/
SKILLS_DIR = Path(__file__).resolve().parents[2]

TEMPLATE = """---
name: {name}
description: {description}
---

# {name}

（何をするものかを2行から3行で書きます）

## 手順

1. （読むファイルのパス、探す語、出す形まで具体的に書きます）
2.
3.

## 出力の形

（何を、どのファイルに、どういう形式で出すかを書きます）

## やらないこと

- （この Skill の範囲外のことを書きます）
"""


def main() -> int:
    if len(sys.argv) < 3:
        print("使い方: init_skill.py <名前> \"<description>\"")
        return 1

    name = sys.argv[1]
    description = sys.argv[2]

    # 名前は英小文字・数字・ハイフンだけに限定する（フォルダ名として安全なため）
    if not all(c.islower() or c.isdigit() or c == "-" for c in name):
        print("名前は英小文字・数字・ハイフンだけで指定してください")
        return 1

    skill_dir = SKILLS_DIR / name
    if skill_dir.exists():
        print(f"すでに存在します: {skill_dir}。別の名前を指定してください")
        return 1

    skill_dir.mkdir(parents=True)
    (skill_dir / "SKILL.md").write_text(
        TEMPLATE.format(name=name, description=description), encoding="utf-8"
    )
    print(f"作成しました: {skill_dir / 'SKILL.md'}")
    return 0


if __name__ == "__main__":
    sys.exit(main())
