.skaro/ directory is the heart of every Skaro project. It contains all artifacts, configuration, and state. Everything here is Markdown or YAML — human-readable and Git-friendly.
Directory Layout
File Descriptions
Project-Level Files
| File | Purpose | Who Creates It |
|---|---|---|
constitution.md | Immutable project principles | Developer (or LLM during import) |
config.yaml | Provider, model, roles, UI settings | skaro config or dashboard |
secrets.yaml | API keys | skaro config (auto-gitignored) |
state.yaml | Phase statuses, content hashes, approvals | Managed by Skaro automatically |
Architecture Directory
| File | Purpose |
|---|---|
architecture.md | System architecture: components, data flows, tech decisions |
review.md | Results of LLM architecture review (risks by severity) |
invariants.md | Architectural rules that must never be violated |
adr-NNN-*.md | Individual Architecture Decision Records |
Task Files (per milestone/task)
| File | Created During |
|---|---|
spec.md | Task creation — describes what to build |
clarifications.md | Clarify phase — LLM questions + developer answers |
plan.md | Plan phase — stages with goals, inputs, outputs, DoD |
tasks.md | Plan phase — granular task decomposition |
stages/stage-NN/AI_NOTES.md | Implement phase — what was done, why, risks, how to verify |
What to Commit
Add.skaro/ to Git — except files that are auto-gitignored by skaro init:
| File | Commit? | Why |
|---|---|---|
constitution.md | ✅ | Core project artifact |
config.yaml | ✅ | Shared settings (no secrets) |
secrets.yaml | ❌ | Contains API keys |
token_usage.yaml | ❌ | Local tracking data |
usage_log.jsonl | ❌ | Local tracking data |
state.yaml | ✅ | Phase progress |
| Everything else | ✅ | Project artifacts |
Root-Level Files
skaro init also creates two files in the project root (not inside .skaro/):
.skaroignore— controls which files are excluded from LLM analysis (gitignore syntax).gitignoreadditions — Skaro appends a marked section for secrets and usage logs