skills/creating-linksoft-skills/SKILL.md
Create or improve Agent Skills that follow the Agent Skills specification and LinkSoft repository conventions. Use this skill when designing a new skill, tightening scope, writing descriptions, structuring references or scripts, adding evals, or reviewing an existing skill for clarity, discoverability, and reuse.
npx skillsauth add linksofteu/linksoft_skills creating-linksoft-skillsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill to create or revise a reusable Agent Skill in the standard Agent Skills format that is:
SKILL.mdStart from real expertise before creating files.
Good scope checks:
The skill name must match the folder name and the spec:
Prefer names that describe the capability, not generic helper terms.
Examples:
opening-in-ide, reviewing-skills, creating-linksoft-skillsskill-helper, misc-tools, data-handlerThe description is the main trigger signal. Write it in imperative form around user intent.
Use this pattern:
description: Use this skill when ...
Description guidance:
SKILL.md instead of the descriptionGood example:
description: Use this skill when creating or improving Agent Skills, including naming, description writing, progressive disclosure, scripts, evals, and repository compliance.
Avoid descriptions like Helps with skills. or descriptions that only explain implementation details.
Treat description length as a real constraint because descriptions are loaded into context during activation.
If the user asks for description tuning, use the process in references/descriptions-and-evals.md.
SKILL.md leanPut only the instructions the agent needs on nearly every activation into SKILL.md.
Include:
Use progressive disclosure to spend context wisely. Do not overload SKILL.md with long background explanations, exhaustive examples, or large reference material. Keep the main body under about 5,000 tokens, keep it under 500 lines, and prefer much shorter when possible.
If the skill needs detailed supporting material, move it to references/ and tell the agent exactly when to read each file.
Start from the Agent Skills format, then apply LinkSoft repository requirements.
Agent Skills format minimum:
<skill-name>/
`- SKILL.md
LinkSoft repository layout for this repo:
skills/<skill-name>/
|- SKILL.md
|- README.md
|- assets/
|- references/
|- scripts/
`- evals/
Treat these as building blocks, not a mandatory checklist. Add only the files and directories that materially improve the skill.
assets/: reusable templates, schemas, and other static resources the agent can load on demandREADME.md: required by this repository for human-facing overview, contents, usage notes, and validation notesreferences/: add when detailed instructions are only needed in some runsscripts/: add when reusable executable helpers are more reliable than repeated prose instructionsevals/: add when the skill benefits from machine-friendly evaluation, usually evals/evals.jsonAvoid redundant docs like separate installation guides unless they add real value.
When creating a brand new skill, do not guess metadata.author if the correct value is unknown.
metadata.author, ask the user who the author should be before finalizing the files.Use references only when they save context or isolate advanced material.
SKILL.mdread ... when ... or read ... if ... instructionsExamples:
references/descriptions-and-evals.md when improving trigger accuracy or adding eval queries.references/scripts-and-structure.md when deciding whether to bundle scripts or how to document them.Use a bundled script when the agent would otherwise repeat fragile or mechanical logic across runs.
For scripts:
--help--dry-run or explicit confirmation flags such as --confirm or --force for destructive or stateful actions when appropriateIf a one-off command is enough, prefer that over adding a script. Read references/scripts-and-structure.md when deciding.
Use evals/evals.json for output-quality evaluation. Start with 2-3 realistic prompts and grow from there.
When evaluation grows beyond a quick spot check, organize runs by iteration and keep outputs separated for the current skill and the baseline. Save grading, timing, or benchmark artifacts when that structure helps you compare results over time.
Each eval can include:
promptexpected_outputfilesassertionsUse realistic prompts with file paths, concrete details, and near-miss cases where relevant. Compare the skill against a baseline where possible, such as no skill, a previous version of the skill, or another reasonable point of comparison.
After running evals, review failures and patterns, not just pass rates. Use recurring issues to tighten instructions, defaults, or gotchas, and include human review when quality depends on judgment that assertions do not capture well.
If the user wants trigger optimization, create should-trigger and should-not-trigger queries as described in references/descriptions-and-evals.md.
Before finalizing, check both the Agent Skills format and LinkSoft repository requirements.
Agent Skills format requirements:
name and descriptionlicense, compatibility, metadata, and allowed-tools are used only when they add valuename field and follows naming rulesagentskills.io guidanceLinkSoft repository requirements:
skills/<skill-name>/SKILL.md includes metadata.author and metadata.versionmetadata.author if it is not already knownREADME.md is presentmetadata.version is updated for meaningful behavior changesevals/evals.json is added or updated when behavior warrants evaluationLICENSE and any required NOTICEallowed-tools only if it is genuinely needed; it is optional and experimental, so do not add it by default.references/descriptions-and-evals.md: description writing, trigger evals, output-quality evalsreferences/scripts-and-structure.md: progressive disclosure, scripts, directory structuretesting
Use this skill when the user asks whether LinkSoft Skills are working, including minor wording variations or typos. Reply only with the fixed verification message.
development
Use this skill when creating a new OpenSpec spec whose name follows `wi-<azure-devops-work-item-id>-<change-name>` so the spec can be enriched from Azure DevOps work item REST API data, including parent hierarchy and comments, instead of manual re-entry.
tools
Opens a file or folder in a supported IDE using the nearest workspace or project context when available. Use when the user asks to open code in Rider, WebStorm, VS Code, Cursor, Windsurf, or a generic IDE from the CLI.
data-ai
Use this skill when adding or extending functionality in a DDD project so the implementation fits the intended layers: controllers, application services, mediator-style commands, queries, or events, handlers, domain services, and repositories.