opencode-skills-collection 4.0.11 → 4.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +4 -1
  2. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  3. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  4. package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
  5. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  6. package/bundled-skills/docs/users/aas-core.md +1 -1
  7. package/bundled-skills/docs/users/bundles.md +1 -1
  8. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  9. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  10. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  11. package/bundled-skills/docs/users/usage.md +3 -3
  12. package/bundled-skills/docs/users/visual-guide.md +4 -4
  13. package/bundled-skills/fedora-hyprland-installer/LICENSE +21 -0
  14. package/bundled-skills/fedora-hyprland-installer/README.md +125 -0
  15. package/bundled-skills/fedora-hyprland-installer/SKILL.md +112 -0
  16. package/bundled-skills/fedora-hyprland-installer/references/amd.md +10 -0
  17. package/bundled-skills/fedora-hyprland-installer/references/fedora.md +24 -0
  18. package/bundled-skills/fedora-hyprland-installer/references/hyprland.md +22 -0
  19. package/bundled-skills/fedora-hyprland-installer/references/intel.md +8 -0
  20. package/bundled-skills/fedora-hyprland-installer/references/nvidia.md +29 -0
  21. package/bundled-skills/fedora-hyprland-installer/references/portals.md +18 -0
  22. package/bundled-skills/fedora-hyprland-installer/references/troubleshooting.md +53 -0
  23. package/bundled-skills/fedora-hyprland-installer/references/wayland.md +9 -0
  24. package/bundled-skills/fedora-hyprland-installer/scripts/backup.sh +65 -0
  25. package/bundled-skills/fedora-hyprland-installer/scripts/configure.sh +158 -0
  26. package/bundled-skills/fedora-hyprland-installer/scripts/detect-gpu.sh +71 -0
  27. package/bundled-skills/fedora-hyprland-installer/scripts/detect-system.sh +95 -0
  28. package/bundled-skills/fedora-hyprland-installer/scripts/install.sh +62 -0
  29. package/bundled-skills/fedora-hyprland-installer/scripts/preflight.sh +94 -0
  30. package/bundled-skills/fedora-hyprland-installer/scripts/repair.sh +92 -0
  31. package/bundled-skills/fedora-hyprland-installer/scripts/uninstall.sh +57 -0
  32. package/bundled-skills/fedora-hyprland-installer/scripts/verify.sh +92 -0
  33. package/bundled-skills/fedora-hyprland-installer/tests/test-detection.sh +22 -0
  34. package/bundled-skills/fedora-hyprland-installer/tests/test-scripts.sh +47 -0
  35. package/bundled-skills/find-complementary-founders/LICENSE.txt +21 -0
  36. package/bundled-skills/find-complementary-founders/SKILL.md +386 -0
  37. package/bundled-skills/find-complementary-founders/agents/openai.yaml +4 -0
  38. package/bundled-skills/find-complementary-founders/references/community-growth.md +140 -0
  39. package/bundled-skills/find-complementary-founders/references/evidence-model.md +94 -0
  40. package/bundled-skills/find-complementary-founders/references/moltbook.md +125 -0
  41. package/bundled-skills/find-complementary-founders/references/owner-onboarding.ru.md +105 -0
  42. package/bundled-skills/find-complementary-founders/references/privacy-safety.md +63 -0
  43. package/bundled-skills/find-complementary-founders/references/profile-schema.md +117 -0
  44. package/bundled-skills/find-complementary-founders/scripts/assess_profile.py +532 -0
  45. package/bundled-skills/find-complementary-founders/scripts/github_thread.py +466 -0
  46. package/bundled-skills/find-complementary-founders/scripts/match_profiles.py +251 -0
  47. package/bundled-skills/find-complementary-founders/scripts/moltbook_publish.py +672 -0
  48. package/bundled-skills/find-complementary-founders/scripts/profile_card.py +307 -0
  49. package/bundled-skills/find-complementary-founders/scripts/validate_profile.py +473 -0
  50. package/bundled-skills/find-complementary-founders/scripts/verify_github_submission.py +296 -0
  51. package/bundled-skills/orchestrate/SKILL.md +61 -0
  52. package/bundled-skills/orchestrate/agents/openai.yaml +4 -0
  53. package/bundled-skills/uizze-ui-research/SKILL.md +47 -12
  54. package/package.json +1 -1
  55. package/skills_index.json +101 -1
