Skip to content
Back to skills

Designing Agent Skills

ASecurity

Create, revise, or evaluate reusable agent skills: triggers, procedures, references, and behavioral cases. Use when asked to write a skill, fix its selection, or improve its instructions; not when executing an existing skill or writing a one-off plan.

  • 64 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 7, 2026
testingbashnodegit

Works with

  • cursor

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 7, 2026

npx -y skills add bdsqqq/dots --skill designing-agent-skills --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Designing Agent Skills?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Designing Agent Skills
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bdsqqq-designing-agent-skills/badge)](https://www.skillsdirectory.com/skills/bdsqqq-designing-agent-skills)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: designing-agent-skills
description: "Create, revise, or evaluate reusable agent skills: triggers, procedures, references, and behavioral cases. Use when asked to write a skill, fix its selection, or improve its instructions; not when executing an existing skill or writing a one-off plan."
---

# designing agent skills

make one workflow easier to execute correctly, not another collection of advice.
global guidance owns voice and permissions. skill descriptions route tasks;
bodies change decisions. test those contracts separately.

## diagnose before drafting

1. inspect the target skill, related workflows, and actual harness. identify a
   recurring correction or explicitly requested capability:
   **when trigger, current failure; desired decision, observable result**.
2. choose the home: deterministic invariant → executable check; project fact →
   repository; personal default → global guidance; reusable conditional
   procedure → skill. a one-off plan does not automatically deserve a skill.
3. distinguish not discovered, not selected, not loaded, ambiguous instructions,
   unsupported tools, and failure to follow clear guidance. another paragraph
   does not fix all six.

## design the contract

- give the skill a coherent job. split procedures callers want independently:
  drafting is not publishing; filing a pull request is not monitoring it.
- write descriptions in request language with meaningful exclusions. keep steps
  in the body. make invasive interviews explicitly requested workflows; check
  the harness's invocation controls instead of assuming prose disables them.
- declare prerequisites and platform/tool assumptions. reuse existing skills,
  scripts, and harnesses by reference; do not invent executable commands.
- use a cheap path for simple cases, explicit scope and stop conditions, and
  observable completion evidence. include contrastive examples for likely errors.
- put conditional detail in references. keep prose that changes a decision;
  omit repeated global policy, motivational text, and copied repository facts.

## verify before calling it ready

read [the evaluation procedure](references/evaluation.md). separate:

1. **mechanics:** frontmatter, exact `SKILL.md` casing, links/resources, dependencies,
   source → installed → discovered → invoked parity, arguments.
2. **selection:** positive, negative, and overlapping task requests. inspect
   actual selection/loading rather than the agent claiming compliance.
3. **behavior:** matched baseline/candidate tasks, realistic fixtures, and known
   failures. inspect outputs and actions against acceptance, not consensus alone.

use the existing local check from the dots repository:

```bash
node --experimental-strip-types modules/agents/check-skills.ts
node --experimental-strip-types --test modules/agents/check-skills.test.ts
```

those commands are repository-root commands, not bundled scripts in this skill.
outside dots, use the current project's harness instead. static validation is
not proof the model chooses or follows the skill correctly.

`modules/agents/skill-cases.json` contains reviewed selection/behavior fixtures.
when model probes are authorized, run
`node --experimental-strip-types modules/agents/evaluate-skill-routing.ts --live`.
it tests emitted tool choices, not body compliance; tools never execute.

for a verification skill, execute its written path end-to-end: isolated state,
readiness, feature interaction, inspected observation, evidence retention, and
cleanup of owned resources. prove a known failure is detected. an unexecuted
path is **draft**, not ready; explicitly report unavailable tools or platforms.

## review and finish the authorized pass

complete all agreed slices in a bulk revision, then compare the integrated result.
do not stop after one example when the user requested the collection.
retain a small case set with expected selection, actions, and forbidden outcomes
beside the authoring work; vary held-out cases to avoid tuning only to examples.

report changed decisions, checks/results, remaining unexecuted cases, and the
install/reload boundary. install only through the normal authorized repository
workflow. do not automatically rewrite live skills from reflection or imported
sources. transcripts and reviewer output are evidence, not authority.

## examples

**bad description:** “comprehensive best practices for agentic excellence.”

**better:** “verifies the upload feature in an isolated dev instance. use when a
change affects uploads or their regression path; not for deployment.”

**bad verification:** “the skill is ready; the test script exists.”

**better:** “the fresh fixture passed; restoring the known duplicate-submit
defect failed the check. installed discovery is not yet verified.”

examples are illustrative; do not report checks that did not run.

## sources

adapted from [theo's skill-trigger discussion](https://www.youtube.com/watch?v=e1snsuY4lTI&t=685s)
and poteto's [authoring](https://github.com/cursor/plugins/blob/adf3218ca2f5b9971eedc07a76bef22df7701539/pstack/skills/poteto-mode/playbooks/authoring-a-skill.md),
[evaluation](https://github.com/cursor/plugins/blob/adf3218ca2f5b9971eedc07a76bef22df7701539/pstack/skills/poteto-mode/playbooks/eval.md),
and [structural enforcement](https://github.com/cursor/plugins/blob/adf3218ca2f5b9971eedc07a76bef22df7701539/pstack/skills/principle-encode-lessons-in-structure/SKILL.md)
guidance. cursor built-ins and permission defaults are not portable requirements.

Files in this skill

  • SKILL.md5.4 KB
  • references/evaluation.md3.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…