ay-skillsSAFE
Small, human-approved workflows for AI coding agents.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://github.com/ALVIN-YANG/ay-skills/actions/workflows/test.yml) [](https://github.com/ALVIN-YANG/ay-skills/releases) [](LICENSE)
简体中文
AY Skills is a set of fifteen standalone skills for coding agents. Each skill defines when the agent can proceed, when a decision needs your approval, and what evidence counts as done.
Quick start
List the skills, then choose what to install:
npx skills@latest add ALVIN-YANG/ay-skills -l npx skills@latest add ALVIN-YANG/ay-skills
Describe the task normally. The matching skill should load from the request; naming $ay-implement or another skill is optional.
Add CSV export to this app and verify the result.
How it behaves
- A precise request runs directly.
- A choice that changes product behavior, architecture, data contracts, dependencies, scope, risk, cost, rollback, or an external action stops for approval.
- Approved work continues inside that boundary and reports the highest proof actually reached.
- Reviews stay read-only unless fixes are requested.
The skills are independent. They do not require a router, shared runtime, modes, hooks, telemetry, automatic commits, or planning files.
Skills
Plan and design
f9db8074bdd0OBSERVED · 2026-10-12Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned | |
| codex | mentioned | |
| copilot | mentioned | |
| cursor | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
--- name: ay-api description: Design service and transport contracts before implementation. Use when the primary deliverable is a REST, GraphQL, gRPC, event, webhook, SDK, or internal service interface, including 接口设计, API文档, OpenAPI, 错误码, 鉴权, or 幂等方案. Do not use for system architecture, physical database schemas, generic documentation, or requests primarily asking to implement handlers. --- # AY API Turn user and domain actions into a stable contract without exposing storage accidents. ## Approval contract <!-- ay-contract:start --> - Read the full request and investigate discoverable facts before asking the user. - Treat review, diagnosis, explanation, and planning as read-only unless the user also requests change. - Treat a precise instruction as approval when target, observable result, and acceptance boundary are clear. - A broad outcome authorizes investigation, not file or artifact changes based on choices the agent must invent. - For a materially underspecified change, present one recommended proposal and wait for approval. - After approval, execute autonomously inside the approved boundary; do not ask about ordinary implementation details. - Reopen approval only when new evidence changes behavior, architecture, data contracts, dependencies, scope, risk, cost, rollback, or external actions. - Perform external actions only when the request or approved proposal includes them. Confirm the exact target before an irreversible action. - Preserve unrelated and user-authored work. Verify the real requested outcome before claiming completion. <!-- ay-contract:end --> ## Derive the contract Inspect available product requirements, UI states, architecture, consumers, existing conventions, and compatibility obligations. Preserve approved domain terms and state outcomes. Map each client action to a domain command, query, event, or stream. Do not begin by turning tables into CRUD endpoints. Use one canonical name for each domain concept across operations, events, and versions. Follow transport naming conventions, but do not create synonyms or reuse one name for different meanings. When an established boundary uses another name, record the explicit mapping and compatibility reason. Choose REST, GraphQL, gRPC, events, webhooks, or an internal interface from caller needs, ecosystem, latency, coupling, and evolution constraints. Preserve an established protocol unless evidence justifies change. Ask only about an undiscoverable decision that materially changes consumers or compatibility. Scale the handoff to the actual operations. Omit generic standards and patterns that cannot be traced to a supplied consumer, risk, or compatibility need. ## Specify observable behavior For each operation define purpose, authorization, input, output, validation, error semantics, and important state transitions. Add idempotency, optimistic concurrency, pagination, filtering, ordering, rate limits, retry, timeout, cancellation, or streaming behavior only where the use case needs them. Distinguish authentication from authorization and transport errors from domain outcomes. Prevent cross-tenant access and unsafe retries by contract. Keep responses shaped for consumer tasks without leaking internal tables, provider payloads, or secret fields. Describe compatibility and evolution: additive changes, deprecation, event ordering and delivery, webhook verification, or versioning where relevant. Avoid a versioning scheme or generic envelope without a real compatibility need. ## Check every consumer Walk approved UI loading, success, empty, partial, error, cancellation, and recovery states against the contract. Check batch and concurrency behavior, realistic payload size, and failure of dependencies. Name any architecture or data invariant that remains unresolved instead of hiding it in the API. Create `api.md`, OpenAPI, GraphQL schema, protobuf, or examples only when requested or required for an approved handoff. Stop before database schema and implementation unless separately authorized.
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (2 observation(s))
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
f9db8074bdd0full audit observations/trust-audit/skill/alvin-yang__ay-skills.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | f9db8074bdd0 | SAFE | B | 89 | first audit |
Questions
What does the ay-skills skill do?
Small, human-approved workflows for AI coding agents.
Is ay-skills safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can ay-skills access on my machine?
The audit observed that it reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: none found.
Which assistants does ay-skills work with?
Its documentation mentions claude-code, codex, copilot and cursor. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (f9db8074bdd0), read on 2026-10-12. The repository is watched, and a new audit runs when it changes — this is the first audit.