diff --git a/plugins/kyberforge/skills/skill-audit/scripts/tests/validate.bats b/plugins/kyberforge/skills/skill-audit/scripts/tests/validate.bats deleted file mode 100644 index ceb1645..0000000 --- a/plugins/kyberforge/skills/skill-audit/scripts/tests/validate.bats +++ /dev/null @@ -1,198 +0,0 @@ -#!/usr/bin/env bats - -setup() { - REPO_ROOT="$(cd "$BATS_TEST_DIRNAME/../../../../../../" && pwd)" - load "$REPO_ROOT/tests/test_helper/bats-support/load" - load "$REPO_ROOT/tests/test_helper/bats-assert/load" - - SCRIPT="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)/validate.sh" - TMPDIR="$(mktemp -d)" - - # Helper: create a minimal valid skill directory - make_valid_skill() { - local dir="$1" - local name - name="$(basename "$dir")" - mkdir -p "$dir/scripts" - cat > "$dir/SKILL.md" <> "$skill/SKILL.md" - run bash "$SCRIPT" "$skill" - assert_success -} - -@test "passes at exactly 1024-char description" { - local skill="$TMPDIR/my-skill" - local name - name="$(basename "$skill")" - mkdir -p "$skill" - local desc - desc="$(python3 -c "print('x' * 1024)")" - cat > "$skill/SKILL.md" <> "$skill/SKILL.md" - run bash "$SCRIPT" "$skill" - assert_success -} - -# --------------------------------------------------------------------------- -# Failing cases -# --------------------------------------------------------------------------- - -@test "fails when SKILL.md is missing" { - local skill="$TMPDIR/my-skill" - mkdir -p "$skill" - run bash "$SCRIPT" "$skill" - assert_failure -} - -@test "fails when name does not match directory" { - local skill="$TMPDIR/my-skill" - make_valid_skill "$skill" - sed -i 's/^name: .*/name: wrong-name/' "$skill/SKILL.md" - run bash "$SCRIPT" "$skill" - assert_failure -} - -@test "fails when description exceeds 1024 chars" { - local skill="$TMPDIR/my-skill" - local name - name="$(basename "$skill")" - mkdir -p "$skill" - local desc - desc="$(python3 -c "print('x' * 1025)")" - cat > "$skill/SKILL.md" <> "$skill/SKILL.md" - run bash "$SCRIPT" "$skill" - assert_failure -} - -@test "fails when body contains unfilled FILL IN: placeholder" { - local skill="$TMPDIR/my-skill" - make_valid_skill "$skill" - echo "FILL IN: replace this" >> "$skill/SKILL.md" - run bash "$SCRIPT" "$skill" - assert_failure -} - -@test "fails when a script is not executable" { - local skill="$TMPDIR/my-skill" - make_valid_skill "$skill" - echo "#!/usr/bin/env bash" > "$skill/scripts/helper.sh" - chmod -x "$skill/scripts/helper.sh" - run bash "$SCRIPT" "$skill" - assert_failure -} - -@test "fails when a script has an interactive prompt" { - local skill="$TMPDIR/my-skill" - make_valid_skill "$skill" - printf '#!/usr/bin/env bash\nread -p "Enter value: " VAL\n' > "$skill/scripts/helper.sh" - chmod +x "$skill/scripts/helper.sh" - run bash "$SCRIPT" "$skill" - assert_failure -} - -@test "fails when name contains consecutive hyphens" { - local skill="$TMPDIR/my--skill" - make_valid_skill "$skill" - run bash "$SCRIPT" "$skill" - assert_failure -} - -@test "fails when name has a leading hyphen" { - local skill="$TMPDIR/-my-skill" - make_valid_skill "$skill" - run bash "$SCRIPT" "$skill" - assert_failure -} - -@test "fails when no frontmatter block is present" { - local skill="$TMPDIR/my-skill" - mkdir -p "$skill" - echo "Just some content with no frontmatter." > "$skill/SKILL.md" - run bash "$SCRIPT" "$skill" - assert_failure -} - -@test "fails when no arguments are given" { - run bash "$SCRIPT" - assert_failure -} diff --git a/plugins/kyberforge/skills/skill-write/scripts/tests/new-skill.bats b/plugins/kyberforge/skills/skill-write/scripts/tests/new-skill.bats deleted file mode 100644 index 65b51f6..0000000 --- a/plugins/kyberforge/skills/skill-write/scripts/tests/new-skill.bats +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/bin/env bats - -setup() { - REPO_ROOT="$(cd "$BATS_TEST_DIRNAME/../../../../../../" && pwd)" - load "$REPO_ROOT/tests/test_helper/bats-support/load" - load "$REPO_ROOT/tests/test_helper/bats-assert/load" - - SCRIPT="$(cd "$(dirname "$BATS_TEST_FILENAME")/.." && pwd)/new-skill.sh" - DEST="$(mktemp -d)" -} - -teardown() { - rm -rf "$DEST" -} - -# --------------------------------------------------------------------------- -# Passing cases -# --------------------------------------------------------------------------- - -@test "--help exits 0" { - run bash "$SCRIPT" --help - assert_success - assert_output --partial "Usage:" -} - -@test "creates scaffold directory at destination" { - run bash "$SCRIPT" my-tool "$DEST" - assert_success - assert [ -d "$DEST/my-tool" ] -} - -@test "scaffold contains SKILL.md" { - bash "$SCRIPT" my-tool "$DEST" - assert [ -f "$DEST/my-tool/SKILL.md" ] -} - -@test "scaffold contains README.md" { - bash "$SCRIPT" my-tool "$DEST" - assert [ -f "$DEST/my-tool/README.md" ] -} - -@test "scaffold contains scripts/, references/, assets/ directories" { - bash "$SCRIPT" my-tool "$DEST" - assert [ -d "$DEST/my-tool/scripts" ] - assert [ -d "$DEST/my-tool/references" ] - assert [ -d "$DEST/my-tool/assets" ] -} - -@test "substitutes skill name in SKILL.md" { - bash "$SCRIPT" my-tool "$DEST" - run grep "my-tool" "$DEST/my-tool/SKILL.md" - assert_success -} - -@test "substitutes skill name in README.md" { - bash "$SCRIPT" my-tool "$DEST" - run grep "my-tool" "$DEST/my-tool/README.md" - assert_success -} - -@test "skill name with numbers is valid" { - run bash "$SCRIPT" my-tool-2 "$DEST" - assert_success - assert [ -d "$DEST/my-tool-2" ] -} - -@test "next-steps output references /skill-audit not validate.sh" { - run bash "$SCRIPT" my-tool "$DEST" - assert_output --partial "/skill-audit" - refute_output --partial "validate.sh" -} - -# --------------------------------------------------------------------------- -# Failing cases -# --------------------------------------------------------------------------- - -@test "fails when no arguments given" { - run bash "$SCRIPT" - assert_failure -} - -@test "fails when skill name contains uppercase" { - run bash "$SCRIPT" MyTool "$DEST" - assert_failure -} - -@test "fails when skill name has consecutive hyphens" { - run bash "$SCRIPT" my--tool "$DEST" - assert_failure -} - -@test "fails when skill name has a leading hyphen" { - run bash "$SCRIPT" -my-tool "$DEST" - assert_failure -} - -@test "fails when skill name has a trailing hyphen" { - run bash "$SCRIPT" my-tool- "$DEST" - assert_failure -} - -@test "fails when destination directory does not exist" { - run bash "$SCRIPT" my-tool "/nonexistent/path" - assert_failure -} - -@test "fails when target already exists" { - mkdir -p "$DEST/my-tool" - run bash "$SCRIPT" my-tool "$DEST" - assert_failure -}