You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This folder is the single source of truth for GitHub Copilot customization assets propagated to all consumer repositories. It defines rules, prompts, skills, agents, and tooling that ensure consistent AI-assisted development across the organization.
Structure
Baseline files (always applied)
File
Purpose
Use when
Do NOT use when
copilot-instructions.md
Global non-negotiable rules: language policy, least privilege, DDD preference, test execution order, script standards, validation baseline.
Every Copilot interaction — this is the root of the instruction chain.
Every infrastructure or workflow change. Referenced by all agents as a minimum bar.
Application-only code changes with no infra impact.
Configuration and governance
File
Purpose
Use when
Do NOT use when
repo-profiles.yml
Advisory catalog of 6 profiles (minimal, backend-java, backend-nodejs, backend-python, infrastructure-heavy, mixed-platform). Maps each to recommended instructions, prompts, and skills.
Onboarding a new consumer repo — pick a profile to bootstrap the right asset set.
Enforcement — profiles are advisory today, not enforced by validators.
DEPRECATION.md
Lifecycle policy (Active → Deprecated → Removed) with 30-day window, migration guidance, emergency exception for security.
Sunsetting a prompt, skill, instruction, or agent. Check before removing anything.
Creating new assets (no lifecycle concerns for new additions).
CHANGELOG.md
Change log for notable modifications to customization assets.
After every meaningful change to .github/ — update as last maintenance step.
Minor formatting or comment-only changes.
dependabot.yml
Dependabot configuration for automated dependency updates.
Configuring update schedules for consumer repos using this as a template.
This repo itself only uses Python stdlib + pytest — the npm/maven/gradle ecosystems are templates for consumers.
Every PR to this repository. Auto-loaded by GitHub.
Consumer repos — they should define their own PR template.
tech-ai-requirements-dev.txt
Dev dependencies for the test suite (currently: pytest==8.3.3).
Running make test or pytest locally.
Production — there are no runtime dependencies.
.bootstrap-ignore
Rsync exclude patterns for the deprecated bootstrap-copilot-config.sh.
Only if still using the legacy bootstrap path.
The preferred sync script — it uses its own manifest logic.
Instructions (instructions/)
Path-specific rules auto-applied by Copilot when editing matching files. Each instruction targets a language or file type via applyTo glob patterns.
Category
Files
Example use case
Languages
bash, java, nodejs, python
Editing a .py file → python.instructions.md auto-applies with naming, testing, and style rules.
Infrastructure
terraform, makefile
Running terraform plan or editing a Makefile → relevant conventions auto-apply.
CI/CD
github-actions, github-action-composite
Editing a workflow YAML → SHA-pinning, permission, and caching rules auto-apply.
Data formats
json, yaml, markdown
Editing a README.md → Markdown linting and structural rules auto-apply.
Scripts
scripts, lambda
Editing a script or Lambda handler → orchestration and logging conventions auto-apply.
When to use: Instructions are automatic — they apply based on file path. No manual invocation needed.
When NOT to use: Don't reference instructions directly in prompts — Copilot resolves them from applyTo rules.
Prompts (prompts/)
Slash-command prompts invoked via / in Copilot chat for structured, repeatable tasks.
When to use: You need a consistent, reproducible output for a known task type.
When NOT to use: Ad-hoc questions, exploratory conversations, or one-off edits — just chat normally.
Language and project scaffolding
Prompt
Purpose
Example trigger
tech-ai-java
Create or modify Java project components (services, controllers, handlers) with JUnit 5 tests.
Implementation knowledge bases loaded on demand by agents and prompts. They contain templates, anti-pattern catalogs, and generation patterns. You rarely invoke skills directly — they are consumed automatically when you use the matching prompt or agent.
When to use: Referenced automatically by agents/prompts. Read a SKILL.md directly only when debugging agent behavior or understanding what patterns are applied.
When NOT to use: Don't load skills manually in normal workflows.
Skill
Purpose
Consumed by
tech-ai-pair-architect
DDD analysis dimensions, severity mappings, health score, risk matrix format, report template for change-impact analysis.
Manifest-based sync logic for propagating the shared baseline into consumer repos — asset selection, SHA256 checksums, conflict detection, and reporting.
Custom chat agents for focused tasks. Each agent has a single responsibility. See agents/README.md for the full selection guide.
When to use: Route to agents based on your workflow step.
When NOT to use: Simple questions or one-off edits — Copilot's default behavior is sufficient.
Core workflow agents
These agents form the main plan → analyze → execute → review pipeline.
Agent
Purpose
Example trigger
Read-only?
TechAIPlanner
Produce implementation plans with risks, assumptions, and validation criteria. Does not touch files.
"Plan the migration of the payment service to a hexagonal architecture."
"Security review of the new IAM module and workflow changes."
When the change touches security-sensitive code (IAM, secrets, auth, networking).
How they differ: TechAIReviewer is the broad quality gate (like a senior engineer's PR review). TechAIScriptReviewer is the exhaustive deep-dive (like a specialized linter on steroids — only for Python/Bash/Terraform). TechAISecurityReviewer focuses exclusively on security concerns. Use TechAIReviewer first; it will recommend routing to a specialist when needed.
Infrastructure specialist agents
Agent
Purpose
Example trigger
TechAITerraformGuardrails
Review Terraform changes for guardrails, lifecycle safety, state hygiene, and drift detection.
"Check the Terraform changes in src/infra/ for policy compliance."
TechAIIAMLeastPrivilege
Analyze IAM and policy changes for least-privilege compliance across AWS, Azure, and GCP.
"Audit the new IAM role — is it least privilege?"
TechAIWorkflowSupplyChain
Review GitHub Actions workflows for supply-chain risk, SHA-pinning, and reusable CI/CD design.
"Check the new deploy workflow for supply chain risks."
PR agent
Agent
Purpose
Example trigger
TechAIPREditor
Generate or update PR title and body using the repo template and real diff context.
These agents manage the lifecycle of Copilot customization assets. They are repo-only (not synced to consumers):
Agent
Lifecycle stage
Purpose
Example trigger
TechAISyncGlobalCopilotConfigsIntoRepo
Propagate
Push the shared Copilot baseline from this standards repo into a consumer repo (e.g. onemail, oneidentity) with conflict detection and SHA256 checksums.
"Sync the baseline config to the oneidentity repo."
How they differ: Sync pushes the shared baseline to consumer repos. They form a pipeline, not overlapping alternatives.
Overlap analysis
Potential confusion
Verdict
Distinction
TechAIPairArchitect vs TechAIReviewer
Different scope
PairArchitect does cross-cutting architecture/DDD analysis of the full change set. Reviewer does per-file defect-focused PR review. Use PairArchitect for design-level assessment, Reviewer for merge readiness.
TechAIReviewer vs TechAIScriptReviewer
Different depth
Reviewer is broad and delegates to specialists. ScriptReviewer is exhaustive nit-level for Python/Bash/Terraform only. Use Reviewer first; use ScriptReviewer when you want zero findings missed.
TechAIPlanner vs TechAIPairArchitectAnalysisExecutor
Different input
Planner works from requirements/user intent. Executor works from an existing ANALYSIS_REPORT.md. Planner is upstream (before code); Executor is downstream (after analysis).
Scripts (scripts/)
Script
Purpose
Use when
Do NOT use when
validate-copilot-customizations.sh
Validates frontmatter, section structure, agent metadata, inventory consistency, and SHA-pinning across all customization assets.
After any change to .github/ — run with --scope root --mode strict.