# RFC-0006: Scaffolding
> **Version:** 0.1.0 | **Status:** normative | **Phase:** test
---
## 1. Summary
### [RFC-0006:C-OVERVIEW] Overview (Informative) <a id="rfc-0006c-overview"></a>
Scaffolding provides commands to initialize skillc projects and create new skills.
The `init` command creates the necessary directory structure for skillc to manage skills locally within a project, or creates new skill templates.
**Design principles:**
1. **Project-local first** — Skills are created within the current project by default
2. **Minimal templates** — Generated files contain only required structure
3. **Idempotent initialization** — Running `init` multiple times is safe
*Since: v0.1.0*
---
## 2. Specification
### [RFC-0006:C-INIT] Initialization Command (Normative) <a id="rfc-0006c-init"></a>
The `skc init` command scaffolds skillc project and skill structures.
## Project Initialization
```
skc init
```
When invoked without arguments, skillc MUST:
1. Create `.skillc/` directory in the current working directory if it does not exist
2. Create `.skillc/skills/` subdirectory for project-local skill sources
3. Print confirmation message to stdout
If `.skillc/` already exists, the command MUST succeed without error (idempotent).
## Skill Creation
```
skc init <name>
skc init <name> --global
```
When invoked with a skill name, skillc MUST:
1. Determine the target directory:
- Without `--global`: `.skillc/skills/<name>/` (project-local)
- With `--global`: `~/.skillc/skills/<name>/` (global source store)
2. Create the target directory if it does not exist
3. Create `SKILL.md` with minimal frontmatter:
```markdown
---
name: <name>
description: "TODO: Add skill description"
---
# <Name>
```
Where `<name>` is the skill name as provided (lowercase), and `<Name>` is title-cased.
The description MUST be non-empty to satisfy [RFC-0001:C-INPUT](../rfc/RFC-0001.md#rfc-0001c-input) requirements. Users should replace the placeholder with a meaningful description.
## Error Conditions
The command MUST fail with an error if:
- `SKILL.md` already exists in the target directory (prevents accidental overwrite)
- The target directory cannot be created (permissions, disk full, etc.)
**Rationale:**
Scaffolding eliminates the need to manually create skill directories and remember frontmatter format. The minimal template ensures valid Agent Skills format from the start. Project-local skills support the common workflow of developing skills alongside application code.
*Since: v0.1.0*
---
## Changelog
### v0.1.0 (2026-01-30)
Initial release