agentleFS
KemingHeKemingHe/common-devx/.agents/skills/skill-creation/SKILL.md

skill-creation

Skill10 starsChanged 6 months agoMITView on GitHub

Create or refactor Agent Skills following the agentskills.io specification. Use when creating new skills, converting prompts to skills, or validating skill structure. Triggers: "create skill", "new skill", "SKILL.md", "agent skill", "convert prompt".

14 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

25 rules. 0 are common, 10 are distinctive, and 15 are very specific to this project.

  • 0

    Common

    Most of the 12 edited versions we read keep these.

  • 10

    Distinctive

    This author's own choices. Worth a look.

  • 15

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Create Agent Skills following the agentskills.io specification for platform-agnostic AI capabilities.

    line 15
  2. Very specific:

    Check ./assets/skill-template.md for the SKILL.md template

    line 37
  3. Very specific:

    Check ./assets/general-doc-constraints.md for the General Doc Constraints block (used conditionally for documentation-output skills)

    line 38
  4. Very specific:

    Check ./assets/security-best-practices.md for the Security Best Practices block (used conditionally for skills that use external tools)

    line 39
  5. Very specific:

    If not found, search /skill-template.md, /general-doc-constraints.md, and /security-best-practices.md in repository

    line 40
  6. Distinctive:

    If still not found, use the specification below to generate from scratch

    line 41
  7. Distinctive:

    Before creating a skill, understand:

    line 47
  8. Distinctive:

    No leading/trailing hyphens

    line 89
  9. Very specific:

    No consecutive hyphens (--)

    line 90
  10. Distinctive:

    Read the skill template from Asset Resolution.

    line 95
  11. Very specific:

    If the skill generates document or text output (READMEs, issues, PRs/MRs, commit messages, meeting docs, etc.), insert the General Doc …

    line 107
  12. Distinctive:

    If the skill does not produce document output (e.g., coaching, interactive modes), omit the General Doc Constraints block entirely

    line 108
  13. Very specific:

    Keep under 500 lines; move supplementary detail to references/

    line 111
  14. Very specific:

    Place templates in assets/ subdirectory:

    line 115
  15. Very specific:

    Use descriptive names: {purpose}-template.md

    line 117
  16. Distinctive:

    Create human-readable documentation with: description, quick start, file listing, and related links.

    line 122
  17. Distinctive:

    When creating a skill, produce three files:

    line 126
  18. Very specific:

    Inline formatting: Use _underscore_ for italics, not *single-star*.

    line 139
  19. Distinctive:

    Prose: Do not insert hard newlines to simulate visual wrapping.

    line 141
  20. Distinctive:

    Consistency: Use the same term for the same concept throughout.

    line 143
  21. Very specific:

    Frontmatter: Must be valid YAML with name and description

    line 150
  22. Very specific:

    Naming convention: Prefer action-oriented names describing what the skill does (e.g., readme-creation, commit-message-creation, …

    line 152
  23. Very specific:

    Line limit: Keep SKILL.md under 500 lines (move details to references/)

    line 153
  24. Very specific:

    Progressive disclosure: Only essential instructions in SKILL.md.

    line 155
  25. Very specific:

    Asset resolution: Always instruct to check local ./assets/ first, then search

    line 156

“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill Creation

Create Agent Skills following the agentskills.io specification for platform-agnostic AI capabilities.

When to Use This Skill

  • Creating a new skill from scratch
  • Converting an existing prompt to skill format
  • Refactoring or validating existing skills
  • Understanding skill structure and best practices

Security Best Practices

This skill creates other skills that may interact with external systems. The Security Best Practices (SBP) block in ./assets/security-best-practices.md should be included in any skill that:

  • Uses MCP tools to fetch external content
  • Executes CLI/shell commands
  • Orchestrates subagents or A2A communications
  • Reads from external URLs or user-generated content

Skill authors are responsible for including SBP in relevant skills. This meta-responsibility is the security mechanism for skill-creation itself.

Asset Resolution

  1. Check ./assets/skill-template.md for the SKILL.md template
  2. Check ./assets/general-doc-constraints.md for the General Doc Constraints block (used conditionally for documentation-output skills)
  3. Check ./assets/security-best-practices.md for the Security Best Practices block (used conditionally for skills that use external tools)
  4. If not found, search **/skill-template.md, **/general-doc-constraints.md, and **/security-best-practices.md in repository
  5. If still not found, use the specification below to generate from scratch

Process

Step 1: Gather Context

Before creating a skill, understand:

  • Purpose: What task does this skill accomplish?
  • Triggers: What keywords or scenarios should activate this skill?
  • Inputs: What information does the agent need from the user?
  • Outputs: What should the agent produce?
  • Assets: Are there templates or reference materials needed?

When refactoring from existing prompt/content:

Analyze the original for critical elements that must be preserved:

ElementLook ForWhy It Matters
Safety mechanismsRead-only operations, forbidden actions, pipe to catPrevents destructive actions
Setup instructionscd to directory, environment prepEnsures correct execution context
Role/persona"You are a..." statementsSets expertise level and tone
Tool guidanceMCP tools, remote APIs, search patternsEnables deeper analysis
User consultationQuestions to ask userEnsures alignment with intent
Edge casesError handling, fallbacksImproves robustness

Active user feedback: Present your analysis of what to keep, improve, or remove. Ask:

  • Are there critical behaviors to preserve?
  • What should be improved or modernized?
  • Any new requirements to add?

Step 2: Create Directory Structure

skill-name/
├── SKILL.md              # Required: instructions + frontmatter
├── README.md             # Required: human documentation
├── assets/               # Optional: templates, static resources
├── references/           # Optional: detailed docs, acceptance criteria
└── scripts/              # Optional: executable code

Naming rules (from agentskills.io):

  • Lowercase letters, numbers, and hyphens only
  • 1-64 characters
  • No leading/trailing hyphens
  • No consecutive hyphens (--)
  • Directory name must match name field in frontmatter

Step 3: Write SKILL.md

Read the skill template from Asset Resolution. Fill in all bracket placeholders with project-specific values.

Frontmatter guidelines:

  • description: 1-1024 chars. First sentence: what the skill does. Second sentence: when to use it, including trigger keywords.
  • license: Project license name or file reference
  • See Specification Reference below for all available fields

Body guidelines:

  • Adapt template sections to the skill's domain - remove unused optional sections, add domain-specific ones
  • For skills with CLI operations, include a ## [System] Operations (Read-Only) section (e.g., Git Operations (Read-Only))
  • If the skill generates document or text output (READMEs, issues, PRs/MRs, commit messages, meeting docs, etc.), insert the General Doc Constraints block from ./assets/general-doc-constraints.md at the placeholder position in the template (between Output Format and Skill Constraints)
  • If the skill does not produce document output (e.g., coaching, interactive modes), omit the General Doc Constraints block entirely
  • If the skill uses MCP tools to fetch external content, executes CLI/shell commands, orchestrates subagents or A2A communications, or reads from external URLs or user-generated content, insert the Security Best Practices block from ./assets/security-best-practices.md in a dedicated ## Security Best Practices section after "When to Use This Skill"
  • Both GDC and SBP can be included if both criteria apply
  • Keep under 500 lines; move supplementary detail to references/

Step 4: Create Assets (if needed)

Place templates in assets/ subdirectory:

  • Use descriptive names: {purpose}-template.md
  • Templates should be self-documenting with placeholders

Step 5: Create README.md

Create human-readable documentation with: description, quick start, file listing, and related links. Follow the pattern of existing skill READMEs in the repository.

Output Format

When creating a skill, produce three files:

  1. SKILL.md - Complete with frontmatter and body
  2. README.md - Human documentation
  3. assets/*.md - Template files (if applicable)

Present each file in a markdown code block with the filename as header.

General Doc Constraints

Apply to all generated output. If a discovered template deviates from any rule (e.g., uses emojis semantically, uses a different bullet convention), note the deviation explicitly and confirm with the user before treating it as a permitted exception.

  • Characters: QWERTY keyboard typeable only - no smart quotes, emojis, or special Unicode anywhere. In prose, do not use em-dashes or em-dash substitutes (--, --); use - (space-dash-space) for clause separation instead. Exceptions: ↑ for ToC navigation; Unicode box drawing characters for tree-style directory rendering.
  • Inline formatting: Use _underscore_ for italics, not *single-star*. Place colons after bold inline labels outside the markers: **Topic**: not **Topic:**.
  • Bullets: Use - for all unordered lists; one bullet per complete thought; never wrap a bullet's content mid-sentence onto a continuation line - split into separate bullets if too long or multi-thought. Nested sub-bullets for component grouping are permitted. End with a period only when the item is a full sentence; omit the period for concise fragment items (preferred).
  • Prose: Do not insert hard newlines to simulate visual wrapping. Keep each prose paragraph on one continuous physical line and let editors or viewers wrap it visually. Exception: commit message bodies use one sentence per line for git log readability.
  • Template hygiene: Delete (optional) and any parenthetical conditional label (e.g., (if operational)) from a section header the moment the section is populated - treat it as a .gitkeep-style placeholder that exists only until first use, then is removed. Omit the entire section (header and body) when unused. Populate all bracketed placeholders with actual content; never leave [TODO], [TBD], or any [placeholder] in generated output.
  • Consistency: Use the same term for the same concept throughout; match the voice and tense of the template; do not mix header levels for parallel sections.
  • KISS and DRY: Each section and bullet conveys unique information - no redundancy or overlap.

General Doc Constraints v1.2.0 - KemingHe/common-devx

Skill Constraints

  • Frontmatter: Must be valid YAML with name and description
  • Name matching: Directory name must equal name field
  • Naming convention: Prefer action-oriented names describing what the skill does (e.g., readme-creation, commit-message-creation, contacts-management) - this is a soft recommendation; exceptions like senior-mentor (persona/coaching mode) are acceptable when clarity requires it
  • Line limit: Keep SKILL.md under 500 lines (move details to references/)
  • Token budget: Body should be <5000 tokens for efficient loading
  • Progressive disclosure: Only essential instructions in SKILL.md; details in assets/references
  • Asset resolution: Always instruct to check local ./assets/ first, then search

Specification Reference

Full specification: agentskills.io/specification

Frontmatter Fields

FieldRequiredConstraints
nameYes1-64 chars, lowercase, hyphens, must match directory
descriptionYes1-1024 chars, what + when + triggers
licenseNoLicense name or file reference
compatibilityNoEnvironment requirements (1-500 chars)
metadataNoKey-value pairs (author, version, etc.)
allowed-toolsNoSpace-delimited tool list (experimental)

Optional Directories

DirectoryPurposeWhen to Use
assets/Templates, images, data files, static resourcesSkill produces output based on templates
references/Detailed docs, acceptance criteria, domain-specific filesSKILL.md exceeds 500 lines or needs test criteria
scripts/Executable code (Python, Bash, JavaScript)Skill needs to run code for reliable execution

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.