Use this skill for $brew distribute <skill-path>.
Objective
Evaluate a CocoPod skill package before marketplace distribution or recommendation. The gate protects users from prompt-dump skills, undeclared permissions, install-time execution, untested behavior, and unjustified network use.
Five Criteria
- Explicit tool permissions: SKILL.md frontmatter must declare the tools or permissions the skill expects.
- Observable evals:
evals/must exist and contain at least one runnable evaluation. - Failure behavior: SKILL.md must document
on_failure:behavior or an equivalent failure-handling section. - No install-time execution: The package must not execute code during installation. Execution belongs only to explicit command invocations.
- Justified network use: Any
network:frontmatter declaration must includenetwork_justification:.
Verdicts
- Clear: All quality criteria pass and no security gate fails. Distribution may proceed.
- Advisory: One or more quality criteria are incomplete, but no security gate fails. Distribution requires developer acknowledgment and is not recommended automatically by CocoBrew.
- Block: A security criterion fails, install-time execution is detected, or the package omits critical permission declarations. Distribution stops. There is no bypass flag.
Workflow
- Parse
$brew distribute <skill-path>. - Read SKILL.md and package folders next to it.
- Run deterministic checks before any LLM review:
- frontmatter contains permissions/tools
evals/exists and is non-empty- failure handling section exists
- no install hooks or install-time command blocks are declared
- network declarations include justification
- Run existing trifecta/security checks when available.
- Write
.cocoplus/brew/distribution-gate-<timestamp>.json. - For Clear, proceed with the configured distribution path.
- For Advisory, stop for acknowledgment.
- For Block, stop with exact failed criteria.
Exit Criteria
- Block verdict prevents distribution.
- Advisory verdict requires explicit acknowledgment.
- The report names each failed criterion.
- No install-time execution is allowed.
Anti-Rationalization
| Shortcut / Temptation | Why It Fails |
|---|---|
| Treat the skill as complete because the file exists | Skill contracts must describe observable behavior and verification, not just command names. |
| Skip artifact and safety checks for a small command | Small commands still mutate state or guide execution; preserve the same gates. |