skillc 0.2.1

A development kit for Agent Skills - the open format for extending AI agent capabilities
Documentation
<!-- GENERATED: do not edit. Source: RFC-0006 -->
<!-- SIGNATURE: sha256:21755a3423166b796434b7fa9727efd53162462e99235cc70bd716825e77007f -->

# 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