Files
Aaron Hogue 24e9c7ea8c Add launchdarkly-flag-command skill for /flag workflows (#26)
* Add launchdarkly-flag-command skill

* Add catalog test for flag command skill

* Update skills/feature-flags/launchdarkly-flag-command/marketplace.json

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* Add promptfoo eval suite for launchdarkly-flag-command skill

- 3 test cases: happy path lookup, disambiguation, routing for removal
- Deterministic assertions for tool calls and routing keywords
- LLM rubric assertions for response quality
- Register suite in _manifest.js and add npm scripts
- Strengthen SKILL.md with Scope Boundary section and explicit
  routing instructions for removal/staleness questions

Eval results: 3/3 PASS at 1.00 across 3 consecutive runs

---------

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-04 11:37:29 -04:00

34 lines
1.1 KiB
Python

import json
import unittest
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
SKILLS_JSON = ROOT / "skills.json"
class SkillsCatalogTests(unittest.TestCase):
def test_launchdarkly_flag_command_skill_is_listed(self):
data = json.loads(SKILLS_JSON.read_text(encoding="utf-8"))
skills = data.get("skills", [])
entry = next((s for s in skills if s.get("name") == "launchdarkly-flag-command"), None)
self.assertIsNotNone(entry, "launchdarkly-flag-command must be present in skills.json")
self.assertEqual(
entry.get("path"),
"skills/feature-flags/launchdarkly-flag-command",
"catalog path for launchdarkly-flag-command is incorrect",
)
skill_dir = ROOT / entry["path"]
self.assertTrue((skill_dir / "SKILL.md").is_file(), "SKILL.md is missing for launchdarkly-flag-command")
self.assertTrue(
(skill_dir / "marketplace.json").is_file(),
"marketplace.json is missing for launchdarkly-flag-command",
)
if __name__ == "__main__":
unittest.main()