Skip to content

feat: add /init-template skill for first-time repo setup#23

Merged
striderZA merged 4 commits intodevelopmentfrom
feat/init-template
May 2, 2026
Merged

feat: add /init-template skill for first-time repo setup#23
striderZA merged 4 commits intodevelopmentfrom
feat/init-template

Conversation

@striderZA
Copy link
Copy Markdown
Owner

Summary

Adds /init-template skill for first-time repo setup, transforming the cloned OCGS template into a clean, ready-to-use game project.

Changes

  • New /init-template skill: 7-phase interactive workflow — gather project identity → replace README → update AGENTS.md → update opencode.json → remove internal files → optional git reset → completion summary
  • Updated docs: quick-start.md (step 2), skills-reference.md (Onboarding table), setup-requirements.md (callout)

Closes #22

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

Pull Request Review — feat/init-template

Overview

Adds /init-template skill (7-phase workflow for first-time repo setup) plus doc updates. 121 additions, 1 deletion across 4 files.


Code Quality Issues

  1. argument-hint / skill body mismatch (High): The YAML frontmatter declares argument-hint: "[--reset-git] [--name \"My Game\"] [--engine godot|unity|unreal]" suggesting CLI argument support, but the skill body never parses any arguments — it gathers all info via interactive question. If --reset-git is passed, the skill won't honor it. Either remove the hint or add argument parsing logic.

  2. No existence checks before deletion (Medium): Phase 5 runs rm on files (UPGRADING.md, CONTRIBUTING.md, etc.) with no guard. If these files were already removed by a prior partial setup, the script will error. Should use rm -f or conditional checks.

  3. ccgs-hooks.ts reference may not exist (Medium): Phase 4 says "Keep the ccgs-hooks.ts plugin reference" but doesn't check if that file actually exists in the user's fork. A forked project may not use CCGS hooks, and keeping a stale plugin reference in opencode.json could cause errors at runtime.

Doc Issues

  1. Quick-start duplicate step numbering (Low, pre-existing): Path A has two 3. entries (lines 215/221). The new step 2 insertion didn't introduce this, but it's adjacent context that should be fixed.

  2. setup-requirements.md callout (Low): The added callout says "Run /init-template before anything else" — good placement.

  3. skills-reference.md entry (Low): Correct format, alphabetically in the right position.

Consistency with Existing Skills

Aspect init-template Other skills (e.g., setup-engine, start, adopt)
H2 headings ## 1. Welcome and Prompt (numbered) Descriptive names: ## 1. Parse Arguments, ## Phase 1
agent: field Not present adopt has it (agent: technical-director), start/brainstorm don't
Allowed tools Bash included Consistent — setup-engine doesn't include Bash but needs it too

