English | 中文
A personal workspace for curating AI-agent resources: skills, agent instructions, and hooks. The registry is the source of truth; vendored external resources live locally under resources/ and are checked for upstream drift by pnpm agents.
Full design: docs/specs/vendor-sync-architecture.md
pnpm agents --help pnpm agents add owner/repo --type skill --list pnpm agents add owner/repo --type skill --resource foo --yes pnpm agents prepare pnpm agents verify
Every add command must include --type so the CLI can validate the resource shape before it reads or writes files.
Use docs/reference/agents-cli.md for the full CLI reference: source formats, options, examples, exit codes, and side effects.
All resources are declared in .agent-vendor/registry.json. Keep this table aligned with the registry.
| Resource | Type | Origin | Client | Purpose |
|---|---|---|---|---|
chrome-devtools-cli |
skill | external | - | DevTools diagnostics and browser automation. |
chrome-extension-release |
skill | internal | - | Chrome extension release prep. |
claude-code-review |
skill | internal | codex |
Isolated Claude Code CLI code review. |
codex-app-review |
skill | internal | codex |
Codex App thread-managed code review. |
codex-cli-review |
skill | internal | claude-code |
Isolated Codex CLI code review. |
docs-management |
skill | internal | - | Structured project docs workflow. |
figma-chrome-devtools-visual-qa |
skill | internal | - | Figma-to-browser visual QA. |
figma-plugin-release |
skill | internal | - | Figma plugin release workflow. |
find-skills |
skill | external | - | Discover or install skills. |
github-actions-docs |
skill | external | - | GitHub Actions docs-grounded help. |
npm-publish |
skill | internal | - | npm package publishing, naming, and local releases. |
perf-audit |
skill | internal | - | Performance and runtime cost audits. |
playwright-cli |
skill | external | - | Repeatable Playwright automation. |
security-audit |
skill | internal | - | Project security review. |
surge |
skill | internal | - | Surge CLI operation and troubleshooting. |
tag-release |
skill | internal | - | Tag-triggered GitHub Actions release automation. |
vscode-extension-release |
skill | internal | - | VS Code extension release prep. |
agent-collaboration |
agent-instruction | internal | - | Shared agent collaboration rules. |
codex-docs-context-guard |
hook | internal | codex |
Codex Stop hook for docs closeout. |
Resource type
skill: reusable instructions in a directory withSKILL.md.agent-instruction: shared collaboration guidance in a directory withAGENTS.md.hook: installable hook resources withREADME.mdplusconfig.tomlorhooks/.
Origin
internal: authored and maintained in this repository.external: vendored from an upstream repo. The local copy is authoritative; upstream is only a tracked reference.
Clients
clients is optional metadata for resources that depend on a specific agent client. Current values are codex, claude-code, and generic.
- Omit
clientsfor broadly reusable resources. - Use a specific client, such as
codex, for resources tied to client behavior or directories. - Use
genericonly when a resource is intentionally client-neutral; it cannot be combined with specific clients. - Client definitions live in scripts/vendor/constants.ts. Add new client values there, then run
pnpm agents verify,pnpm agents:test, andpnpm exec tsc --noEmit. - If registry metadata uses an unsupported client,
pnpm agents prepareandpnpm agents verifypoint back toscripts/vendor/constants.ts.
Lock status
External resources use lock statuses to make upstream drift explicit: in_sync, upstream_updated, locally_modified, upstream_deleted, archived, and unknown. See the architecture spec for state-machine details.
Add a resource
pnpm agents add ./resources/skills/my-skill --type skill --yes pnpm agents add owner/repo --type skill --resource foo --yes pnpm agents add ./path/to/codex-hook --type hook --client codex --yes
Edit a resource
pnpm agents prepare pnpm agents verify
prepare refreshes local lock metadata after resource edits. verify is read-only and is also used by CI.
Ignored, untracked files inside resource directories must be removed, moved, or tracked with git add -f before refreshing lock metadata. Ignored Markdown Translate outputs named *_<language>_mdt.md are excluded from local tree hashes and do not block prepare or verify; matching files that are not ignored still fail locally.
Check or sync external resources
pnpm agents check pnpm agents compare <name> pnpm agents sync <name>
check writes upstream status to lock.json. compare is read-only. sync overwrites the local resource directory with the current upstream subtree.
Archive or delete a resource
There is no remove or archive subcommand yet.
- Archive an external resource by adding
archived: trueto its registry entry, then runpnpm agents prepare. - Delete a resource manually by removing its registry entry and
localPath, then runpnpm agents prepare. - Upstream deletion never deletes local files automatically; decide whether to preserve, archive, or replace the local copy.
Pull request CI
.github/workflows/ci.yml runs on pull requests and manual dispatch. It installs dependencies from pnpm-lock.yaml, then runs pnpm agents verify, pnpm exec tsc --noEmit, and pnpm agents:test.
Daily vendor sync
.github/workflows/vendor-sync.yml runs daily at 01:06 in Asia/Shanghai (Beijing Time) and can also be started manually. The check job verifies resource metadata, runs pnpm agents check, and keeps the token read-only. When an external resource has an upstream update and is not locally modified, the sync job opens one PR per resource on chore/vendor/sync/<name> with the vendor-sync label.
The sync job uses a repository-installed GitHub App token for PR branch pushes and PR creation. Configure VENDOR_SYNC_APP_CLIENT_ID as a repository variable and VENDOR_SYNC_APP_PRIVATE_KEY as a repository secret before relying on automated PR creation.
The workflow skips resources that already have an open sync PR and never auto-merges. It also does not run an automated AI review. After a vendor-sync PR is created, a maintainer can manually ask an agent to review the PR diff and generated body using the AGENTS.md rubric.
agents/
├── .agent-vendor/ # registry + generated lock state
├── .github/workflows/ # CI + vendor-sync automation
├── docs/ # reference docs, specs, work notes
├── resources/ # skills, agent instructions, hooks
├── scripts/ # pnpm agents CLI + vendor helpers
├── AGENTS.md # repository-specific agent guidance
├── README.md
└── README.zh-CN.md
| Document | Use for |
|---|---|
| docs/reference/agents-cli.md | Full pnpm agents CLI reference. |
| docs/specs/vendor-sync-architecture.md | Data model, lock state machine, sync behavior, extension points. |
| AGENTS.md | Repository-specific review rubric and vendor tooling notes. |
| docs/README.md | Documentation index. |