Claude Skill

skill-creator

How to create new skills for this HQ — format, frontmatter, content structure. Use when you need to add a new skill to this repository, or when reviewing whether an existing skill is well-formed.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download sabahattink-antigravity-fullstack-hq-skills_skill-creator-1acbfa7.zip · 2 KB
Part of sabahattink/antigravity-fullstack-hq — 27 skills

Install

skills CLI npx skills add https://github.com/sabahattink/antigravity-fullstack-hq/tree/main/skills/skill-creator
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install sabahattink-antigravity-fullstack-hq@llmmart
Git git clone https://github.com/sabahattink/antigravity-fullstack-hq.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole sabahattink/antigravity-fullstack-hq collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Skill Creator

What is a Skill?

A skill is a reference document that gives an AI agent (or a developer) deep, actionable knowledge for a specific domain. It is not a README, a tutorial, or a one-liner tip. It contains real patterns, real code, and clear guidance on what NOT to do.

File Location

skills/
└── <skill-name>/
    └── SKILL.md

Skill names are lowercase, hyphenated: api-design-patterns, auth-patterns, docker-patterns.

Required Structure

---
name: skill-name
description: One-line description. Use when [specific trigger condition].
---

# Title

## [Section 1]
[Content with real code examples]

## [Section 2]
...

## Forbidden Patterns
[What NOT to do — these are as important as the positive guidance]

Frontmatter Rules

---
name: skill-name          # must match the directory name
description: >            # one line: what it does + when to trigger
  Generates Excel files with ExcelJS. Use when creating .xlsx exports
  from database data in a NestJS app.
---

The description field is what an AI uses to decide whether to load this skill. Make the trigger condition specific:

# Good — specific trigger
description: JWT access/refresh tokens, Passport.js strategies. Use when implementing auth in a NestJS + Next.js app.

# Bad — too vague
description: Authentication patterns. Use when building auth.

Content Rules

1. Real code, not pseudocode

Every code block must be runnable with the imports shown. Never use ... to hide required setup.

// Good — complete, runnable snippet
import { Injectable } from '@nestjs/common'
import { InjectRepository } from '@nestjs/typeorm'
import { Repository } from 'typeorm'
import { User } from './user.entity'

@Injectable()
export class UsersRepository {
  constructor(
    @InjectRepository(User)
    private readonly repo: Repository<User>
  ) {}

  findById(id: number) {
    return this.repo.findOne({ where: { id } })
  }
}

// Bad — too abstract
class MyRepo {
  // inject the repo here
  findById(id) { ... }
}

2. Forbidden Patterns section is mandatory

The "Forbidden Patterns" section must be the last section. List 5-10 concrete things that cause real bugs, security issues, or maintenance problems.

## Forbidden Patterns

- Never store access tokens in localStorage — XSS can steal them
- Never use the same JWT secret for access and refresh tokens
- Never skip `@IsEmail()` validation on email fields

3. Aim for 200-400 lines

  • Under 200 lines: too shallow, not useful as a reference
  • Over 400 lines: likely covering too many topics, should be split

4. One topic per skill

Don't mix unrelated concerns. If you're writing a testing skill, don't include deployment. If the topic is naturally broad, split it:

# Too broad:
skills/backend/SKILL.md  ← covers NestJS + TypeORM + auth + caching

# Better:
skills/backend-dev-guidelines/SKILL.md   ← NestJS layering
skills/auth-patterns/SKILL.md            ← JWT + Passport
skills/docker-patterns/SKILL.md          ← Containerization

Section Patterns to Follow

Command blocks for setup

npm install exceljs
npm install -D @types/node

Configuration files

Show actual config files, not fragments.

Patterns with comparison (good vs bad)

// Bad: explanation of why it's bad
const bad = doWrongThing()

// Good: explanation of why it's better
const good = doRightThing()

Checklists for pre-flight checks

Production Deployment Checklist:
□ NODE_ENV=production set
□ Secrets validated at startup
□ Health checks responding
□ Rate limiting enabled

Quality Checklist

Before merging a new skill:

□ Frontmatter has name + description
□ name matches directory name
□ Description includes "Use when [specific condition]"
□ Code examples are complete (have imports, no ellipsis hiding setup)
□ At least 3 major sections with real content
□ "Forbidden Patterns" section exists and has 5+ entries
□ 200-400 lines total
□ No tutorial prose — reference-style only
□ TypeScript/language specifics match the project stack

Example: Creating a New Skill

# 1. Create the directory and file
mkdir skills/redis-patterns
touch skills/redis-patterns/SKILL.md

# 2. Write the skill following the template above

# 3. Commit
git add skills/redis-patterns/SKILL.md
git commit -m "feat: add redis-patterns skill"

Forbidden Patterns

  • Never write a skill that's just a list of links — content must be here, not linked
  • Never use placeholders like [your code here] — write the actual code
  • Never mix two unrelated domains in one skill — split instead
  • Never skip the "Forbidden Patterns" section — negative examples are the most valuable
  • Never write in tutorial style ("first you need to...") — use reference style (show the code)
  • Never omit the trigger condition from the description — it's what activates the skill
