GitHub Repo Architect Skill
Intent
Turn rough software ideas into practical GitHub repository structures with files, workflows, prompts, and setup direction.
Workflow
- Identify the exact task and available source material.
- Apply the domain rules and output format in this skill.
- State assumptions, uncertainty, and missing inputs clearly.
- Return the requested artifact, recommendation, or review in a practical format.
- Check the result against the validation checklist before finishing.
Constraints
- Do not fabricate missing facts, measurements, dates, sources, or user context.
- Keep output aligned with Mick's direct, practical communication style unless the skill says otherwise.
- Preserve safety, legal, medical, financial, and operational boundaries stated in this file.
- Prefer concise, usable output over broad explanation.
Turn a rough project idea into a complete GitHub repository plan that can be implemented directly. Produce the repository structure, README, prompts, CI pipeline, and starter files that fit the project.
Primary Triggers
repo, gra, or architect repo — Provide the idea after the trigger and generate the repository architecture immediately.
Other triggers: "build a repo structure", "design a GitHub repo", "scaffold this repository", "create repository architecture", "turn this idea into a repo"
repo [project idea, target language, or rough requirements]
gra [GitHub repo concept]
architect repo [existing notes or spec]
Do Not Use When
- The user wants to improve an existing repo that already has structure — use a code review or audit approach instead.
- The user only needs a README written for a known repo layout — use the
github-readme skill instead.
- The user has no project idea and wants a generic starter template with no specifics — ask for a concrete idea before proceeding.
- The request is for a private or sensitive system (internal corporate infra, credential vaults, personal data stores) and no security context has been provided — gather security requirements first.
Step 1 — Identify Project Type
Classify the idea before writing files. Choose the closest type and adapt the output.
| Type |
Examples |
Architecture Focus |
| Claude or Codex skill |
Content writer, repo architect, automation helper |
skill.md, README, packaging notes, examples |
| CLI tool |
PowerShell module, Python utility, Node script |
commands, config, tests, release workflow |
| API service |
FastAPI, Express, Flask, webhook receiver |
routes, auth, OpenAPI, tests, deploy path |
| Web app |
React, Next.js, static dashboard |
app structure, components, env vars, build workflow |
| MCP server |
Home Assistant MCP, Pi-hole MCP |
tool definitions, server entrypoint, config, tests |
| Automation repo |
Playwright scraper, scheduled task, n8n helper |
workflows, secrets, logs, retries, docs |
| Data project |
ETL, analysis notebook, report generator |
datasets, schemas, reproducibility, outputs |
| Infrastructure repo |
Docker, Proxmox, Terraform, Ansible |
inventory, variables, validation, rollback notes |
If the type is unclear, pick the safest minimal architecture and state the assumption in one line.
Step 2 — Extract Requirements
Pull these details from the user's message:
- Repo name or working title
- Goal and target user
- Language or framework
- Runtime environment
- Inputs and outputs
- External services, APIs, secrets, or credentials
- Required commands
- Deployment target
- Test expectations
- License preference
If a key detail is missing, make a practical assumption. Ask a question only when the missing detail changes the whole architecture.
Step 3 — Generate The Repository Blueprint
Return a complete blueprint in this order:
- Repository name
- One sentence purpose
- Assumptions
- Folder layout
- Generated files
- README.md
- Development prompts
- GitHub Actions CI
- Setup commands
- Next implementation tasks
For code or automation repos, include starter file contents when the user asks for a scaffold or when the idea is specific enough to generate useful files. For broad planning requests, provide filenames and concise descriptions instead of long boilerplate.
Stack Scaffolding Presets
For Mick's common stacks, start from these opinionated presets instead of deriving the layout from scratch:
- PowerShell-first automation repo:
src/ module folder with one .psm1 plus a .psd1 manifest, scripts/ for entry points, Tests/ with Pester, PSScriptAnalyzerSettings.psd1 at root, CI running ScriptAnalyzer then Pester on pwsh
- Python CLI:
pyproject.toml with a console entry point, src/<package>/ layout, tests/ with pytest, ruff for lint, no setup.py
- Hybrid PowerShell and Python repo: split by language at the top level like the Trading repo, shared
docs/ and Tests/, CI with one job per stack so a failure points at the right half
- Static site: content separated from layout, local preview command documented, deploy workflow only when the host is known
Repo Documentation Plan
Plan which planning docs are tracked versus local-only, following the pattern Mick's repos already use:
- tracked:
README.md, changelog.md, completed-work logs, specs
- local-only (gitignored): future-upgrade backlogs, scratch assessments, personal notes
- name the gitignore entries explicitly in the blueprint so local planning files never land in commits
Folder Layout Rules
Use an annotated tree. Keep the structure lean and useful.
RepoName/
|-- README.md # Project overview and usage
|-- .github/
| |-- workflows/
| | |-- ci.yml # Test and lint workflow
| |-- ISSUE_TEMPLATE/
| | |-- bug_report.md # Bug report template
| | |-- feature_request.md # Feature request template
| |-- pull_request_template.md
|-- src/ # Main source code
|-- tests/ # Automated tests
|-- docs/ # Architecture and usage notes
Adapt folders to the project. Do not add empty complexity. Avoid including Docker, Terraform, or release automation unless the project calls for it.
README Requirements
Generate a complete README tailored to the repo. Include only sections that fit.
Core sections:
# [Repo Name]
- One sentence description
## Overview
## What This Does
## Repository Structure
## Prerequisites
## Setup
## Usage
## Testing
## Configuration
## Security Notes
## License
Use tables for structured configuration, commands, modules, or environment variables.
Development Prompts
Include prompts that help the user continue building the repo with Claude or Codex.
Prompt set:
- Implementation prompt — build the first working version from the scaffold
- Test prompt — add or improve automated tests
- Review prompt — inspect for bugs, missing docs, and security issues
- Release prompt — prepare tags, changelog, and release notes when relevant
Prompts must be specific to the generated repository. Do not write generic prompts that could apply to any project.
GitHub Actions CI
Generate .github/workflows/ci.yml for the chosen stack.
Minimum workflow:
- Runs on pull requests and pushes to the default branch
- Checks out the repo
- Sets up the language runtime
- Installs dependencies
- Runs linting when a lint command exists
- Runs tests
Use conservative defaults:
| Stack |
CI Defaults |
| Python |
actions/setup-python, install from requirements.txt or pyproject.toml, run pytest |
| Node |
actions/setup-node, npm ci, npm test, npm run lint if present |
| PowerShell |
pwsh, Invoke-ScriptAnalyzer if configured, Pester tests |
| .NET |
actions/setup-dotnet, dotnet restore, dotnet test |
| Docker |
docker build and optional compose validation |
| Claude skill |
package validation, archive creation, markdown checks |
If no stack is clear, create a placeholder CI with markdown checks and TODO comments.
Be opinionated enough to implement directly: name the exact test framework, the lint tool and its config file, and the first three tests worth writing for this specific repo. "Add tests" is not a recommendation; "add Pester tests covering the auth module's token refresh, error path, and config fallback" is.
Issue And PR Templates
Include templates when generating a full repo scaffold.
Bug report fields:
- Problem
- Steps to reproduce
- Expected result
- Actual result
- Environment
Feature request fields:
- Use case
- Proposed behavior
- Inputs
- Outputs
- Notes
Pull request template fields:
- Summary
- Changes
- Tests
- Risk
- Checklist
Voice And Formatting Rules
Apply Mick's repository voice to human facing prose:
- No emojis
- No motivational sign offs
- No AI sounding language: "journey", "transformative", "game-changer", "leverage", "showcase", "utilize", "diving deep", "I'm excited to share", "The takeaway here is..."
- First person only when the repository is personal or intentionally written from Mick's perspective
- Direct, conversational, short sentences
- Lead with concrete details
- Use exact commands and file paths
Technical syntax is allowed to use hyphens, quotation marks, YAML punctuation, package names, flags, and filenames when required.
Output Guardrails
- Do not produce a generic template when project details are available.
- Do not invent secrets, API keys, URLs, or package names.
- Mark uncertain commands as assumptions.
- Keep generated CI runnable for the selected stack.
- Include security notes for any repo that handles secrets, credentials, personal data, trading data, scraping, or automation against logged in services.
- Keep the initial architecture small enough for one person to build.
Validation Checklist
Run these checks before delivering any generated blueprint:
- Generated folder tree matches the stated project type from the type table.
- README includes all required sections for the project — no placeholder headings with no content.
- CI workflow targets the correct runtime and includes a working test or lint step, not just a checkout.
- Development prompts reference actual files and folder names from the generated repo, not generic placeholders.
- Security notes are present whenever the project involves API keys, credentials, personal data, scraping, or automation against authenticated services.
- No invented package names, service URLs, or environment variable values appear in generated files.
- Setup commands are runnable as written for the stated language and OS.
- Architecture fits one person building from scratch — no unnecessary layers, services, or abstractions.
- If type was unclear and an assumption was made, that assumption is stated in the output.
Help And Examples
If the user is not sure how to use this skill, asks what it needs, or asks for examples:
- Explain in plain language what this skill can do.
- Tell the user the minimum input needed for a useful first pass.
- Show the example prompts below.
- Offer the fastest next prompt the user can send.
Minimum useful input:
- The project idea, target stack, and any must-have repo components.
Example prompts:
Use github-repo-architect to turn this project idea into a complete repo layout with docs and workflows.
Design the structure for a PowerShell and Python automation repo with clear module boundaries.
Show me how to ask this skill for a repository architecture plan with folders and starter files.
1---2name: github-repo-architect3description: Convert a repository idea into a complete GitHub repository architecture. Always trigger immediately when the user's message starts with "repo", "gra", or "architect repo". Also trigger on "build a repo structure", "design a GitHub repo", "scaffold this repository", "create repository architecture", "turn this idea into a repo", or any request to generate README, folder layout, prompts, GitHub Actions CI, issue templates, pull request templates, or starter project structure for a new repository.4---56# GitHub Repo Architect Skill78## Intent910Turn rough software ideas into practical GitHub repository structures with files, workflows, prompts, and setup direction.1112## Workflow13141. Identify the exact task and available source material.152. Apply the domain rules and output format in this skill.163. State assumptions, uncertainty, and missing inputs clearly.174. Return the requested artifact, recommendation, or review in a practical format.185. Check the result against the validation checklist before finishing.1920## Constraints2122- Do not fabricate missing facts, measurements, dates, sources, or user context.23- Keep output aligned with Mick's direct, practical communication style unless the skill says otherwise.24- Preserve safety, legal, medical, financial, and operational boundaries stated in this file.25- Prefer concise, usable output over broad explanation.2627Turn a rough project idea into a complete GitHub repository plan that can be implemented directly. Produce the repository structure, README, prompts, CI pipeline, and starter files that fit the project.2829## Primary Triggers3031**`repo`**, **`gra`**, or **`architect repo`** — Provide the idea after the trigger and generate the repository architecture immediately.3233Other triggers: "build a repo structure", "design a GitHub repo", "scaffold this repository", "create repository architecture", "turn this idea into a repo"3435```text36repo [project idea, target language, or rough requirements]37gra [GitHub repo concept]38architect repo [existing notes or spec]39```4041## Do Not Use When4243- The user wants to improve an **existing repo** that already has structure — use a code review or audit approach instead.44- The user only needs a **README written** for a known repo layout — use the `github-readme` skill instead.45- The user has **no project idea** and wants a generic starter template with no specifics — ask for a concrete idea before proceeding.46- The request is for **a private or sensitive system** (internal corporate infra, credential vaults, personal data stores) and no security context has been provided — gather security requirements first.4748## Step 1 — Identify Project Type4950Classify the idea before writing files. Choose the closest type and adapt the output.5152| Type | Examples | Architecture Focus |53|---|---|---|54| Claude or Codex skill | Content writer, repo architect, automation helper | `skill.md`, README, packaging notes, examples |55| CLI tool | PowerShell module, Python utility, Node script | commands, config, tests, release workflow |56| API service | FastAPI, Express, Flask, webhook receiver | routes, auth, OpenAPI, tests, deploy path |57| Web app | React, Next.js, static dashboard | app structure, components, env vars, build workflow |58| MCP server | Home Assistant MCP, Pi-hole MCP | tool definitions, server entrypoint, config, tests |59| Automation repo | Playwright scraper, scheduled task, n8n helper | workflows, secrets, logs, retries, docs |60| Data project | ETL, analysis notebook, report generator | datasets, schemas, reproducibility, outputs |61| Infrastructure repo | Docker, Proxmox, Terraform, Ansible | inventory, variables, validation, rollback notes |6263If the type is unclear, pick the safest minimal architecture and state the assumption in one line.6465## Step 2 — Extract Requirements6667Pull these details from the user's message:6869- Repo name or working title70- Goal and target user71- Language or framework72- Runtime environment73- Inputs and outputs74- External services, APIs, secrets, or credentials75- Required commands76- Deployment target77- Test expectations78- License preference7980If a key detail is missing, make a practical assumption. Ask a question only when the missing detail changes the whole architecture.8182## Step 3 — Generate The Repository Blueprint8384Return a complete blueprint in this order:85861. **Repository name**872. **One sentence purpose**883. **Assumptions**894. **Folder layout**905. **Generated files**916. **README.md**927. **Development prompts**938. **GitHub Actions CI**949. **Setup commands**9510. **Next implementation tasks**9697For code or automation repos, include starter file contents when the user asks for a scaffold or when the idea is specific enough to generate useful files. For broad planning requests, provide filenames and concise descriptions instead of long boilerplate.9899## Stack Scaffolding Presets100101For Mick's common stacks, start from these opinionated presets instead of deriving the layout from scratch:102103- **PowerShell-first automation repo**: `src/` module folder with one `.psm1` plus a `.psd1` manifest, `scripts/` for entry points, `Tests/` with Pester, `PSScriptAnalyzerSettings.psd1` at root, CI running ScriptAnalyzer then Pester on `pwsh`104- **Python CLI**: `pyproject.toml` with a console entry point, `src/<package>/` layout, `tests/` with pytest, `ruff` for lint, no setup.py105- **Hybrid PowerShell and Python repo**: split by language at the top level like the Trading repo, shared `docs/` and `Tests/`, CI with one job per stack so a failure points at the right half106- **Static site**: content separated from layout, local preview command documented, deploy workflow only when the host is known107108## Repo Documentation Plan109110Plan which planning docs are tracked versus local-only, following the pattern Mick's repos already use:111112- tracked: `README.md`, `changelog.md`, completed-work logs, specs113- local-only (gitignored): future-upgrade backlogs, scratch assessments, personal notes114- name the gitignore entries explicitly in the blueprint so local planning files never land in commits115116## Folder Layout Rules117118Use an annotated tree. Keep the structure lean and useful.119120```text121RepoName/122|-- README.md # Project overview and usage123|-- .github/124| |-- workflows/125| | |-- ci.yml # Test and lint workflow126| |-- ISSUE_TEMPLATE/127| | |-- bug_report.md # Bug report template128| | |-- feature_request.md # Feature request template129| |-- pull_request_template.md130|-- src/ # Main source code131|-- tests/ # Automated tests132|-- docs/ # Architecture and usage notes133```134135Adapt folders to the project. Do not add empty complexity. Avoid including Docker, Terraform, or release automation unless the project calls for it.136137## README Requirements138139Generate a complete README tailored to the repo. Include only sections that fit.140141Core sections:142143- `# [Repo Name]`144- One sentence description145- `## Overview`146- `## What This Does`147- `## Repository Structure`148- `## Prerequisites`149- `## Setup`150- `## Usage`151- `## Testing`152- `## Configuration`153- `## Security Notes`154- `## License`155156Use tables for structured configuration, commands, modules, or environment variables.157158## Development Prompts159160Include prompts that help the user continue building the repo with Claude or Codex.161162Prompt set:163164- **Implementation prompt** — build the first working version from the scaffold165- **Test prompt** — add or improve automated tests166- **Review prompt** — inspect for bugs, missing docs, and security issues167- **Release prompt** — prepare tags, changelog, and release notes when relevant168169Prompts must be specific to the generated repository. Do not write generic prompts that could apply to any project.170171## GitHub Actions CI172173Generate `.github/workflows/ci.yml` for the chosen stack.174175Minimum workflow:176177- Runs on pull requests and pushes to the default branch178- Checks out the repo179- Sets up the language runtime180- Installs dependencies181- Runs linting when a lint command exists182- Runs tests183184Use conservative defaults:185186| Stack | CI Defaults |187|---|---|188| Python | `actions/setup-python`, install from `requirements.txt` or `pyproject.toml`, run `pytest` |189| Node | `actions/setup-node`, `npm ci`, `npm test`, `npm run lint` if present |190| PowerShell | `pwsh`, `Invoke-ScriptAnalyzer` if configured, Pester tests |191| .NET | `actions/setup-dotnet`, `dotnet restore`, `dotnet test` |192| Docker | `docker build` and optional compose validation |193| Claude skill | package validation, archive creation, markdown checks |194195If no stack is clear, create a placeholder CI with markdown checks and TODO comments.196197Be opinionated enough to implement directly: name the exact test framework, the lint tool and its config file, and the first three tests worth writing for this specific repo. "Add tests" is not a recommendation; "add Pester tests covering the auth module's token refresh, error path, and config fallback" is.198199## Issue And PR Templates200201Include templates when generating a full repo scaffold.202203Bug report fields:204205- Problem206- Steps to reproduce207- Expected result208- Actual result209- Environment210211Feature request fields:212213- Use case214- Proposed behavior215- Inputs216- Outputs217- Notes218219Pull request template fields:220221- Summary222- Changes223- Tests224- Risk225- Checklist226227## Voice And Formatting Rules228229Apply Mick's repository voice to human facing prose:230231- No emojis232- No motivational sign offs233- No AI sounding language: "journey", "transformative", "game-changer", "leverage", "showcase", "utilize", "diving deep", "I'm excited to share", "The takeaway here is..."234- First person only when the repository is personal or intentionally written from Mick's perspective235- Direct, conversational, short sentences236- Lead with concrete details237- Use exact commands and file paths238239Technical syntax is allowed to use hyphens, quotation marks, YAML punctuation, package names, flags, and filenames when required.240241## Output Guardrails242243- Do not produce a generic template when project details are available.244- Do not invent secrets, API keys, URLs, or package names.245- Mark uncertain commands as assumptions.246- Keep generated CI runnable for the selected stack.247- Include security notes for any repo that handles secrets, credentials, personal data, trading data, scraping, or automation against logged in services.248- Keep the initial architecture small enough for one person to build.249250## Validation Checklist251252Run these checks before delivering any generated blueprint:253254- Generated folder tree matches the stated project type from the type table.255- README includes all required sections for the project — no placeholder headings with no content.256- CI workflow targets the correct runtime and includes a working test or lint step, not just a checkout.257- Development prompts reference actual files and folder names from the generated repo, not generic placeholders.258- Security notes are present whenever the project involves API keys, credentials, personal data, scraping, or automation against authenticated services.259- No invented package names, service URLs, or environment variable values appear in generated files.260- Setup commands are runnable as written for the stated language and OS.261- Architecture fits one person building from scratch — no unnecessary layers, services, or abstractions.262- If type was unclear and an assumption was made, that assumption is stated in the output.263264## Help And Examples265266If the user is not sure how to use this skill, asks what it needs, or asks for examples:267268- Explain in plain language what this skill can do.269- Tell the user the minimum input needed for a useful first pass.270- Show the example prompts below.271- Offer the fastest next prompt the user can send.272273Minimum useful input:274275- The project idea, target stack, and any must-have repo components.276277Example prompts:278279- `Use github-repo-architect to turn this project idea into a complete repo layout with docs and workflows.`280- `Design the structure for a PowerShell and Python automation repo with clear module boundaries.`281- `Show me how to ask this skill for a repository architecture plan with folders and starter files.`282