Skills

Dark Factory includes nine slash commands that scaffold project artifacts. Skills are installed to .claude/skills/ by godark init and invoked in Claude Code.


Workflow Sequence

These skills follow a natural progression — each builds on the output of the previous:

1 /godark-create-milestone
2 /godark-create-planning-doc
3 /godark-create-issues
4 /godark-create-scenarios
5 /godark-create-phase-overview
/godark-create-milestone Create a phased roadmap and generate GitHub milestones

Gathers context from your existing docs (CLAUDE.md, architecture, conventions), discusses goals with you, proposes a phased breakdown, then writes the roadmap and creates milestones via the GitHub CLI.

Input <project-goal> — a description of what you want to build
Output docs/ROADMAP.md + GitHub milestones for each phase
/godark-create-planning-doc Expand a roadmap phase into detailed planning specs

Analyzes codebase impact (files changed, layers involved, caller count), explores the change surface, then writes detailed specs with acceptance criteria and test cases. Enforces task sizing rules — max 5 acceptance criteria and 7 test cases per task. Oversized tasks are split into child issues.

Input <phase-number> — e.g., "2"
Output docs/planning/phase-N-<slug>.md
/godark-create-issues Convert planning doc into GitHub issues

Reads the planning doc, creates issues via the GitHub CLI, applies phase labels, assigns to the correct milestone, and updates the planning doc and roadmap with issue numbers. Avoids creating duplicates.

Input <phase-number>
Output GitHub issues with proper structure, labels, and milestone assignment
/godark-create-scenarios Generate scenario spec files for testing

Creates markdown scenario specs that the functional reviewer validates against. Each spec has setup instructions and test cases with expected outcomes. Follows the canonical format from the spec generator prompt. Skips existing specs to prevent overwrites.

Input <phase-number> or <issue-number>
Output tests/scenarios/phase-N/<scenario-name>.md files
/godark-create-phase-overview Generate overview document for a completed phase

Reads the actual implementation to document what was built — not what was planned. Grounds examples in real code (config names, CLI flags, struct names) with realistic scenarios and narrative context. Target length: 150-300 lines.

Input <phase-number> — e.g., "7"
Output docs/phase-overviews/phase-NN-<slug>.md

Utility Skills

These can be run at any time, independent of the workflow sequence:

/godark-define-architecture Define or update architecture layer definitions

Scans your codebase for packages and imports, detects circular dependencies, and proposes idiomatic layers for your language/framework. Layers define which packages may depend on which — validated by godark vet architecture. The JSON schema defines name, description, paths, may_depend_on, and must_not_depend_on for each layer.

Input [project-path] — optional, defaults to current directory
Output docs/architecture.json (machine-readable) + docs/architecture.md (human-readable)
/godark-define-conventions Define or update coding conventions and patterns

Analyzes 10-20 source files for patterns in use, then collaborates with you to define conventions for error handling, logging, test style, naming, and dependency injection. Applies an agent-friendliness filter — flags anti-patterns like heavy code generation, convention-over-configuration magic, and implicit behavior that impede autonomous agents.

Input [project-path] — optional
Output docs/conventions.md
/godark-configure-project Auto-detect and populate godark.yaml configuration

Detects modules (go.mod, package.json, pubspec.yaml), code generation tools (sqlc, gqlgen, mockery, protobuf), environment variables (.env.example, CI workflows), CI checks (GitHub Actions jobs), and Docker Compose usage. Proposes language-specific defaults and confirms before writing.

Input [project-path] — optional
Output godark.yaml (merge mode — never overwrites existing fields)
/godark-harness-claude-md Compress and reorganize CLAUDE.md as a directory of pointers

Classifies existing CLAUDE.md content as duplicated, misplaced, routing, or unique. Moves misplaced content to the right subordinate doc (architecture → docs/architecture.md, conventions → docs/conventions.md, build commands → godark.yaml). Removes duplicated content. Never silently deletes — you decide each move.

Input [project-path] — optional
Output CLAUDE.md compressed to ~20 lines with pointers to subordinate docs