Minor inconsistency: other skills use descriptive H2 headings (## 1. Parse Arguments, ## Phase 1: Orientation) rather than ## 1. Welcome and Prompt. Consider aligning heading style with existing skills.

Suggestions

  1. Add argument parsing to Phase 1 so --name, --engine, and --reset-git are honored as CLI args (matching the argument-hint).

  2. Guard file deletions with -f or existence checks:

    rm -f UPGRADING.md CONTRIBUTING.md SECURITY.md CODE_OF_CONDUCT.md
    
  3. Make ccgs-hooks.ts optional — check if the file exists before preserving the reference.

  4. Fix the duplicate step 3 in quick-start.md while you're touching adjacent lines.

  5. Consider renaming H2 headings to match the descriptive style of other skills for consistency.

Verdict

Needs work. The core logic is sound, but the argument-hint/body mismatch is a real bug, and the missing guards on deletions are a fragility concern. Address items 1, 2, and 3 before merging.

New%20session%20-%202026-05-02T07%3A23%3A30.160Z
opencode session  |  github run

@striderZA
Copy link
Copy Markdown
Owner Author

All review items addressed:

1. argument-hint/body mismatch: Added Phase 1 argument parsing that reads --name, --engine, and --reset-git. If both --name and --engine are provided, skips interactive prompt entirely.

2. Deletion guards: Phase 5 now uses rm -f and rm -rf with existence-safe patterns.

3. ccgs-hooks.ts conditional: Phase 4 now reads: 'keep the reference only if the file actually exists: if [ -f .opencode/plugins/ccgs-hooks.ts ]'

4. Duplicate step 3: Fixed renumbering (was 3,3,4,5,6 → 3,4,5,6,7; rest incremented to match).

5. Heading style: Changed ## 1.## Phase 1: style to match other skills.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

Verified the full diff between the original and fixed commits. Here's my review:

Verdict: Approved with minor issue

All original review items addressed

Issue Status
1. argument-hint/body mismatch Fixed — Phase 1 now parses --name, --engine, --reset-git; skips interactive prompt when both --name and --engine provided
2. Deletion guards Fixed — uses rm -f and rm -rf instead of bare rm
3. ccgs-hooks.ts conditional Fixed — added if [ -f .opencode/plugins/ccgs-hooks.ts ] guard
4. Duplicate step 3 Fixed — no duplicate numbering in Path A
5. Heading style Fixed — ## Phase N: style matches other skills

New issue found

Path A step numbering gap (quick-start.md:228-229): Steps jump from 5 to 7 with no step 6. When step 2 was inserted, steps 5-10 were renumbered by +2 instead of +1. The old 5. Decompose became 7 when it should be 6. Needs to renumber steps 6-12 down by 1:

5. Validate the concept
6. Decompose into systems    ← currently 7
7. Design each system        ← currently 8
8. Test the core loop        ← currently 9
9. Playtest it               ← currently 10
10. Plan the first sprint    ← currently 11
11. Start building           ← currently 12

This is a trivial fix — the content order is correct, only the numeric labels are wrong.

New%20session%20-%202026-05-02T07%3A28%3A27.852Z
opencode session  |  github run

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

Confirmed: Path A numbering jumps from 4 to 6 with no step 5. Steps 6-12 should be 5-11.

Here's my review:


Review: feat/init-template

What this does

Adds a new /init-template skill (120 lines) for first-time repo setup with a 7-phase workflow, plus doc updates to quick-start.md, setup-requirements.md, and skills-reference.md.


SKILL.md — Looks good overall

The first reviewer's concerns have been addressed:

  • argument-hint/body: Phase 1 now parses --name, --engine, --reset-git and skips interactive prompt when both --name and --engine are provided. The hint matches the body.
  • Deletion guards: Phase 5 uses rm -f and rm -rf. Safe against missing files.
  • ccgs-hooks.ts: Phase 4 says to check if [ -f .opencode/plugins/ccgs-hooks.ts ]. Good.
  • Heading style: ## Phase N: ... matches adopt and start skills (the dominant style over setup-engine's ## N. style). Consistent.

One minor thing: Phase 5 says "Clear design/ directory contents" but doesn't re-create .gitkeep (unlike src/ where it does touch src/.gitkeep). If design/ is tracked as an empty dir in git, you'd want to preserve it.


quick-start.md — One real issue

Path A numbering is off (line 228-235):

After inserting step 2 (/init-template), the remaining steps were shifted by +2 instead of +1. Step 5 is missing entirely:

4. Enhance with godot-mcp      ← correct
6. Validate the concept         ← should be 5
7. Decompose into systems       ← should be 6
8. Design each system           ← should be 7
9. Test the core loop           ← should be 8
10. Playtest it                 ← should be 9
11. Plan the first sprint       ← should be 10
12. Start building              ← should be 11

Content is correct — only the numeric labels need fixing.


setup-requirements.md — Correct

The callout at line 7 (> **New projects:** After cloning...) is well-placed and matches the existing callout style.


skills-reference.md — Correct

Entry is in the right alphabetical position in the Onboarding table. Description is consistent with the skill's purpose.


Verdict

Approved with a minor fix — The SKILL.md is well-structured and the three review items from the first reviewer are properly resolved. The only remaining issue is the Path A step numbering in quick-start.md (lines 228-235: 65, 76, ..., 1211). Fix that and this is ready to merge.

New%20session%20-%202026-05-02T07%3A47%3A14.005Z
opencode session  |  github run

@striderZA striderZA force-pushed the feat/init-template branch from 3f87990 to 19f147f Compare May 2, 2026 07:56
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

Review: feat/init-template

SKILL.md (new)

argument-hint/body: Phase 1 parses --name, --engine, --reset-git and skips interactive prompt when both --name and --engine are provided. Matches the hint. ✓

Deletion guards: Phase 5 uses rm -f and rm -rf. ✓

ccgs-hooks.ts: Conditional check if [ -f .opencode/plugins/ccgs-hooks.ts ]. ✓

Heading style: ## Phase N: matches the dominant style in other skills. ✓

Minor: Phase 5 clears design/ with rm -rf design/* but doesn't re-create a .gitkeep (unlike src/ where it does touch src/.gitkeep). If the directory is tracked and becomes empty, git will lose it. Add touch design/.gitkeep after the rm.

quick-start.md

Numbering is correct: Path A runs 1 through 11 with no gaps. The prior review reports of a missing step 5/6 appear to be false positives from intermediate states — the current content is clean.

setup-requirements.md

Callout at line 7 is well-placed and consistent with existing style. ✓

skills-reference.md

Entry positioned correctly in the Onboarding table. ✓


Verdict: Approved — The three substantive concerns from the initial review (argument parsing, deletion guards, ccgs-hooks conditional) are all properly resolved. One nitpick: add touch design/.gitkeep in Phase 5 alongside the src/.gitkeep for consistency.

New%20session%20-%202026-05-02T07%3A57%3A18.442Z
opencode session  |  github run

@striderZA striderZA merged commit c3a517d into development May 2, 2026
1 check passed
@striderZA striderZA deleted the feat/init-template branch May 2, 2026 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant