name: agent-use
description: >-
Audit or design agent-facing product capabilities: action/context parity,
discoverable contracts, safe mutations, verifiable outcomes, and recovery.
Use for explicit agent-readiness reviews of apps, repos, CLIs, APIs, MCP/A2A
integrations, or Agent Skills; not every general code or documentation task.
license: MIT
compatibility: Local helper scripts require Python 3.10+; structural validation also requires PyYAML 6.0.3 or later in major 6. Network and execution checks need separately authorised tools and environments.
metadata:
version: "3.0.0"
reviewed: "2026-09-13"
Agent-useful products
Start with real tasks, not a checklist of fashionable protocols. Retain the core
method: action parity, context parity, stable object identity, bounded outputs,
verification, and recovery. A documented capability is not an implemented one;
a directory of manifests is not evidence that an agent can finish the task.
Audit an existing surface
- Select 5–10 representative tasks with expected outcomes, including a read,
an authorised mutation, a denied operation, and interrupted-work recovery.
- Map each task's necessary context, object IDs, available action, permission,
success evidence, and retry/resume path. Use the noun test: discover, identify,
read, change where appropriate, verify, recover.
- Inspect source/contracts, then execute only the authorised checks. Record
whether each observation is a source signal, documented claim, or runtime proof.
- Compare the human and agent paths. Preserve intentionally human-only consent,
MFA, CAPTCHA, and biometric boundaries; do not score bypassing them as parity.
- Prioritise demonstrated blockers and test the proposed repair on the same tasks.
Report unresolved evidence rather than turning missing tool access into a failure.
Use the report template,
architecture methods, and
evaluation guidance as needed. The retained local/web
scanners and scoring rubric are heuristic inventory aids, not protocol validators
or measured agent-success scores. A missing optional discovery convention is not
an interoperability defect without a consumer that actually requires it.
Design the smallest useful contract
Prefer the surface already native to the product. A small CLI may need help,
structured output, and explicit exit codes, not an A2A server. An HTTP integration
may need its current OpenAPI contract and SDK, not a parallel handwritten client.
Use a workflow-level operation when it owns atomicity or a real server-side job;
otherwise expose composable operations with identifiable results.
For writes, define what happens after timeout, partial success, concurrent edits,
and repeated delivery. Request IDs are not automatically idempotency keys. Keep
confirmed outcomes separate from unknown outcomes, and define the retention/scope
of any deduplication guarantee. A preview or hash cannot authorise additional work.
Long-running tasks need durable IDs, explicit terminal states, and bounded waits;
local cancellation is not proof remote work stopped.
Read web/discovery contracts or
API/MCP/A2A contracts for the chosen surface.
The A2A example now targets protocol 1.0; /.well-known/mcp.json and the bundled
skills index are local design examples, not universal standards. A2A skills are
protocol capability descriptions, not filesystem Agent Skills packages.
Inspect a skill without executing it
Resolve SKILL_DIR to the installed directory containing this file. Paths below
are skill-relative, not scripts expected in the target repository.
python "$SKILL_DIR/scripts/validate_agent_assets.py" --skill-dir /absolute/path/to/skill
Install the declared PyYAML dependency in an authorised environment first, or run
the implementation file with a PEP 723-aware runner. Validation parses real YAML,
checks required fields, JSON/Python syntax, and conventional relative Markdown
links. It does not execute scripts, write bytecode, contact services, validate
complete protocol schemas, or evaluate whether the skill improves agent behaviour.
The old --run-help and --py-compile modes are removed. Running even --help
can execute arbitrary project code; do that separately only after trust review.
See skill/instruction checks.
Optional directories are optional, not automatic quality failures. Prefer current
commands and useful examples rather than retaining aliases solely for compatibility.
Generate drafts, not deployed discovery endpoints
python "$SKILL_DIR/scripts/generate_agent_assets.py" \
--output /private/existing-parent/new-drafts --project-name "Example" \
--base-url https://example.com --surface a2a
This previews without creating directories. Select each surface explicitly;
add --write only to create a new private draft directory. Existing paths are
never overwritten. The final manifest marks completion; an interrupted write can
leave a partial directory. No --force, default all, live .well-known publication,
or automatic replacement of a project's AGENTS.md remains.
Review generated placeholders and validate the protocol with the actual chosen
SDK/schema before publication. Declare only implemented capabilities and enforced
authentication. The A2A fixture uses HTTP+JSON, a real service endpoint separate
from the card URL, and a bearer-auth declaration that the server must implement.
Maintenance evidence
Run python -m unittest discover -s "$SKILL_DIR/tests" -v for local regression
checks. The new fixture tests cover scaffold/validator behaviour and selected A2A
shape regressions, not full A2A or MCP conformance. Preserve the substantive domain
references, evaluation seeds, capability maps, and existing MIT licence.
Reviewed 2026-09-13 against Agent Skills,
authoring guidance,
A2A 1.0, and
RFC 9727.