Multi-Role Engineering Assistant — Skills RepositoryA role-based AI assistant for software delivery teams. Describe your task in plain language and the correct engineering role — Developer, QA Engineer, DevOps, Solution Architect, Business Analyst, Security Engineer, or Data Engineer — is automatically applied with its full set of procedures, templates, and quality gates. Install as a VS Code Extension — 3 stepsStep 1 — Clone and build
Step 2 — Set your Anthropic API key
Paste your Step 3 — Open the chat
Type any engineering task. The correct role (Developer, QA, DevOps, Architect, BA, Security, Data Engineer) is detected automatically and a structured response is streamed back.
Available Roles
Option 1 — VS Code Extension (recommended)The cleanest way to share and use these skills. Install the What you get after installing the extension
Build the extension (.vsix)
Install the .vsix in VS CodeMethod A — Drag and drop:
Drag Method B — Command palette:
Method C — Command line:
First-time setupAfter installing the extension:
Your API key is stored in VS Code's SecretStorage — never written to disk. Publish to VS Code Marketplace (optional — share with anyone)
After publishing, anyone installs it with:
Option 2 — One-Command Install (no extension needed)Add these skills to any project without cloning this repository. Option A — npx (any platform, no install required)
Option B — curl / PowerShell (once this repo is on GitHub)
Option C — Clone and install locally
What gets installed:
Repository Structure
PART A — Claude Code Setup & UsagePrerequisites
Step 1 — Get the RepositoryOption A — Clone (recommended for teams)
Option B — Use globally (for all your projects) Copy the commands folder to your global Claude config so the slash commands work in any project:
After copying globally, the slash commands work in every project you open — not just this repo. Step 2 — Open Claude CodeIn VS Code:
In the Terminal:
In the Claude Code Desktop App:
Step 3 — Use the Assistant (Claude Code)Option A — Auto-route with
|
| Tip | Detail |
|---|---|
| Be specific | "Write test cases for the login endpoint — valid credentials, wrong password, locked account" gets better output than "test login" |
| Chain roles | Ask for BA output first, then QA — each builds on the previous |
| Reference tickets | Include Jira IDs (e.g. "for PROJ-389") — the assistant will include them in PR templates and commit messages |
| Use in any project | Copy commands to ~/.claude/commands/ to use slash commands in any repo |
PART B — GitHub Copilot Setup & Usage
Prerequisites
- GitHub account with Copilot access (Individual, Team, or Enterprise licence)
- VS Code with the GitHub Copilot and GitHub Copilot Chat extensions installed
- Repository cloned or accessible on GitHub
Step 1 — Get the Repository
git clone <repository-url>
cd skill_chatbot
Open the folder in VS Code.
Step 2 — Verify Copilot is Active
- Open VS Code.
- Check the bottom status bar — you should see the Copilot icon (looks like a GitHub logo). If it shows "Copilot" or a checkmark, you are signed in and active.
- If not signed in:
Ctrl+Shift+P→ "GitHub Copilot: Sign In".
The
.github/copilot-instructions.mdfile in this repository is automatically read by Copilot the moment you open the repo. No manual step is needed — role detection and structured output are active immediately.
Step 3 — Open Copilot Chat
| Platform | How to open |
|---|---|
| VS Code | Ctrl+Alt+I (Windows/Linux) or Cmd+Alt+I (Mac) |
| VS Code | Click the chat bubble icon in the activity bar |
| VS Code | Ctrl+Shift+P → "GitHub Copilot Chat: Focus on Chat View" |
| GitHub.com | Open the repository → click "Copilot" in the top navigation |
Step 4 — Use the Assistant (GitHub Copilot)
Option A — Just type your task (auto-route)
The copilot-instructions.md is already active. Just describe your task:
Write a login API in Python with JWT authentication
Write test cases for the password reset flow
Build a GitHub Actions CI/CD pipeline for a Node.js service
Write an ADR for choosing between PostgreSQL and MongoDB
Write a user story for the customer checkout feature
Review the payment endpoint for OWASP vulnerabilities
Design an ETL pipeline for order data from the CRM
Copilot detects the role and applies it automatically.
Option B — Attach a specific skill file for precision
Type # in the chat input to open the file picker, then select the skill file:
#file:.github/skills/developer/SKILL.md
Implement account lockout after 5 failed login attempts
#file:.github/skills/quality-analyst/SKILL.md
Draft a test plan for the payment checkout flow
#file:.github/skills/devops/SKILL.md
Write a GitHub Actions CI/CD pipeline for a Node.js microservice
#file:.github/skills/solution-architect/SKILL.md
Write an ADR for choosing between PostgreSQL and MongoDB
#file:.github/skills/business-analyst/SKILL.md
Write a user story for the customer profile update feature
#file:.github/skills/security-engineer/SKILL.md
Run a STRIDE threat model on the authentication service
#file:.github/skills/data-engineer/SKILL.md
Design an incremental ELT pipeline for the events table
How to attach a file: In the Copilot Chat input box, type
#→ a file picker dropdown appears → start typing the filename (e.g.SKILL) → select the file → press Enter. The file is attached as context for your prompt.
Option C — Use @workspace for repo-grounded output
Combine @workspace with a skill file to ground the role output in your actual codebase:
@workspace #file:.github/skills/developer/SKILL.md
Find the orders service and add input validation to the create order endpoint
@workspace #file:.github/skills/security-engineer/SKILL.md
Review the authentication module for OWASP vulnerabilities
@workspace #file:.github/skills/data-engineer/SKILL.md
Find the existing ingestion jobs and add data quality checks to the orders pipeline
Option D — Cross-role output (attach multiple skill files)
Attach two or more skill files in one prompt for tasks that span roles:
#file:.github/skills/business-analyst/SKILL.md
#file:.github/skills/quality-analyst/SKILL.md
Write the user story AND acceptance criteria AND matching test cases for the cart checkout feature
#file:.github/skills/solution-architect/SKILL.md
#file:.github/skills/security-engineer/SKILL.md
Design the authentication architecture AND produce a threat model for it
Option E — Use on GitHub.com
- Navigate to this repository on GitHub.com.
- Click Copilot in the top navigation bar.
- Type
#to attach a skill file and then your request:
#.github/skills/devops/SKILL.md
Write a CI/CD pipeline definition for a containerised Node.js service
Step 5 — Copilot Agents Reference
| Agent | What it does | When to use with a skill |
|---|---|---|
@workspace |
Searches your entire open repository | Grounding implementation or test tasks in real code |
@github |
Queries GitHub issues, PRs, code | Referencing open defects, tickets, or existing stories |
@vscode |
Answers VS Code settings questions | DevOps or tooling setup tasks |
@terminal |
Generates or explains terminal commands | Infrastructure and pipeline tasks |
GitHub Copilot Tips
| Tip | Detail |
|---|---|
| Auto-load is always on | copilot-instructions.md loads automatically — you do not need to attach anything for basic use |
| Attach for precision | Attaching the specific SKILL.md gives Copilot the full templates and quality gates for that role |
Use @workspace for real code |
Without @workspace, Copilot answers generically; with it, answers are grounded in your actual files |
| Multi-role in one prompt | Attach two skill files and ask for both artefacts — Copilot produces a labelled section per role |
| Re-attach on new chat | #file attachments apply to the current chat session; re-attach in a new chat window |
PART C — Response Format (Both Platforms)
Every response — whether from Claude Code or GitHub Copilot — follows this structure:
### Role
[Developer / QA Engineer / DevOps Engineer / Solution Architect / Business Analyst / Security Engineer / Data Engineer]
### Task Understanding
[What the assistant understood you to be asking for]
### Execution
[The phased workflow steps followed to produce the output]
### Output
[The artefact: code, test cases, ADR, user story, pipeline YAML, threat model, data pipeline spec, etc.]
### Assumptions (if any)
[Any assumptions or constraints applied; "None" if not applicable]
PART D — Example Prompts by Role
Developer
Write a REST endpoint in Python (FastAPI) to create a new customer order with input validation
Implement retry logic with exponential backoff for the payment service HTTP client
Refactor the UserService class to follow SOLID principles
Write unit tests for the account lockout logic
QA Engineer
Write test cases for the login feature — valid login, wrong password, locked account, expired session
Draft a defect report: the checkout total is incorrect when a discount code is applied
Write a test plan for the Sprint 5 payment feature release
Define exit criteria for the regression cycle before go-live
DevOps Engineer
Write a GitHub Actions CI/CD pipeline for a Python FastAPI service using Docker
Write a Terraform module to provision an Azure App Service with a PostgreSQL database
Draft a deployment runbook for the v3.0.0 production release
Write a post-incident review for the 2026-04-20 payment service outage
Solution Architect
Write an ADR for choosing between PostgreSQL and MongoDB for a multi-tenant SaaS product
Produce a C4 context diagram for the order management system
Define NFRs for the payment service — performance, availability, and security
Design the integration between the CRM and the data warehouse
Business Analyst
Write a user story for the customer profile update feature with acceptance criteria
Draft BRD section 3 — functional requirements for the notification service
Assess the change request: the client wants to add real-time inventory updates to the checkout
Write a stakeholder status update for Sprint 5 requirements sign-off
Security Engineer
Review the login endpoint for OWASP Top 10 vulnerabilities
Write a STRIDE threat model for the payment processing service
Score this vulnerability with CVSS v3.1 and recommend remediation: unauthenticated access to admin API
Define secrets management for a Kubernetes-hosted microservices platform
Data Engineer
Design an incremental ELT pipeline to sync orders from PostgreSQL to Snowflake
Write a dbt model for the customer lifetime value report
Define data quality rules for the fact_orders table
Write a schema migration to add a soft-delete column to the customers table with rollback
PART E — Sharing with Your Team
Quickest path — send one command
Share this with your team and they are set up in under a minute:
# macOS / Linux — installs into current project AND globally
curl -fsSL https://raw.githubusercontent.com/YOUR_ORG/skill_chatbot/main/install.sh | bash -s -- --global
# Windows — installs into current project AND globally
irm https://raw.githubusercontent.com/YOUR_ORG/skill_chatbot/main/install.ps1 | iex; .\install.ps1 -Global
# Any platform via npx
npx skill-chatbot --global
For Claude Code (team-wide setup)
- Share this repository URL with your team.
- Each employee runs one of the install commands above — slash commands work immediately.
- The
--globalflag means/developer,/quality-analyst,/devops,/solution-architect,/buisness-analyst,/security-engineer, and/data-engineerwork in every Claude Code session, not just this repo.
For GitHub Copilot (zero setup for employees)
- Share the repository with your team on GitHub (or your internal GitHub Enterprise instance).
- Each employee clones the repo and opens it in VS Code.
- That's it —
copilot-instructions.mdis automatically read by Copilot. No manual configuration.
For employees who work across many repositories and want role-routing everywhere:
- In VS Code, open Settings (
Ctrl+,). - Search for
github.copilot.chat.codeGeneration.instructions. - Add a reference to the
copilot-instructions.mdfile, or copy its content into a global Copilot instructions setting.
Troubleshooting
| Problem | Solution |
|---|---|
| Slash command not found in Claude Code | Ensure you opened the skill_chatbot folder (not a parent folder). Commands only load from .claude/commands/ in the open project root. |
| Global slash commands not working | Verify the files were copied to ~/.claude/commands/ (macOS/Linux) or %USERPROFILE%\.claude\commands\ (Windows). Restart Claude Code after copying. |
| Copilot not applying role routing | Check that .github/copilot-instructions.md exists in the repo root. If you are on a branch, ensure the file is present on that branch. |
| Copilot giving generic answers | Attach the specific skill file using #file:.github/skills/<role>/SKILL.md for maximum precision. |
@workspace not finding files |
Ensure VS Code has indexed the workspace — open the Command Palette and run "GitHub Copilot: Refresh workspace index". |
| Cross-role output missing a section | Re-prompt with both skill files attached explicitly and state "produce output for both roles". |
Adding New Roles
To add a new role:
- Create
.github/skills/<role-name>/SKILL.md— follow the template of any existing SKILL.md. - Create
.claude/commands/<role-name>.md— follow the template of any existing command file. - Add the new role to the Intent Detection table in
.claude/commands/skills.md. - Add the new role to the Skill File Registry and Intent Detection table in
.github/skills/skills/SKILL.md. - Add the new role to the table in
.github/copilot-instructions.md. - Update this README — add a row to the Available Roles table and a prompt example in Part D.