Platform engineers and security reviewers can use this checklist to decide whether a shared Skill is ready to release, needs a restricted trial, or should go back for changes. It covers client scope, discovery, triggers, dependencies, permissions, repeatable task tests, and release decisions.
At most 64 characters for a Skill name and 1,024 characters for its description are specified by the Agent Skills format. Those limits are only the format check. For AI Agent Skills team acceptance, also verify client discovery, trigger boundaries, file and script access, and repeatable task results before release.
Last updated October 9, 2026. Format and client-support claims were checked against the Agent Skills specification, Claude Code Skills documentation, and Codex Skills documentation.
This guide is for developers moving a personal Skill into a shared team workflow.
Platform engineers can use it to check discovery and execution in each supported client.
Security reviewers can use it to inspect attached scripts, files, and external access.
Set the acceptance boundary before reviewing files
A Skill can meet the open format and still fail your team's release requirements. The format describes a portable structure; each Agent client determines how it finds, presents, and runs Skills in its own environment. Do not turn “valid Skill” into “supported everywhere.”
Write down the boundary for this release before you inspect the Skill:
- Which clients are in scope? Name each supported Agent, rather than promising general compatibility.
- Which operating systems and execution environments are supported?
- Where will the Skill live: in a repository, a user-level directory, or another client-supported location?
- Are scripts permitted? If so, which runtime, dependencies, and access permissions are allowed?
- Who owns changes to the Skill, and how will the team identify the version that passed review?
These are not administrative details. Without a defined target, reviewers cannot tell whether a missing Skill indicates a bad installation or an unsupported directory. Without an environment boundary, a passing task on one machine can conceal a missing executable, inaccessible reference file, or denied network request on another.
Treat the Agent Skills specification as the format contract. Treat each client’s current documentation as the contract for that client’s locations and behavior. Before claiming a client is supported, check its current documentation and record the actual test result for each client and environment combination.
Check that metadata and files meet the format
The top-level SKILL.md is important, but seeing the file in a repository proves neither that its contents are valid nor that a client loaded it. Inspect the file’s metadata, name, directory, referenced material, and location together.
Use this format review:
- [ ] Confirm that
SKILL.mdexists at the expected location and that its metadata can be parsed. - [ ] Check the required
nameanddescriptionfields against the specification. - [ ] Keep the name within the specification’s 64-character limit and the description within its 1,024-character limit; use names that follow the documented character rules. The specification defines these limits and naming requirements.
- [ ] Check that the directory name matches the Skill name where the format requires that relationship.
- [ ] Check that every relative reference points to a file included in the shared package.
- [ ] Keep the main instructions readable. The specification recommends keeping
SKILL.mdunder 500 lines; move detailed reference material into linked files when that helps keep the entry point concise.
A pass on this list means the package appears to follow the format. It does not establish client support. Install or place the Skill where the target client expects it, start the client in the intended environment, and verify that the Skill appears or can be selected there. If the client offers no direct discovery indicator, use a harmless test prompt and inspect the resulting behavior; do not infer successful loading from a file browser or editor view.
Separate format compliance from discovery
Record these as different review results. “Metadata passes” describes the files. “Discovered in the target client” describes observed client behavior. If one passes and the other fails, investigate the installation path, client configuration, and supported location before changing Skill instructions.
This distinction matters especially when a team shares one package across clients. A common SKILL.md may provide a shared starting point, but it does not certify that Claude Code Skills and Codex Skills use the same discovery rules or expose the same capabilities. Follow each client’s current documentation and record the actual test result for each supported target.
Test whether the description selects the right work
A description is not decorative metadata. It helps a client or user decide whether the Skill applies. A vague description can leave a useful Skill undiscovered at the moment it is needed; an overbroad one can cause it to be applied to tasks it was not designed to handle.
Review the trigger boundary using two kinds of cases:
- Intended tasks: prompts that clearly need the workflow, terminology, or output the Skill provides.
- Near-match tasks: prompts that share a topic or vocabulary but should be handled without this Skill.
For each case, record the prompt, whether the Skill was invoked or selected, and whether its behavior matched the intended boundary. Test realistic variations in wording rather than repeatedly using one memorized prompt. If the Skill misses intended cases, make the description more explicit about the task and conditions. If it activates on near-matches, narrow the conditions or state what is out of scope.
Do not accept “the description sounds clear” as evidence. The decision should follow observed behavior across representative examples. Keep results separated by client; a good trigger result in one does not establish the same result in another.
Inspect dependencies, scripts, and permissions
A Skill that contains instructions only has a different risk profile from one that runs a script, reads local files, or contacts an external service. Review what it can cause the Agent or user to do, not just what the SKILL.md text says.
- [ ] Open every referenced file and confirm it belongs to the reviewed package.
- [ ] Resolve relative paths from the Skill’s installed location, not just from a developer’s working directory.
- [ ] Identify required interpreters, packages, command-line tools, and environment variables.
- [ ] Find every network destination, external tool, and data source the workflow expects.
- [ ] List the directories and files the workflow reads or changes.
- [ ] Confirm whether scripts run automatically, only after user action, or not at all.
- [ ] Test missing dependencies and denied access. The workflow should fail clearly rather than silently produce incomplete work.
- [ ] Check the Skill’s origin and review changes before importing updates from an external source.
A declared dependency is not automatically a safe dependency. Verify what the script does, where it came from, and which permissions the target environment grants it. For a script that modifies files, test with a disposable project or limited workspace before approving it for a broader team environment. For a workflow that needs network access, document the reason and destinations instead of allowing unrestricted access by default.
Keep a clear distinction between instruction and execution. A text-only Skill can still encourage risky steps, but a script or external integration adds executable behavior or another trust boundary. The Claude Code security documentation explains security considerations for that client. Use it alongside your own organization's access policy; do not treat a Skill’s format validity as a security review.
Define task evidence before you run the workflow
A successful output is meaningful only when reviewers know what input produced it and what counts as acceptable. Before testing, write a small case file for each representative task:
- The input prompt and any required fixture files.
- The expected output, including required fields, format, or actions.
- The failure conditions, such as using an unavailable dependency or receiving incomplete source material.
- The target client, environment, Skill version, and relevant dependency versions.
- The observed result and any reviewer notes.
Use cases that represent actual team work, not only an ideal demonstration. Include at least one case where the workflow should not apply, one case with an ordinary expected input, and a case that exercises an important dependency or failure path. Those are test categories, not a universal sample count; choose enough examples to cover the risks and behaviors your team has identified.
Define observable criteria. “The answer looked good” is difficult to reproduce. “Includes the required sections, does not modify files outside the test workspace, and reports a missing dependency” is easier for another reviewer to assess. When output quality involves judgment, capture the reason for the decision so the next reviewer can apply the same standard.
The OpenAI guide to Agent evaluations and its broader Evals guidance describe approaches to systematic evaluation. The Skills evaluation article provides a Skill-focused example. Use these as evaluation references, not as proof that your particular workflow has passed.
Run the cases in each client and environment you intend to support. Save enough context to reproduce a result: the Skill version, test input, relevant client setting, output, and any dependency or permission difference. If one client behaves differently, report that as a compatibility limitation rather than averaging the results into a single “works” label.
Use explicit release gates to decide what happens next
Use this decision branch after the format, discovery, trigger, permission, and task reviews:
- If the package follows the format, appears in every client declared as supported, stays within the intended trigger boundary, uses approved dependencies and permissions, and passes the representative task cases, then release it for the environments that were tested.
- If format and safety checks pass but evidence is incomplete, or a client or environment has not been verified, then allow only a restricted trial with a named owner and a written limitation. Do not describe untested combinations as supported.
- If a required file is missing, a trigger is materially overbroad, a script uses unapproved access, or a task fails a required outcome, then return the Skill for correction and rerun the affected checks before release.
Record the gate decision with the evidence, not just a status label. A useful release note states the supported clients and environments, known limitations, allowed permissions, and the Skill version that was reviewed. That gives the next maintainer a baseline for deciding whether a change needs renewed acceptance.
Reopen acceptance when a Skill’s instructions, metadata, referenced files, or scripts change. Also review it after a dependency changes, a client’s discovery or execution behavior changes, or the team adds a new target environment. A previous pass describes the reviewed version and setup; it is not a permanent compatibility guarantee.
FAQ: resolving common team acceptance questions
Does one valid SKILL.md prove compatibility with both clients?
No. A valid file establishes a format result, not a cross-client result. Check each client’s supported location and behavior, then verify discovery and run representative tasks in that client. Keep separate records where behavior differs. If the Skill is only verified in one client, limit the release statement to that client rather than assuming that the common format implies equivalent loading, tools, or execution.
Is reviewing the files enough to confirm that the Skill works?
No. A file review can catch malformed metadata, missing references, and visible permission risks. It cannot show that a target client discovers the Skill, selects it for the intended task, or produces an acceptable result. Confirm those separately in the real client and environment. Save the input, observed output, version, and relevant settings so another reviewer can reproduce the acceptance decision.
What should happen when an optional dependency is missing?
First decide whether that dependency is truly optional for the task. If the workflow can continue safely, document the reduced behavior and test that path. If the dependency is necessary for an expected result, the Skill should report the issue clearly and avoid implying that it completed the task. Do not approve a release based on a developer machine where an undeclared local tool happens to be installed.
Does a successful task run justify a team-wide release?
A successful run supports a narrow claim: that a particular task worked in a particular client and environment under the conditions tested. Team-wide release also needs a format review, discovery confirmation, trigger-boundary tests, dependency and permission review, and enough representative task evidence for the intended use. If coverage is still limited, choose a restricted trial and state what has not yet been verified.
For a low-risk workflow, the most useful next step is to run this acceptance process in the client and environment the team already uses, then keep the release scope limited to what the evidence supports. If the workflow depends on macOS-specific tools or needs a clean remote test environment, compare that need with the team's existing machines before adding infrastructure. Teams evaluating a temporary Mac environment can review nuvcloud's service information and the US East checkout option; a rented Mac is a better fit for short-lived testing than a permanent purchase when the environment is only needed intermittently. For continuous, long-running workloads or workflows that require a directly attached physical device, a dedicated local Mac may be the more suitable choice.
Validate Your AI Agent Skills on a Dedicated Mac
Run repeatable macOS agent tests on dedicated Apple Silicon hardware with nuvcloud.
Use SSH for automated test runs and VNC to review desktop workflows in the same environment.