init-docs
Sets up the standard project documentation structure from scratch.
When to Use
- •Starting a new project that needs the standard
docs/layout - •User says "set up the project structure", "initialize docs", "프로젝트 초기화", or "docs 만들어줘"
- •The project has no
docs/directory yet
What This Skill Creates
docs/
├── specifications/
├── issue/
├── reference/
├── policy/
│ ├── policy.md
│ ├── commit-message-rule.md
│ └── naming-conventions.md
└── dev/
├── specifications/
├── issue/
└── policy/
├── policy.ko.md
├── commit-message-rule.ko.md
└── naming-conventions.ko.md
CLAUDE.md (placed in project root)
Step-by-Step Instructions
Step 1: Confirm Before Acting
Tell the user:
I'm about to set up the standard
docs/structure in this project. This will create the docs/ directory tree, three initial policy documents (English + Korean), and a CLAUDE.md. Shall I proceed?
Wait for confirmation before creating anything.
Step 2: Create Directory Structure
Run the setup script if available:
bash .skills/init-docs/scripts/create-structure.sh
Or fall back to the global install:
bash ~/.agents/skills/init-docs/scripts/create-structure.sh
If neither is available, create directories manually and add .gitkeep files
so Git tracks the empty directories:
mkdir -p docs/specifications docs/issue docs/reference docs/policy mkdir -p docs/dev/specifications docs/dev/issue docs/dev/policy touch docs/specifications/.gitkeep docs/issue/.gitkeep docs/reference/.gitkeep docs/policy/.gitkeep touch docs/dev/specifications/.gitkeep docs/dev/issue/.gitkeep docs/dev/policy/.gitkeep
Step 3: Place CLAUDE.md
Copy the content from the skill's template (see references/CLAUDE-template.md
or the templates/CLAUDE.md in the source repository) into the project root.
- •If
CLAUDE.mddoes not exist: create it with the template content. - •If
CLAUDE.mdalready exists: do NOT overwrite it. Show the user the template and offer to merge relevant sections.
Step 4: Create Initial Policy Files
Create the following English policy files in docs/policy/:
docs/policy/policy.md
# Project Policy ## Documentation - All documentation lives in `docs/` and is the source of truth - All `docs/` content (except `docs/dev/`) is written in English - `docs/dev/` contains Korean translations with `.ko.md` suffix - `docs/reference/` is user-managed only — never create or edit files there ## Workflow - Every task begins with an issue document in `docs/issue/` - Issue files are numbered sequentially: issue001.md, issue002.md, ... - Do not begin implementation before an issue document exists - Update documentation in the same commit as the code change ## Policy Updates - Changes to policy files must be discussed with the user first - Policy changes require updating both the English and Korean versions ## Related Policy Files - `commit-message-rule.md` — Commit message format - `naming-conventions.md` — Naming conventions for files, code, and branches
docs/policy/commit-message-rule.md
# Commit Message Rules ## Format
<type>(<scope>): <subject>
[optional body]
[optional footer]
## Types - `feat`: New feature - `fix`: Bug fix - `docs`: Documentation changes only - `style`: Formatting or whitespace (no logic change) - `refactor`: Code restructuring (no feature or fix) - `test`: Adding or updating tests - `chore`: Build process, dependency updates, tooling ## Rules - Subject line: 72 characters maximum - Subject: imperative mood, lowercase, no trailing period - Example: `feat(auth): add OAuth2 login flow` - Reference the issue number in the body or footer: `Refs: issue003` - Separate body from subject with a blank line
docs/policy/naming-conventions.md
# Naming Conventions ## Files and Directories - All filenames: lowercase, hyphen-separated (kebab-case) - Issue documents: `issue001.md`, `issue002.md` (zero-padded to 3 digits) - Korean mirrors: append `.ko` before `.md` - English: `requirements.md` → Korean: `requirements.ko.md` - No spaces in file or directory names ## Code (language-agnostic defaults) - Variables and functions: camelCase - Constants: UPPER_SNAKE_CASE - Classes and types: PascalCase - Private members: prefix with underscore `_` ## Branch Names - Feature: `feat/issue<NNN>-<short-description>` - Example: `feat/issue003-user-authentication` - Bug fix: `fix/issue<NNN>-<short-description>` - Documentation: `docs/issue<NNN>-<short-description>` ## Notes - Language-specific conventions override these defaults - Add language-specific rules to this file as the project evolves
Step 5: Create Korean Policy Mirrors
Translate the three policy files into Korean and place them in docs/dev/policy/:
- •
docs/dev/policy/policy.ko.md - •
docs/dev/policy/commit-message-rule.ko.md - •
docs/dev/policy/naming-conventions.ko.md
Translation rules:
- •All prose and headings → Korean
- •Code blocks (
...) → keep as-is (English) - •File paths, type names, branch examples → keep in English
- •Technical acronyms (API, URL, HTTP) → keep in English
Step 6: Offer First Issue
After completing setup, ask:
Setup complete. Would you like me to create the first issue document (
docs/issue/issue001.md) to track the initial project setup tasks?
Step 7: Report
List every file and directory created so the user can verify.