Skip to content
Back to skills

Instruction Creator

ASecurity

Create and manage high-quality custom instruction files for GitHub Copilot. Use when you need to define new project-specific guidelines, workflows, or coding standards in the instructions/ directory.

  • 57 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
testingpythongobashtestinggitsecurityperformance

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill instruction-creator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Instruction Creator?

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

Security grade badge for Instruction Creator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-instruction-creator-awesome-omni-skill/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-instruction-creator-awesome-omni-skill)

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: instruction-creator
description: 'Create and manage high-quality custom instruction files for GitHub Copilot. Use when you need to define new project-specific guidelines, workflows, or coding standards in the instructions/ directory.'
---

# Instruction Creator

This skill guides the creation of effective custom instruction files that help GitHub Copilot follow project conventions and domain-specific logic.

## Environment Detection

Before executing any skill operations, determine the active environment and set the `skills_source` path:

### Environment Identification

```python
# Detect environment
if os.name == 'nt':  # Windows
    # Could be native Windows or VS Code running in Windows
    skills_source = os.path.expanduser(r'~\.copilot\skills')
elif 'WSL_DISTRO_NAME' in os.environ or os.path.exists('/mnt/c'):
    # Running inside WSL
    skills_source = os.path.expanduser('~/.copilot/skills')
else:
    # Generic Unix/Linux
    skills_source = os.path.expanduser('~/.copilot/skills')
```

### Using skills_source Throughout

Once detected, use `skills_source` as the base path when referencing skill files:

- **Skill Path**: `{skills_source}/<skill-name>/SKILL.md`
- **Script Path**: `{skills_source}/<skill-name>/scripts/<script>.py`
- **Reference Path**: `{skills_source}/<skill-name>/references/<file>.md`

## Workflow

1. **Detect Environment**: Determine if running on Windows or WSL and set `skills_source`.
   ```python
   import os
   skills_source = (os.path.expanduser(r'~\.copilot\skills')
                   if os.name == 'nt' and 'WSL_DISTRO_NAME' not in os.environ
                   else os.path.expanduser('~/.copilot/skills'))
   ```

2. **Define Scope**: Identify the purpose and the files the instructions should apply to (e.g., `**/*.ts`).

3. **Initialize**: Use the initialization script to create the boilerplate.
   ```bash
   # Auto-detect environment
   python3 init_instruction.py "my-new-instruction" \
       --description "Description here" \
       --applyTo "**/*.ext"

   # Or specify skills path explicitly
   python3 init_instruction.py "my-new-instruction" \
       --skills-path "~/.copilot/skills" \
       -o ./instructions
   ```

4. **Draft Content**: Follow the referenced guidelines to fill in the sections.

5. **Use Templates**: Refer to standard templates for structures in your environment.

6. **Semantic Linking**: Link to relevant Skills using runtime-resolved paths:
   ```markdown
   To perform [Task], execute the [Skill Name](SKILL.md) from `{skills_source}/<skill-name>/`.
   ```

7. **Validate**: Test the instructions with Copilot to ensure they are clear and actionable.

## Core Principles

- **Policy Maker**: Instructions define the "What" and "How" (decision logic and standards).
- **The 4 Sections**: Effective instructions include: Overview, Structure, Guidelines, and Resources.
- **Concise & focused**: Avoid fluff; use imperative language. Limit files to ~500 lines.
- **Actionable**: Provide concrete "Good" and "Bad" code examples and clear steps.
- **Linked**: Connect instructions to the skills that execute them and internal automation scripts.

## Required Frontmatter

Every instruction file must include YAML frontmatter with the following fields:

```yaml
---
description: 'Brief description of the instruction purpose and scope'
applyTo: 'glob pattern for target files (e.g., **/*.ts, **/*.py)'
---
```

### Frontmatter Guidelines

- **description**: Single-quoted string, 1-500 characters, clearly stating the purpose.
- **applyTo**: Glob pattern(s) specifying which files these instructions apply to.
  - Single pattern: `'**/*.ts'`
  - Multiple patterns: `'**/*.ts, **/*.tsx, **/*.js'`
  - Specific files: `'src/**/*.py'`
  - All files: `'**'`

## File Structure

A well-structured instruction file should include these sections as applicable:

1. **Title and Overview**: Clear `#` title and short purpose statement.
2. **Workflow**: Step-by-step procedures (the “How”).
3. **Semantic Links**: Links to Skills that execute tasks (the “Mechanism”).
4. **Rules & Constraints**: Decision logic and boundaries.
5. **Best Practices**: Recommended patterns and approaches.
6. **Code Standards**: Naming, formatting, style.
7. **Common Patterns**: Frequent implementations.
8. **Security**: Security considerations (if applicable).
9. **Performance**: Optimization guidance (if applicable).
10. **Testing**: Testing standards and verification steps (if applicable).

## Writing Style

- Use clear, concise language.
- Write in imperative mood (“Use”, “Implement”, “Avoid”).
- Be specific and actionable.
- Avoid ambiguous terms like “should”, “might”, “possibly”.
- Use bullets and lists for readability.

## Examples and Snippets

Provide labeled examples:

````markdown
### Good Example
```language
// Recommended approach
code example here
```

### Bad Example
```language
// Avoid this pattern
code example here
```
````

## Patterns to Avoid

- Overly verbose explanations.
- Outdated guidance.
- Abstract rules without concrete examples.
- Contradictory advice.
- Copy-paste from docs without added context.

## Runtime Variables

When executing this skill, use these variables to reference paths dynamically:

| Variable        | Description                         | Example (Windows)                   | Example (WSL)                       |
| --------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `skills_source` | Base path to personal skills folder | `~\.copilot\skills`                 | `~/.copilot/skills`                 |
| `skill_path`    | Path to specific skill              | `{skills_source}\diataxis\SKILL.md` | `{skills_source}/diataxis/SKILL.md` |

### Usage in References

```markdown
## Workflow
1. Analyze requirements.
2. Execute Diataxis Skill from `{skills_source}/diataxis/SKILL.md`.
3. Validate output.
```

### Usage in Scripts

```python
import os
skills_source = os.path.expanduser(r'~\.copilot\skills') if os.name == 'nt' else os.path.expanduser('~/.copilot/skills')
skill_script = os.path.join(skills_source, 'instruction-creator', 'scripts', 'init_instruction.py')
```

## Validation Checklist

1. Test with Copilot on real prompts.
2. Verify code examples compile or run.
3. Confirm `applyTo` matches intended files.
4. Verify `skills_source` detection works in target environment.

## Maintenance

- Review instructions when dependencies or frameworks change.
- Refresh examples to match current best practices.
- Remove deprecated patterns.
- Keep glob patterns aligned with project structure.
- Update environment detection logic if new platforms are supported.

## Resources

- **Guidelines**: Refer to `references/guidelines.md` in the instruction-creator skill folder.
- **Templates**: Refer to `references/templates.md` in the instruction-creator skill folder.
- **Scripts**: Use `scripts/init_instruction.py` from the instruction-creator skill folder.

**Note**: All references are relative to `{skills_source}/instruction-creator/`.

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.