🐛 fix(thirdparty): align human skill registry
This commit is contained in:
+34
@@ -3,6 +3,40 @@
|
||||
version: 1
|
||||
|
||||
skills:
|
||||
- id: matt-pocock-skills
|
||||
sync: enabled
|
||||
upstream_repo: https://github.com/mattpocock/skills.git
|
||||
upstream_ref: main
|
||||
upstream_paths:
|
||||
- skills/engineering
|
||||
- skills/productivity
|
||||
- skills/misc
|
||||
upstream_layout: multi_skill_suite
|
||||
selected_for:
|
||||
- requirements grilling and documentation-backed discovery
|
||||
- specification and ticket decomposition
|
||||
- test-first implementation and code review
|
||||
- local ticket lifecycle orchestration
|
||||
playbook_fit: Matt Pocock engineering workflow skills used by the project playbook
|
||||
notes:
|
||||
- Only the curated skill directories declared by the CI manifest are synchronized.
|
||||
|
||||
- id: ui-ux-pro-max
|
||||
sync: enabled
|
||||
upstream_repo: https://github.com/nextlevelbuilder/ui-ux-pro-max-skill.git
|
||||
upstream_ref: main
|
||||
upstream_paths:
|
||||
- src/ui-ux-pro-max/templates
|
||||
- src/ui-ux-pro-max/data
|
||||
- src/ui-ux-pro-max/scripts
|
||||
upstream_layout: repository_root_skill
|
||||
selected_for:
|
||||
- UI and UX design-system decisions
|
||||
- frontend visual consistency and accessibility guidance
|
||||
playbook_fit: searchable UI/UX design intelligence for frontend work
|
||||
notes:
|
||||
- CI renders the upstream data and templates into the local Codex skill format.
|
||||
|
||||
- id: brooks-lint
|
||||
sync: enabled
|
||||
upstream_repo: https://github.com/hyhmrright/brooks-lint
|
||||
|
||||
@@ -51,6 +51,26 @@ def extract_workflow_region(name: str) -> str:
|
||||
|
||||
|
||||
class ThirdpartySkillsPipelineTests(unittest.TestCase):
|
||||
def test_human_registry_lists_the_same_sources_as_the_ci_manifest(self):
|
||||
registry = (
|
||||
ROOT / "skills" / "thirdparty" / "thirdparty-skills.yml"
|
||||
).read_text(encoding="utf-8")
|
||||
entries = {}
|
||||
for chunk in registry.split("\n - id: ")[1:]:
|
||||
source_id, _, body = chunk.partition("\n")
|
||||
entries[source_id.strip()] = body
|
||||
|
||||
self.assertEqual(
|
||||
sorted(entries),
|
||||
sorted(entry["id"] for entry in load_manifest()["sources"]),
|
||||
msg="SKILLS.md points at thirdparty-skills.yml as the human-readable "
|
||||
"source registry, so it has to cover every source CI syncs",
|
||||
)
|
||||
for source_id, body in entries.items():
|
||||
for field in ("upstream_repo", "selected_for", "playbook_fit"):
|
||||
self.assertIn(
|
||||
f"{field}:", body, msg=f"{source_id} is missing {field}"
|
||||
)
|
||||
|
||||
def test_manifest_declares_all_thirdparty_sources(self):
|
||||
data = load_manifest()
|
||||
|
||||
Reference in New Issue
Block a user