← Back to Index
Steering - Quick Reference
File Locations
| Scope | Path | Precedence |
| Global (user-level) | ~/.kiro/steering/*.md | Lower (overridden by workspace) |
| Workspace | .kiro/steering/*.md | Higher |
Front-matter Options (Complete Schema)
---
inclusion: auto | fileMatch | manual
fileMatchPattern: "glob/pattern/**/*.ts" # required when inclusion: fileMatch
---
This is the full schema. Steering files only support these two keys - there are no other options.
Inclusion Modes
| Mode | Front-matter | When loaded | Use for |
| Always-on | inclusion: auto (or omitted) | Every message | Core conventions, architecture overview |
| Conditional | inclusion: fileMatch | When a matching file is read | Domain-specific rules (API, DB, UI) |
| Manual | inclusion: manual | Only when invoked via / or # | Large reference docs, infrequent tasks |
File References
Refer to #[[file:relative/path/from/workspace-root.yaml]]
Loads the referenced file's content into context alongside the steering file. Chain multiple references in one file.
Glob Pattern Examples (fileMatch)
| Pattern | Matches |
src/api/**/*.ts | Any .ts file under src/api/ at any depth |
**/*.test.ts | Any test file anywhere |
*.md | Markdown files in root only |
src/components/** | All files under src/components/ |
Best Practices
- Keep always-on files short - every token is spent on every message
- Use fileMatch to scope domain rules to relevant files
- Use manual for large docs or infrequent workflows (migrations, deployments)
- Don't state things Kiro can infer from code (tsconfig.json, package.json)
- Use file references to point at specs/schemas instead of duplicating content
- One concern per file - makes it easy to toggle and scope
How to Invoke Manual Steering
- Type
/ in chat input - manual steering files appear as slash commands
- Type
# followed by the filename to pull it into context
Relationship to Other Features
| Feature | Relationship to Steering |
| Skills | Skills use the same file-reference syntax; they're invoked steering |
| Powers | Powers inject their own steering files on activation |
| Hooks (agent type) | Agent hooks inject prompt text, like event-triggered steering |
| Specs | Specs read steering for project context during generation |
| Multi-root | Each workspace folder gets its own .kiro/steering/ |
Official Docs