Files (antigravity-fullstack-hq)
  • SKILL.md 5.1 KB
    ---
    name: skill-creator
    description: How to create new skills for this HQ — format, frontmatter, content structure. Use when you need to add a new skill to this repository, or when reviewing whether an existing skill is well-formed.
    ---
    
    # Skill Creator
    
    ## What is a Skill?
    
    A skill is a reference document that gives an AI agent (or a developer) deep, actionable knowledge for a specific domain. It is **not** a README, a tutorial, or a one-liner tip. It contains real patterns, real code, and clear guidance on what NOT to do.
    
    ## File Location
    
    ```
    skills/
    └── <skill-name>/
        └── SKILL.md
    ```
    
    Skill names are lowercase, hyphenated: `api-design-patterns`, `auth-patterns`, `docker-patterns`.
    
    ## Required Structure
    
    ```markdown
    ---
    name: skill-name
    description: One-line description. Use when [specific trigger condition].
    ---
    
    # Title
    
    ## [Section 1]
    [Content with real code examples]
    
    ## [Section 2]
    ...
    
    ## Forbidden Patterns
    [What NOT to do — these are as important as the positive guidance]
    ```
    
    ## Frontmatter Rules
    
    ```yaml
    ---
    name: skill-name          # must match the directory name
    description: >            # one line: what it does + when to trigger
      Generates Excel files with ExcelJS. Use when creating .xlsx exports
      from database data in a NestJS app.
    ---
    ```
    
    The `description` field is what an AI uses to decide whether to load this skill. Make the trigger condition specific:
    
    ```
    # Good — specific trigger
    description: JWT access/refresh tokens, Passport.js strategies. Use when implementing auth in a NestJS + Next.js app.
    
    # Bad — too vague
    description: Authentication patterns. Use when building auth.
    ```
    
    ## Content Rules
    
    ### 1. Real code, not pseudocode
    Every code block must be runnable with the imports shown. Never use `...` to hide required setup.
    
    ```typescript
    // Good — complete, runnable snippet
    import { Injectable } from '@nestjs/common'
    import { InjectRepository } from '@nestjs/typeorm'
    import { Repository } from 'typeorm'
    import { User } from './user.entity'
    
    @Injectable()
    export class UsersRepository {
      constructor(
        @InjectRepository(User)
        private readonly repo: Repository<User>
      ) {}
    
      findById(id: number) {
        return this.repo.findOne({ where: { id } })
      }
    }
    
    // Bad — too abstract
    class MyRepo {
      // inject the repo here
      findById(id) { ... }
    }
    ```
    
    ### 2. Forbidden Patterns section is mandatory
    The "Forbidden Patterns" section must be the last section. List 5-10 concrete things that cause real bugs, security issues, or maintenance problems.
    
    ```markdown
    ## Forbidden Patterns
    
    - Never store access tokens in localStorage — XSS can steal them
    - Never use the same JWT secret for access and refresh tokens
    - Never skip `@IsEmail()` validation on email fields
    ```
    
    ### 3. Aim for 200-400 lines
    - Under 200 lines: too shallow, not useful as a reference
    - Over 400 lines: likely covering too many topics, should be split
    
    ### 4. One topic per skill
    Don't mix unrelated concerns. If you're writing a `testing` skill, don't include deployment. If the topic is naturally broad, split it:
    
    ```
    # Too broad:
    skills/backend/SKILL.md  ← covers NestJS + TypeORM + auth + caching
    
    # Better:
    skills/backend-dev-guidelines/SKILL.md   ← NestJS layering
    skills/auth-patterns/SKILL.md            ← JWT + Passport
    skills/docker-patterns/SKILL.md          ← Containerization
    ```
    
    ## Section Patterns to Follow
    
    ### Command blocks for setup
    ```bash
    npm install exceljs
    npm install -D @types/node
    ```
    
    ### Configuration files
    Show actual config files, not fragments.
    
    ### Patterns with comparison (good vs bad)
    ```typescript
    // Bad: explanation of why it's bad
    const bad = doWrongThing()
    
    // Good: explanation of why it's better
    const good = doRightThing()
    ```
    
    ### Checklists for pre-flight checks
    ```
    Production Deployment Checklist:
    □ NODE_ENV=production set
    □ Secrets validated at startup
    □ Health checks responding
    □ Rate limiting enabled
    ```
    
    ## Quality Checklist
    
    Before merging a new skill:
    
    ```
    □ Frontmatter has name + description
    □ name matches directory name
    □ Description includes "Use when [specific condition]"
    □ Code examples are complete (have imports, no ellipsis hiding setup)
    □ At least 3 major sections with real content
    □ "Forbidden Patterns" section exists and has 5+ entries
    □ 200-400 lines total
    □ No tutorial prose — reference-style only
    □ TypeScript/language specifics match the project stack
    ```
    
    ## Example: Creating a New Skill
    
    ```bash
    # 1. Create the directory and file
    mkdir skills/redis-patterns
    touch skills/redis-patterns/SKILL.md
    
    # 2. Write the skill following the template above
    
    # 3. Commit
    git add skills/redis-patterns/SKILL.md
    git commit -m "feat: add redis-patterns skill"
    ```
    
    ## Forbidden Patterns
    
    - Never write a skill that's just a list of links — content must be here, not linked
    - Never use placeholders like `[your code here]` — write the actual code
    - Never mix two unrelated domains in one skill — split instead
    - Never skip the "Forbidden Patterns" section — negative examples are the most valuable
    - Never write in tutorial style ("first you need to...") — use reference style (show the code)
    - Never omit the trigger condition from the description — it's what activates the skill
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related