@@ -0,0 +1,296 @@
1
+ #!/usr/bin/env python3
2
+ """Verify one untrusted FindMate GitHub owner-profile submission safely."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import argparse
7
+ import hmac
8
+ import importlib.util
9
+ import json
10
+ import re
11
+ import sys
12
+ from pathlib import Path
13
+ from urllib.error import HTTPError, URLError
14
+ from urllib.parse import urlparse
15
+ from urllib.request import Request, urlopen
16
+
17
+ REPOSITORY = "merc1305/findMate"
18
+ ISSUE_NUMBER = 2
19
+ PROFILE_REPLY_MARKER = "FINDMATE_OWNER_PROFILE_V1"
20
+ MAX_PROFILE_BYTES = 65_536
21
+ GITHUB_BLOB_PATTERN = re.compile(
22
+ r"^/"
23
+ r"(?P<owner>[A-Za-z0-9][A-Za-z0-9-]{0,38})/"
24
+ r"(?P<repo>[A-Za-z0-9._-]{1,100})/"
25
+ r"blob/"
26
+ r"(?P<commit>[0-9a-fA-F]{40})/"
27
+ r"(?P<path>[A-Za-z0-9._/-]+\.json)$"
28
+ )
29
+
30
+ REASON_MESSAGES = {
31
+ "comment_deleted": (
32
+ "The source owner-profile comment was deleted and is revoked."
33
+ ),
34
+ "comment_shape": (
35
+ "The marked comment is missing its own-owner declaration, inline or "
36
+ "linked profile, canonical SHA-256, or expiry."
37
+ ),
38
+ "event_scope": "The event does not belong to the canonical FindMate issue.",
39
+ "profile_download_failed": (
40
+ "The immutable GitHub profile could not be downloaded within the safety limits."
41
+ ),
42
+ "profile_expiry_mismatch": (
43
+ "The expiry in the comment does not match the validated profile."
44
+ ),
45
+ "profile_hash_mismatch": (
46
+ "The canonical SHA-256 in the comment does not match the validated profile."
47
+ ),
48
+ "profile_json_invalid": (
49
+ "The linked or inline profile is not a valid JSON object."
50
+ ),
51
+ "profile_too_large": (
52
+ "The linked or inline profile exceeds its safety limit."
53
+ ),
54
+ "profile_url_requires_immutable_github_blob": (
55
+ "The profile URL must be a github.com blob URL pinned to a full 40-character "
56
+ "commit SHA."
57
+ ),
58
+ "profile_validation_failed": (
59
+ "The profile failed schema, privacy, consent, or expiry validation."
60
+ ),
61
+ }
62
+
63
+
64
+ class SubmissionError(ValueError):
65
+ """Raised for a bounded, public-safe submission validation failure."""
66
+
67
+ def __init__(self, code: str):
68
+ if code not in REASON_MESSAGES:
69
+ raise ValueError(f"Unsupported submission error code: {code}")
70
+ super().__init__(REASON_MESSAGES[code])
71
+ self.code = code
72
+
73
+
74
+ def load_sibling_module(module_name: str, filename: str):
75
+ path = Path(__file__).with_name(filename)
76
+ spec = importlib.util.spec_from_file_location(module_name, path)
77
+ if spec is None or spec.loader is None:
78
+ raise RuntimeError(f"Cannot load required module: {filename}")
79
+ module = importlib.util.module_from_spec(spec)
80
+ spec.loader.exec_module(module)
81
+ return module
82
+
83
+
84
+ GITHUB_THREAD = load_sibling_module("_findmate_github_thread", "github_thread.py")
85
+ PROFILE_VALIDATOR = load_sibling_module(
86
+ "_findmate_profile_validator",
87
+ "validate_profile.py",
88
+ )
89
+
90
+
91
+ def immutable_raw_profile_url(profile_url: str) -> str:
92
+ parsed = urlparse(profile_url)
93
+ try:
94
+ port = parsed.port
95
+ except ValueError as exc:
96
+ raise SubmissionError(
97
+ "profile_url_requires_immutable_github_blob"
98
+ ) from exc
99
+ if (
100
+ parsed.scheme != "https"
101
+ or parsed.hostname != "github.com"
102
+ or port is not None
103
+ or parsed.username
104
+ or parsed.password
105
+ or parsed.query
106
+ or parsed.fragment
107
+ ):
108
+ raise SubmissionError("profile_url_requires_immutable_github_blob")
109
+ match = GITHUB_BLOB_PATTERN.fullmatch(parsed.path)
110
+ if match is None:
111
+ raise SubmissionError("profile_url_requires_immutable_github_blob")
112
+ path_parts = match.group("path").split("/")
113
+ if any(part in {"", ".", ".."} for part in path_parts):
114
+ raise SubmissionError("profile_url_requires_immutable_github_blob")
115
+ return (
116
+ "https://raw.githubusercontent.com/"
117
+ f"{match.group('owner')}/{match.group('repo')}/"
118
+ f"{match.group('commit').lower()}/{match.group('path')}"
119
+ )
120
+
121
+
122
+ def download_profile(raw_url: str) -> dict:
123
+ request = Request(
124
+ raw_url,
125
+ headers={
126
+ "Accept": "application/json,text/plain;q=0.9",
127
+ "User-Agent": "findmate-owner-profile-verifier/1.0",
128
+ },
129
+ )
130
+ try:
131
+ with urlopen(request, timeout=15) as response:
132
+ final = urlparse(response.geturl())
133
+ if (
134
+ final.scheme != "https"
135
+ or final.hostname != "raw.githubusercontent.com"
136
+ or final.username
137
+ or final.password
138
+ ):
139
+ raise SubmissionError("profile_download_failed")
140
+ declared_length = response.headers.get("Content-Length")
141
+ if declared_length:
142
+ try:
143
+ if int(declared_length) > MAX_PROFILE_BYTES:
144
+ raise SubmissionError("profile_too_large")
145
+ except ValueError as exc:
146
+ raise SubmissionError("profile_download_failed") from exc
147
+ raw = response.read(MAX_PROFILE_BYTES + 1)
148
+ except SubmissionError:
149
+ raise
150
+ except (HTTPError, URLError, TimeoutError, OSError) as exc:
151
+ raise SubmissionError("profile_download_failed") from exc
152
+ if len(raw) > MAX_PROFILE_BYTES:
153
+ raise SubmissionError("profile_too_large")
154
+ try:
155
+ value = json.loads(raw.decode("utf-8"))
156
+ except (UnicodeDecodeError, json.JSONDecodeError) as exc:
157
+ raise SubmissionError("profile_json_invalid") from exc
158
+ if not isinstance(value, dict):
159
+ raise SubmissionError("profile_json_invalid")
160
+ return value
161
+
162
+
163
+ def rejected(code: str) -> dict:
164
+ return {
165
+ "eligible": False,
166
+ "reason_code": code,
167
+ "message": REASON_MESSAGES[code],
168
+ }
169
+
170
+
171
+ def verify_comment(body: str, *, profile_loader=download_profile) -> dict:
172
+ _, inline_error = GITHUB_THREAD.extract_inline_profile(body)
173
+ if inline_error:
174
+ return rejected(inline_error)
175
+ submissions = GITHUB_THREAD.extract_marked_comments([{"body": body}])
176
+ if len(submissions) != 1 or not submissions[0]["syntactically_eligible"]:
177
+ return rejected("comment_shape")
178
+ submission = submissions[0]
179
+ try:
180
+ if submission["profile_source"] == "inline":
181
+ profile = submission["inline_profile"]
182
+ else:
183
+ raw_url = immutable_raw_profile_url(submission["profile_url"])
184
+ profile = profile_loader(raw_url)
185
+ validation = PROFILE_VALIDATOR.validate_profile(profile)
186
+ except SubmissionError as exc:
187
+ return rejected(exc.code)
188
+ except PROFILE_VALIDATOR.ValidationError:
189
+ return rejected("profile_validation_failed")
190
+
191
+ if not hmac.compare_digest(
192
+ submission["canonical_profile_sha256"],
193
+ validation["canonical_sha256"],
194
+ ):
195
+ return rejected("profile_hash_mismatch")
196
+ if submission["expires_on"] != validation["expires_on"]:
197
+ return rejected("profile_expiry_mismatch")
198
+ return {
199
+ "eligible": True,
200
+ "reason_code": None,
201
+ "message": (
202
+ "Schema, privacy, consent, expiry, source, and canonical hash "
203
+ "checks passed."
204
+ ),
205
+ "profile_source": submission["profile_source"],
206
+ "alias": validation["alias"],
207
+ "expires_on": validation["expires_on"],
208
+ "canonical_sha256": validation["canonical_sha256"],
209
+ }
210
+
211
+
212
+ def verify_event(event: dict, *, profile_loader=download_profile) -> dict:
213
+ repository = event.get("repository")
214
+ issue = event.get("issue")
215
+ comment = event.get("comment")
216
+ if (
217
+ not isinstance(repository, dict)
218
+ or repository.get("full_name") != REPOSITORY
219
+ or not isinstance(issue, dict)
220
+ or issue.get("number") != ISSUE_NUMBER
221
+ or not isinstance(comment, dict)
222
+ or isinstance(comment.get("id"), bool)
223
+ or not isinstance(comment.get("id"), int)
224
+ ):
225
+ return rejected("event_scope")
226
+ if event.get("action") == "deleted":
227
+ result = rejected("comment_deleted")
228
+ result["revoked"] = True
229
+ result["source_marked"] = False
230
+ result.update(
231
+ {
232
+ "repository": REPOSITORY,
233
+ "issue_number": ISSUE_NUMBER,
234
+ "source_comment_id": comment["id"],
235
+ }
236
+ )
237
+ return result
238
+ body = comment.get("body")
239
+ if not isinstance(body, str):
240
+ result = rejected("comment_shape")
241
+ source_marked = False
242
+ else:
243
+ source_marked = body.startswith(f"{PROFILE_REPLY_MARKER}\n")
244
+ result = verify_comment(body, profile_loader=profile_loader)
245
+ result.update(
246
+ {
247
+ "revoked": False,
248
+ "source_marked": source_marked,
249
+ "repository": REPOSITORY,
250
+ "issue_number": ISSUE_NUMBER,
251
+ "source_comment_id": comment["id"],
252
+ }
253
+ )
254
+ return result
255
+
256
+
257
+ def read_event(path: Path) -> dict:
258
+ try:
259
+ value = json.loads(path.read_text(encoding="utf-8"))
260
+ except (OSError, json.JSONDecodeError) as exc:
261
+ raise RuntimeError(f"Cannot read GitHub event: {exc}") from exc
262
+ if not isinstance(value, dict):
263
+ raise RuntimeError("GitHub event must be a JSON object")
264
+ return value
265
+
266
+
267
+ def write_result(path: Path, result: dict) -> None:
268
+ if path.is_symlink():
269
+ raise RuntimeError(f"Refusing to write through symlink: {path}")
270
+ path.parent.mkdir(parents=True, exist_ok=True)
271
+ path.write_text(
272
+ json.dumps(result, indent=2, ensure_ascii=False, sort_keys=True) + "\n",
273
+ encoding="utf-8",
274
+ )
275
+
276
+
277
+ def parse_args() -> argparse.Namespace:
278
+ parser = argparse.ArgumentParser(description=__doc__)
279
+ parser.add_argument("--event", required=True, type=Path)
280
+ parser.add_argument("--output", required=True, type=Path)
281
+ return parser.parse_args()
282
+
283
+
284
+ def main() -> int:
285
+ args = parse_args()
286
+ try:
287
+ result = verify_event(read_event(args.event))
288
+ write_result(args.output, result)
289
+ except RuntimeError as exc:
290
+ print(f"error: {exc}", file=sys.stderr)
291
+ return 2
292
+ return 0
293
+
294
+
295
+ if __name__ == "__main__":
296
+ raise SystemExit(main())
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: orchestrate
3
+ description: "Coordinate focused subagents on substantial work, keep their ownership non-overlapping, and integrate verified results. Use for large-scope Codex tasks; keep trivial work with the coordinator."
4
+ category: agent-orchestration
5
+ risk: safe
6
+ source: https://github.com/provencher/codex-skills/tree/8aa6c42b73781c905c55f8a1253a18127079ac21/orchestrate
7
+ source_repo: provencher/codex-skills
8
+ source_type: community
9
+ date_added: "2026-07-26"
10
+ author: provencher
11
+ tags: [codex, orchestration, multi-agent, delegation, subagents]
12
+ tools: [codex]
13
+ license: MIT
14
+ license_source: https://github.com/provencher/codex-skills/blob/8aa6c42b73781c905c55f8a1253a18127079ac21/LICENSE
15
+ ---
16
+
17
+ # Orchestrate
18
+
19
+ Coordinate substantial work across focused subagents while remaining available
20
+ to the user and retaining responsibility for the integrated result.
21
+
22
+ ## When to Use
23
+
24
+ - Use when a task has multiple independent research, review, or implementation lanes.
25
+ - Use when parallel work will materially reduce elapsed time or improve coverage.
26
+ - Use when a coordinator must synthesize several bounded outputs into one verified result.
27
+
28
+ Keep trivial tasks with the coordinator.
29
+
30
+ ## Workflow
31
+
32
+ 1. Decompose the task into distinct, bounded assignments with explicit outputs.
33
+ 2. Run narrow, read-only scouts in parallel with low reasoning effort and no
34
+ inherited conversation when the runtime supports those controls. Give each
35
+ scout all scoped context and evidence required to complete its assignment.
36
+ 3. Use medium reasoning effort for routine implementation and high reasoning
37
+ effort for difficult work.
38
+ 4. Give each subagent distinct ownership. Prevent overlapping assignments, and
39
+ instruct leaf workers not to delegate.
40
+ 5. Integrate the outputs, resolve conflicts, and verify the combined result.
41
+ 6. Keep approvals and externally consequential decisions with the user.
42
+
43
+ ## Examples
44
+
45
+ - For a repository-wide feature, assign non-overlapping agents to architecture
46
+ inspection, implementation, and test review, then integrate their findings
47
+ and run the final verification from the coordinator.
48
+ - For a research brief, assign independent sources or questions to read-only
49
+ scouts, reconcile disagreements, and keep the final judgment with the
50
+ coordinator.
51
+
52
+ ## Limitations
53
+
54
+ - Requires a runtime that exposes subagent or delegation tools; otherwise keep
55
+ the work with the coordinator.
56
+ - Delegation does not authorize file mutations, public actions, purchases, or
57
+ other consequential operations beyond the user's original scope.
58
+ - Parallel agents can add cost and coordination overhead, so use them only when
59
+ the task is substantial enough to benefit.
60
+ - The coordinator remains responsible for checking claims, changes, tests, and
61
+ the final answer.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Orchestrate"
3
+ short_description: "Manage large-scope work across agents"
4
+ default_prompt: "Use $orchestrate to manage this large-scope task across focused agents."
@@ -1,13 +1,15 @@
1
1
  ---
2
2
  name: uizze-ui-research
3
- description: "Use when building or reviewing web and iOS product UI and you need real UI references, structured design contracts, or implementation validation through UIZZE MCP."
3
+ description: "Use when building or reviewing web and iOS UI and you need real references from the free UIZZE public catalog, a structured design contract, a consent-gated rendered HTML/CSS preview, or a hard pre-ship finish gate."
4
4
  category: design
5
5
  risk: safe
6
6
  source: https://github.com/aislon/uizze-mcp/tree/main/skills/uizze-ui-research
7
7
  source_repo: aislon/uizze-mcp
8
8
  source_type: official
9
+ license: MIT
10
+ license_source: https://github.com/aislon/uizze-mcp/blob/main/LICENSE
9
11
  date_added: "2026-07-12"
10
- author: samuelbushi
12
+ author: UIZZE
11
13
  tags: [ui-design, ui-research, mcp, design-contracts, agent-workflows]
12
14
  tools: [claude, cursor, codex, copilot, antigravity, lovable]
13
15
  ---
@@ -16,7 +18,7 @@ tools: [claude, cursor, codex, copilot, antigravity, lovable]
16
18
 
17
19
  ## Overview
18
20
 
19
- Use UIZZE to give coding agents real product-UI context before implementation rather than relying on a generic styling prompt. The public catalog is free to browse; the hosted MCP workflow requires full access and a configured UIZZE agent token.
21
+ Use [UIZZE](https://uizze.com) to give coding agents real product-UI context before implementation rather than relying on a generic styling prompt. The public catalog supports a free manual workflow without an account. The hosted preview provides a bounded rendered HTML/CSS check, while the full UIZZE MCP requires an authorized connection for reference search and broader review workflows.
20
22
 
21
23
  This skill turns UI research into an explicit workflow: retrieve relevant references, translate transferable patterns into a design contract, implement within the current project's system, and run the available validation or critique gates.
22
24
 
@@ -26,24 +28,49 @@ This skill turns UI research into an explicit workflow: retrieve relevant refere
26
28
  - You need real interface references before implementing an AI-generated UI.
27
29
  - You are reviewing an implementation against explicit design constraints.
28
30
  - You need to reduce generic or repetitive UI by grounding work in observed product patterns.
31
+ - You have rendered HTML/CSS and need a no-account first check before deciding whether the task needs deeper reference research.
29
32
 
30
33
  ## How It Works
31
34
 
32
- ### Step 1: Confirm access and scope
35
+ ### Step 1: Confirm product scope and access mode
33
36
 
34
- Confirm that the UIZZE MCP connection is already configured with a valid agent token before invoking hosted workflows. If it is unavailable, use the free public catalog for research or ask the user to configure access; do not attempt to bypass access controls or expose credentials.
37
+ Identify the screen's primary user, job, action, existing design system, real content or data, and required loading, empty, error, success, and permission states. Use the free public catalog for manual research by default. If UIZZE MCP is already configured, use only the tools authorized for the task. If browsing is unavailable, ask the user for two or three relevant UIZZE links or screenshots. Do not block the manual workflow, bypass access controls, expose credentials, or claim that a manual review came from MCP.
35
38
 
36
39
  ### Step 2: Retrieve relevant visual context
37
40
 
38
- Use the available UIZZE tools to find screens, flows, components, or elements that match the product task. Focus on transferable patterns such as hierarchy, navigation, interaction states, spacing, density, and responsive behavior.
41
+ Find the smallest useful set of screens, flows, components, or elements that match the product task. Focus on transferable patterns such as hierarchy, navigation, interaction states, spacing, density, and responsive behavior. Distinguish observed evidence from assumptions and record whether each finding came from manual browsing, the free preview, or the full MCP.
39
42
 
40
43
  ### Step 3: Make constraints explicit
41
44
 
42
- Create or use a structured design contract when the task needs explicit acceptance criteria. Adapt patterns to the existing project design system instead of treating any reference as a visual template.
45
+ Write a short design contract that names the screen job, content hierarchy, primary action, allowed project components and tokens, required states, responsive behavior, product-specific decisions, forbidden generic patterns, and verification criteria. Adapt patterns to the existing project design system instead of treating any reference as a visual template.
43
46
 
44
- ### Step 4: Validate before completion
47
+ ### Step 4: Implement within the product
45
48
 
46
- Use the available UIZZE validation, audit, or critique workflow when the implementation is ready for review. Resolve the findings in the project and run normal project tests before calling the work complete.
49
+ Build with the repository's existing components and tokens. Preserve platform conventions and make the interface specific to the product's content and workflow rather than adding decorative cards, badges, gradients, or motion by default.
50
+
51
+ ### Step 5: Run a hard finish gate
52
+
53
+ Inspect the rendered result when the environment supports it, use an available UIZZE validation, audit, or critique workflow only when authorized, and reject completion if any of these checks fail:
54
+
55
+ - The hierarchy does not make the screen job and primary action immediately clear.
56
+ - A visible control is inert, ambiguous, or missing its interaction outcome.
57
+ - Required loading, empty, error, success, permission, or responsive states are absent.
58
+ - The implementation drifts from the project's existing components, tokens, or platform conventions.
59
+ - Interchangeable card grids, filler metrics, vague copy, or decorative effects replace product-specific decisions.
60
+
61
+ Name each blocking issue, fix it, and rerun the gate plus the project's normal tests. Never claim a rendered or MCP-backed check that was not actually performed.
62
+
63
+ ### Optional: Use the free rendered-screen preview
64
+
65
+ When rendered HTML or CSS exists, offer the free preview once if it would materially improve the finish gate. Before changing MCP configuration or transmitting any markup or styles, obtain the user's explicit approval for both actions. Do not send secrets, personal data, proprietary content, tokens, or internal-only markup and styles.
66
+
67
+ After approval, a Codex user can add the bounded preview with:
68
+
69
+ ```bash
70
+ codex mcp add uizze-preview --url https://uizze.com/mcp/preview
71
+ ```
72
+
73
+ Give `check_ui_slop` only the rendered HTML and CSS the user approved. The preview requires no UIZZE login and exposes one bounded diagnostic; it does not search the reference catalog, create a design contract, replace accessibility or security review, or authorize a full UIZZE connection.
47
74
 
48
75
  ## Examples
49
76
 
@@ -64,13 +91,16 @@ Use UIZZE to inspect relevant real product settings screens, audit this implemen
64
91
  - ✅ Start with the smallest relevant set of references rather than collecting a broad gallery.
65
92
  - ✅ Separate observed patterns from the current project's brand and component rules.
66
93
  - ✅ Use validation findings as implementation feedback, not as permission to copy an interface.
94
+ - ✅ Keep the manual workflow useful when hosted MCP access is unavailable.
95
+ - ✅ Label manual, preview, and full-MCP evidence truthfully in the handoff.
67
96
  - ❌ Do not reproduce another product's brand, proprietary copy, assets, or exact layout.
68
97
  - ❌ Do not commit agent tokens, include them in prompts, or place them in client-side code.
69
98
 
70
99
  ## Security & Safety Notes
71
100
 
72
- - Keep the UIZZE agent token in local agent configuration or an environment variable only.
73
- - Hosted MCP workflows require authorized access; the free catalog does not grant permission to use paid workflows.
101
+ - Keep any full-connection credential in local agent configuration or a supported environment variable only; never commit it, paste it into prompts, or include it in client-side code.
102
+ - Treat the free preview as an external network service. Configure it and transmit selected rendered HTML/CSS only after explicit user approval and a sensitive-data check.
103
+ - Hosted MCP workflows require authorized access; the free catalog and preview do not grant permission to use full workflows.
74
104
  - Treat returned references as research context, not reusable visual assets.
75
105
 
76
106
  ## Common Pitfalls
@@ -79,6 +109,10 @@ Use UIZZE to inspect relevant real product settings screens, audit this implemen
79
109
  **Solution:** Extract the interaction or hierarchy pattern, then implement it using the target project's own design system and content.
80
110
  - **Problem:** Starting implementation before the agent has relevant UI context.
81
111
  **Solution:** Search for the smallest useful set of matching screens or flows first, then define constraints before coding.
112
+ - **Problem:** Treating an unavailable MCP connection as a reason to stop.
113
+ **Solution:** Use the free public catalog manually, or ask the user for two or three relevant UIZZE links or screenshots, and continue with the same design-contract and finish-gate workflow.
114
+ - **Problem:** Configuring the preview or sending markup without informed approval.
115
+ **Solution:** Explain the persistent configuration and external transmission, remove sensitive content, and continue only after the user approves both.
82
116
  - **Problem:** Exposing an agent token in a repository or chat transcript.
83
117
  **Solution:** Store credentials only in supported local configuration or environment variables and rotate a token if it is exposed.
84
118
 
@@ -89,5 +123,6 @@ Use UIZZE to inspect relevant real product settings screens, audit this implemen
89
123
  ## Limitations
90
124
 
91
125
  - This skill does not replace product-specific user research, accessibility review, project tests, or human design judgment.
92
- - It cannot make a hosted UIZZE MCP workflow available without a valid authorized connection.
126
+ - The free preview cannot search UIZZE references, create design contracts, or replace the full implementation review workflow.
127
+ - It cannot make a full hosted UIZZE MCP workflow available without a valid authorized connection.
93
128
  - Stop and ask for clarification if the product goal, existing design system, or access boundaries are missing.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-skills-collection",
3
- "version": "4.0.11",
3
+ "version": "4.0.13",
4
4
  "description": "OpenCode CLI plugin that automatically downloads and keeps skills up to date.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/skills_index.json CHANGED
@@ -18128,6 +18128,38 @@
18128
18128
  "session-handoff"
18129
18129
  ]
18130
18130
  },
18131
+ {
18132
+ "id": "fedora-hyprland-installer",
18133
+ "path": "skills/fedora-hyprland-installer",
18134
+ "category": "devops",
18135
+ "name": "fedora-hyprland-installer",
18136
+ "description": "Install, configure, verify, repair, update, and uninstall Hyprland on Fedora Linux with GPU-aware detection (NVIDIA/AMD/Intel).",
18137
+ "risk": "critical",
18138
+ "source": "community",
18139
+ "date_added": "2026-07-26",
18140
+ "plugin": {
18141
+ "targets": {
18142
+ "codex": "supported",
18143
+ "claude": "supported"
18144
+ },
18145
+ "setup": {
18146
+ "type": "none",
18147
+ "summary": "",
18148
+ "docs": null
18149
+ },
18150
+ "reasons": []
18151
+ },
18152
+ "source_type": "community",
18153
+ "source_repo": "maleksaadi0109/hyprfedora",
18154
+ "license": "MIT",
18155
+ "license_source": "https://github.com/maleksaadi0109/hyprfedora/blob/3ec6d4fc5eecdb188613dd841dce9926ae5c8319/LICENSE",
18156
+ "tags": [
18157
+ "fedora",
18158
+ "hyprland",
18159
+ "wayland",
18160
+ "linux"
18161
+ ]
18162
+ },
18131
18163
  {
18132
18164
  "id": "ffuf-claude-skill",
18133
18165
  "path": "skills/ffuf-claude-skill",
@@ -18304,6 +18336,39 @@
18304
18336
  "reasons": []
18305
18337
  }
18306
18338
  },
18339
+ {
18340
+ "id": "find-complementary-founders",
18341
+ "path": "skills/find-complementary-founders",
18342
+ "category": "business-strategy",
18343
+ "name": "find-complementary-founders",
18344
+ "description": "Use when an owner asks to find a cofounder or project partner. Assess only that agent's own owner and rank only approved profiles other agents posted for their own owners.",
18345
+ "risk": "critical",
18346
+ "source": "community",
18347
+ "date_added": "2026-07-26",
18348
+ "plugin": {
18349
+ "targets": {
18350
+ "codex": "supported",
18351
+ "claude": "supported"
18352
+ },
18353
+ "setup": {
18354
+ "type": "none",
18355
+ "summary": "",
18356
+ "docs": null
18357
+ },
18358
+ "reasons": []
18359
+ },
18360
+ "source_type": "community",
18361
+ "source_repo": "merc1305/findMate",
18362
+ "license": "MIT",
18363
+ "license_source": "https://github.com/merc1305/findMate/blob/main/LICENSE",
18364
+ "tags": [
18365
+ "cofounder",
18366
+ "founder-matching",
18367
+ "collaboration",
18368
+ "privacy",
18369
+ "agent-skills"
18370
+ ]
18371
+ },
18307
18372
  {
18308
18373
  "id": "finishing-a-development-branch",
18309
18374
  "path": "skills/finishing-a-development-branch",
@@ -31980,6 +32045,39 @@
31980
32045
  "reasons": []
31981
32046
  }
31982
32047
  },
32048
+ {
32049
+ "id": "orchestrate",
32050
+ "path": "skills/orchestrate",
32051
+ "category": "agent-orchestration",
32052
+ "name": "orchestrate",
32053
+ "description": "Coordinate focused subagents on substantial work, keep their ownership non-overlapping, and integrate verified results. Use for large-scope Codex tasks; keep trivial work with the coordinator.",
32054
+ "risk": "safe",
32055
+ "source": "https://github.com/provencher/codex-skills/tree/8aa6c42b73781c905c55f8a1253a18127079ac21/orchestrate",
32056
+ "date_added": "2026-07-26",
32057
+ "plugin": {
32058
+ "targets": {
32059
+ "codex": "supported",
32060
+ "claude": "supported"
32061
+ },
32062
+ "setup": {
32063
+ "type": "none",
32064
+ "summary": "",
32065
+ "docs": null
32066
+ },
32067
+ "reasons": []
32068
+ },
32069
+ "source_type": "community",
32070
+ "source_repo": "provencher/codex-skills",
32071
+ "license": "MIT",
32072
+ "license_source": "https://github.com/provencher/codex-skills/blob/8aa6c42b73781c905c55f8a1253a18127079ac21/LICENSE",
32073
+ "tags": [
32074
+ "codex",
32075
+ "orchestration",
32076
+ "multi-agent",
32077
+ "delegation",
32078
+ "subagents"
32079
+ ]
32080
+ },
31983
32081
  {
31984
32082
  "id": "orchestrate-batch-refactor",
31985
32083
  "path": "skills/orchestrate-batch-refactor",
@@ -44562,7 +44660,7 @@
44562
44660
  "path": "skills/uizze-ui-research",
44563
44661
  "category": "design",
44564
44662
  "name": "uizze-ui-research",
44565
- "description": "Use when building or reviewing web and iOS product UI and you need real UI references, structured design contracts, or implementation validation through UIZZE MCP.",
44663
+ "description": "Use when building or reviewing web and iOS UI and you need real references from the free UIZZE public catalog, a structured design contract, a consent-gated rendered HTML/CSS preview, or a hard pre-ship finish gate.",
44566
44664
  "risk": "safe",
44567
44665
  "source": "https://github.com/aislon/uizze-mcp/tree/main/skills/uizze-ui-research",
44568
44666
  "date_added": "2026-07-12",
@@ -44580,6 +44678,8 @@
44580
44678
  },
44581
44679
  "source_type": "official",
44582
44680
  "source_repo": "aislon/uizze-mcp",
44681
+ "license": "MIT",
44682
+ "license_source": "https://github.com/aislon/uizze-mcp/blob/main/LICENSE",
44583
44683
  "tags": [
44584
44684
  "ui-design",
44585
44685
  "ui-research",