
template-creation
by zircote
Organization shared workflows, policies, and community health files
SKILL.md
name: template-creation description: Create new project templates or customize existing ones with CI/CD, tooling, and AI integration. USE THIS SKILL when user says "create template", "new template for", "customize template", "add template", or wants to build a new language/framework template. allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
Template Creation Skill
Purpose
Create new project templates or customize existing ones with CI/CD, tooling, and AI integration for the Personal GitHub Ecosystem.
Triggers
- "create a new template for [framework]"
- "customize the python template"
- "add a FastAPI template"
- "new template with [features]"
- "template for [use case]"
Usage
Use this skill to create new project templates from scratch or customize existing ones. Start with the closest existing template and modify it for your specific framework or use case.
Template Structure
Every template MUST include:
templates/[name]-template/
├── README.md # Project documentation
├── CLAUDE.md # Claude Code instructions
├── CODEOWNERS # Code ownership
├── .gitignore # Language-appropriate ignores
├── .github/
│ ├── workflows/ci.yml # CI pipeline (SHA-pinned)
│ ├── copilot-instructions.md
│ ├── dependabot.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.yml
│ │ └── feature_request.yml
│ └── PULL_REQUEST_TEMPLATE.md
├── .vscode/
│ └── mcp.json # MCP server config
└── [language-specific files]
Placeholder Conventions
Use these placeholders (replaced by new-project.sh):
| Placeholder | Description | Example |
|---|---|---|
{{project_name}} | Kebab-case name | my-api |
{{package_name}} | Underscore name | my_api |
{{ProjectName}} | PascalCase name | MyApi |
Workflow Standards
All CI workflows must:
- Use SHA-pinned actions (not tags)
- Declare minimal
permissions: - Include lint, test, and build jobs
- Support coverage thresholds
# Example CI workflow header
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
Creating a New Template
Step 1: Start from Closest Existing
# Copy the most similar template
cp -r templates/python-template templates/fastapi-template
Step 2: Update Core Files
- pyproject.toml / package.json / go.mod: Add framework deps
- README.md: Update description and quick start
- CLAUDE.md: Add framework-specific commands and patterns
- .github/copilot-instructions.md: Add framework conventions
Step 3: Add Framework Boilerplate
Create the minimal working structure:
- Entry point file
- Configuration
- Example endpoint/function
- Basic tests
Step 4: Update CI Workflow
# Add framework-specific steps
- name: Run database migrations
run: uv run alembic upgrade head
- name: Start test server
run: uv run uvicorn app:app --host 0.0.0.0 --port 8000 &
Step 5: Validate
# Check SHA pinning
./scripts/validate-sha-pinning.sh templates/new-template/.github/workflows/
# Verify required files exist
for f in README.md CLAUDE.md CODEOWNERS .gitignore; do
[ -f "templates/new-template/$f" ] || echo "Missing: $f"
done
# Test placeholder replacement
./scripts/new-project.sh new-template test-project /tmp
cd /tmp/test-project
# Run CI locally if possible
Language-Specific Requirements
Python Templates
- Python 3.12+ with
uv ruff(lint + format),pyright(types),pytest(tests)- Google-style docstrings
- 80%+ coverage target
TypeScript Templates
- Node.js 22+ with
pnpm - ESLint 9+ flat config, Prettier
- Vitest for testing
- Strict TypeScript
Go Templates
- Go 1.23+ with modules
golangci-lint- Standard layout: cmd/, internal/, pkg/
- Table-driven tests
Rust Templates
- Latest stable Rust
clippy(pedantic),cargo-deny- Documentation tests
Java Templates
- Java 21 LTS, Spring Boot 3.3+
- Gradle Kotlin DSL
- Checkstyle, SpotBugs, JUnit 5
AI Integration Checklist
- CLAUDE.md with project overview, commands, patterns
- copilot-instructions.md with language conventions
- mcp.json with context7 and filesystem servers
- Example code patterns in AI instruction files
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon