As a test automation engineer, organizing your AI coding assistant’s knowledge makes a real difference. Here’s what I learned about GitHub Copilot’s Instructions and Skills.
Reference Repository: cypress-natural-language-tests
Learn more: GitHub Copilot Instructions | GitHub Copilot Skills
What Are They?
Instructions (.github/copilot-instructions.md)
Loaded automatically in every session
Keep it under 2 pages
Your project’s coding rules
Skills (.github/skills/*/SKILL.md)
Activated only when you need them
Can be extensive and detailed
Domain-specific expertise
My QA Automation Setup
Instructions File
My instructions file contains universal testing rules I want applied everywhere:
- Use Page Object pattern for UI tests
- Name tests: test_feature_scenario_expectedResult
- Add explicit waits before assertions
- One concept per test method
Simple, always present, always guiding the code suggestions.
Skills Directory
I created separate skills for different testing domains:
Selenium Skills — Browser automation patterns, element locators, synchronization strategies
API Testing Skills — REST client setup, response validation, schema checking approaches
Test Data Skills — Factory patterns, builder implementations, realistic data generation
Why This Matters
When writing a simple login test, I get suggestions based on my instructions — clean, consistent code.
When tackling visual regression testing, I activate my visual-testing skill, and suddenly Copilot knows about screenshot comparison libraries, baseline management, and diff tolerance settings.
The context stays relevant without information overload.
Quick Implementation
your-test-project/
├── .github/
│ ├── copilot-instructions.md
│ └── skills/
│ ├── selenium-automation/SKILL.md
│ └── api-testing/SKILL.md
That’s it. Instructions guide everything. Skills provide depth when needed.
Try organizing your testing knowledge this way — your AI pair programmer becomes significantly more helpful.
Building AI-powered test frameworks? Follow me for more QA automation insights.

Top comments (0)