Project Wizard Skill
Create new GitHub Copilot-enabled projects from the base template with full security configuration, GitHub integration, and Archon project setup.
Triggers
Activate this skill when user mentions:
- "new project", "create project", "setup project"
- "new workspace", "new codebase"
- "project wizard", "project template"
- "initialize repository", "init repo"
- "#new-project", "#project-wizard"
Description
The Project Wizard skill guides users through creating new projects from the github-copilot-base template. It automates:
- Folder Creation - Creates project directory in specified location
- Template Copy - Copies all base template files
- Customization - Updates README, CODEOWNERS, and configs
- Git Setup - Initializes repo with pre-commit hooks
- GitHub Integration - Creates repo with branch protection and secret scanning
- Archon Setup - Creates project for task management
Workflow Steps
1. Gather Information
Collect the following using ask_user:
| Question | Purpose | Validation |
|---|---|---|
| Project path | Parent directory location | Must exist |
| Project name | Folder and repo name | Lowercase, hyphens only |
| Project type | Determines README template | Select from list |
| Description | README and GitHub description | Max 200 chars |
| Language | .gitignore additions | Select from list |
| GitHub org | Where to create repo | Must have access |
| Visibility | Public or private | Default: private |
2. Execute Setup
# Create project directory
$ProjectPath = Join-Path $ParentPath $ProjectName
New-Item -ItemType Directory -Path $ProjectPath -Force
# Copy template files
& "$TemplateRepo\scripts\copy-template.ps1" `
-SourcePath $TemplateRepo `
-DestinationPath $ProjectPath
# Initialize git
Set-Location $ProjectPath
git init
# Install pre-commit
pip install pre-commit
pre-commit install
pre-commit install --hook-type commit-msg
# Initial commit
git add .
git commit -m "feat: initial project setup from github-copilot-base template"
# Create GitHub repo
gh repo create "$Org/$ProjectName" --private --source=. --push --description "$Description"
# Enable branch protection
gh api "repos/$Org/$ProjectName/branches/main/protection" -X PUT `
-f required_status_checks='{"strict":true,"contexts":[]}' `
-f enforce_admins=false `
-f required_pull_request_reviews='{"required_approving_review_count":1}'
# Enable secret scanning
gh api "repos/$Org/$ProjectName" -X PATCH `
-f security_and_analysis='{"secret_scanning":{"status":"enabled"},"secret_scanning_push_protection":{"status":"enabled"}}'
3. Create Archon Project
// Create project
const project = await manage_project("create", {
title: projectName,
description: description,
github_repo: `https://github.com/${org}/${projectName}`
});
// Create initial tasks
await manage_task("create", {
project_id: project.id,
title: "Complete project setup",
description: "Review and customize template files",
status: "todo"
});
4. Customize Files
Update these files with project-specific information:
README.md- Replace placeholders with project infoCODEOWNERS- Update team references.github/copilot-instructions.md- Add project context
5. Output Summary
Provide completion summary with:
- Project location and URL
- What was configured
- Next steps for the user
Project Types
| Type | Description | README Template |
|---|---|---|
web-frontend | React, Vue, Angular, etc. | templates/readme/web-frontend.md |
backend-api | Node.js, Python, .NET, etc. | templates/readme/backend-api.md |
fullstack | Combined frontend + backend | templates/readme/fullstack.md |
cli-library | CLI tools or packages | templates/readme/cli-library.md |
infrastructure | Terraform, Docker, K8s | templates/readme/infrastructure.md |
Language Support
Additional .gitignore patterns by language:
| Language | Template |
|---|---|
| JavaScript/TypeScript | templates/gitignore/node.gitignore |
| Python | templates/gitignore/python.gitignore |
| C#/.NET | templates/gitignore/dotnet.gitignore |
| Go | templates/gitignore/go.gitignore |
| Java | templates/gitignore/java.gitignore |
Error Handling
| Error | Resolution |
|---|---|
| Path doesn't exist | Prompt to create or choose different |
| Folder already exists | Prompt to overwrite or rename |
| gh not installed | Show installation guide |
| Not authenticated | Run gh auth login |
| No org access | Use personal account |
Prerequisites
- Git installed and configured
- GitHub CLI (
gh) installed and authenticated - Python installed (for pre-commit)
- Archon MCP server running (optional)
Example
User: #new-project
Copilot: π§ Project Wizard
Let's create a new project! I'll guide you through the setup.
[Asks questions one by one...]
β
Creating project folder...
β
Copying template files...
β
Initializing git repository...
β
Installing pre-commit hooks...
β
Creating GitHub repository...
β
Enabling branch protection...
β
Enabling secret scanning...
β
Creating Archon project...
π Project "my-awesome-api" created successfully!
π Location: E:\Repos\MyOrg\my-awesome-api
π Repository: https://github.com/MyOrg/my-awesome-api
π Archon Project: proj_abc123
Next steps:
1. Open in VS Code: code E:\Repos\MyOrg\my-awesome-api
2. Review README.md and customize
3. Start building!
