Generate or update an Agent Skill from the observed workflows, boundaries, and conventions of one software project.
日本語の概要は準備中です。原文の説明を表示しています。
Generate or update an Agent Skill that teaches consumers one npm or local package the user maintains, including framework modules and wrappers. Tests each example against the installed version. Use when a maintainer asks for a package Skill, a SKILL.md for their library, or a Skill update after a release.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Write a short Skill that stops an Agent from misusing one package version. The reader knows the language, the framework, and the domain. Write only what it would get wrong.
Take a package name, directory, or prepared source. Ask for the destination only when it is missing.
In a monorepo, put the Skill in the published package directory.
Write one Skill per installed package, unless a second package has distinct users.
Skip an internal package, whose users are the repository's own packages, such as a shared engine or types package. Report why, and write nothing.
assets/ holds the Harness request. A direct run ignores it.
package.json version and the npm dist-tag that carries it.
If npm latest is an older major, test the branch's version. If the branch is ahead of its last release, read source at that release tag and report the unreleased changes.To update an existing Skill after a release, use update-package-skill. It tests only what the release changed.
Observed behaviour beats documentation.
prepack can need them.
Pack with the repository's package manager: npm pack leaves pnpm catalog: versions.
Give the fixture its own pnpm-workspace.yaml, so a parent workspace cannot satisfy its imports.
Install only the package, documented peers, and check tools such as typescript. A resolution error is a finding.
Install each peer at npm latest. If latest is outside the peer range, test both versions.modules/; Nuxt registers every module there.
One fixture page can exercise many examples.exports, the oldest runtime in engines, and each CLI binary with a config file and with flags. Report other modes untested.
Wrap every run in timeout 120.
Grep the package for agent and CI detection, such as CLAUDECODE or CI; unset each variable it reads with env -u VAR.
Read dev warnings in the dev log, prerender results in build output, and runtime results from the production server.
If a trap says nothing happens, run it and confirm the silence.
To fetch from a server, run scripts/serve-fixture.mjs in the fixture: node SKILL_DIR/scripts/serve-fixture.mjs --fetch / -- node .output/server/index.mjs.
Quote '{port}' in a server argument, since some shells expand it. --header 'User-Agent: Googlebot/2.1' sends a header, Host included.
For a binary, use --fetch-raw PATH --out DIR. DIR/responses.json lists each status, content type, and response headers.
For an HTTP client package, start a fake target on port 0 inside the test, and assert on the requests it receives.
Without --fetch, it holds the server until SIGTERM. Background it with your tool's option; & and nohup die with the shell call.
Start servers from your own test script and record each process ID you start; stop only those. Never kill by port or with pkill -f: another Agent can own that process.
In a browser, set a desktop user agent; a package can treat HeadlessChrome as a bot.Do not fix the package or its docs in the Skill change.
Include:
Cut:
path:line citations. Put evidence in the report.Shape:
// server/api/search.ts, so it can be extracted.SKILL.md. Never exceed 500 lines.
Past the aim, keep silent failures before loud ones and common-path traps before rare ones. Merge traps that share a fix. Cut a common-task example before a trap.references/<topic>.md only past about 40 lines and when under a third of tasks need it.SKILL.md, one level deep. A reference over 100 lines starts with contents.scripts/ only when running code beats reading it.SKILL.md and Markdown under references/: at most 9 files and 64 KiB in total. It never updates scripts/.The frontmatter contains name and description. It may also contain license, compatibility, metadata, and allowed-tools.
If the source declares a license, copy its identifier into license. Never infer a license.
Include compatibility only for specific tool, runtime, network, or product requirements, at most 500 characters.
Omit it for general guidance. Do not repeat the package name, tested version, or implementation details.
metadata maps string keys to string values. allowed-tools is an experimental space-separated string of pre-approved tools.
The name uses lowercase letters, numbers, and single hyphens, at most 64 characters, and matches the directory.
For a scoped package, drop the @ and replace / with a hyphen: @nuxtjs/seo becomes nuxtjs-seo.
The description, at most 1024 characters in third person, says what the Skill does, then when to use it, in the words a user types: package name, main exports, config key, error symptoms.
Write it as one plain line of 300 to 450 characters. Skill loaders parse frontmatter with different YAML parsers, so use no double quotes, backticks, or %. Name an error symptom in plain words, never as a quoted message.
Good: Adds and debugs Schema.org JSON-LD in Nuxt with nuxt-schema-org. Use when a task mentions structured data, rich results, useSchemaOrg, defineArticle, or the schemaOrg config key.
Keep one source Skill for compatible Agents. Keep their discovery paths outside the generated Skill.
Use capability descriptions instead of provider-specific tool names.
Ask for inputs explicitly; do not depend on $ARGUMENTS, hooks, or dynamic context injection.
Resolve bundled files from the Skill directory and consumer commands from the consumer project root.
Name script runtimes, binaries, network access, and credential requirements beside their use.
If a required capability is unavailable, report it and stop that dependent step.
Never invent evidence or silently skip a required check.
Check a matching task, an unrelated task, and a missing-input task.
When available, use a fresh session in each Agent the user asks to support.
If the user names no Agent, validate the format with skilld run SKILL_DIR --json and expect _tag: Success. Test the current Agent if it can start a fresh session.
Record its version, model, task, output, and required permissions.
Distinguish format validation, discovery, activation, and task completion.
Report unavailable Agent paths untested. Package example checks do not prove cross-Agent execution.
Before finishing, extract every block with scripts/extract-blocks.mjs: node SKILL_DIR/scripts/extract-blocks.mjs SKILL.md DIR.
Copy each block into the fixture and run it unchanged. Never test a copy you edited by hand. Repeat after each edit.
--replace https://example.com=http://localhost:PORT swaps a placeholder. DIR/blocks.json maps each block to its line.
Confirm:
skilld run SKILL_DIR --json returns _tag: Success. Fix each failure before you finish.Report to the user:
files in package.json. After one build, list packed files with npm pack --dry-run --ignore-scripts; pnpm pack rejects that flag.skills/<name>/SKILL.md beside the package's package.json. Include linked files in the tarball.
pnpm 12.11 and newer link Skills from approved direct dependencies.
Document pnpm approve for developers who want these links. Approval covers every Skill and later version of the package.
Never approve a package for the user without their request. pnpm owns its links, dependency updates, and removal.package.json. If it already links the skilld.dev page, keep that link. Else add the badge below after the others.
Replace a skilld add tip that names this package in place with the tip below. Else add the tip after the install command.
Replace OWNER, REPOSITORY, and PACKAGE. Count every SKILL.md in the Repository, hidden Agent folders included; the skilld.dev indexer skips test and fixture folders.
If it holds several Skills, append /SKILL_NAME to the page and badge paths. The README omits the run command; the page shows it.<a href="https://skilld.dev/gh/OWNER/REPOSITORY">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://skilld.dev/b/OWNER/REPOSITORY?theme=dark">
<source media="(prefers-color-scheme: light)" srcset="https://skilld.dev/b/OWNER/REPOSITORY?theme=light">
<img alt="Skill repository on skilld.dev" src="https://skilld.dev/b/OWNER/REPOSITORY?theme=light">
</picture>
</a>
> [!TIP]
> Using an AI agent? Get the PACKAGE Skill on [skilld.dev/gh/OWNER/REPOSITORY](https://skilld.dev/gh/OWNER/REPOSITORY).
For a direct run, show the files for review, or open a pull request if asked. Replace an existing Skill only with user approval. A direct run has no Harness checks; never claim it passed them.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Generate or update an Agent Skill from the observed workflows, boundaries, and conventions of one software project.
日本語の概要は準備中です。原文の説明を表示しています。
Review an Agent Skill for valid structure, clear triggers, usable instructions, current evidence, and risky or unclear actions.
日本語の概要は準備中です。原文の説明を表示しています。
Operate skilld CLI for Skill discovery, use, installation, inspection, updates, authentication, configuration, restoration, and removal, including Repository, curator, and collection refs. Also read the skilld.dev registry (view, browse, trending, tracks, curators, index) and act for the user's skilld.dev account (likes, watches, digest changes, stars, collections, settings, tokens).
日本語の概要は準備中です。原文の説明を表示しています。
Designs and verifies skilld CLI output, terminal pickers, and full-screen flows. Use for terminal colours, loading feedback, keyboard controls, layout, errors, or end-to-end CLI UX reviews.
日本語の概要は準備中です。原文の説明を表示しています。
Updates an existing package Skill for a new release of its npm or local package by testing only what changed since the version the Skill names. Use when a maintainer asks to refresh a package Skill after a release, or when a SKILL.md names an older tested version than the package.
日本語の概要は準備中です。原文の説明を表示しています。