mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-18 12:39:28 +00:00
Add the Kiro-style agentic SDLC tooling used to drive this project: the .opencode/skills/kiro-* skill set (discovery, spec init/requirements/design/ tasks, validation, implementation, review, steering), the .kiro/settings templates, and AGENTS.md describing the workflow. Update the spec docs (assessment/design/requirements/tasks) to current state. Scope tests/test_opencode_skills.py to the project's own openultrasast-* skills so the third-party kiro-* tooling (which uses a different frontmatter convention) no longer breaks the frontmatter check. Co-Authored-By: Claude Opus 4.8 <[email protected]>
157 lines
4.5 KiB
Markdown
157 lines
4.5 KiB
Markdown
---
|
|
name: kiro-steering
|
|
description: Manage .kiro/steering/ as persistent project knowledge
|
|
metadata:
|
|
shared-rules: "steering-principles.md"
|
|
---
|
|
|
|
|
|
# Kiro Steering Management
|
|
|
|
<background_information>
|
|
**Role**: Maintain `.kiro/steering/` as persistent project memory.
|
|
|
|
**Mission**:
|
|
- Bootstrap: Generate core steering from codebase (first-time)
|
|
- Sync: Keep steering and codebase aligned (maintenance)
|
|
- Preserve: User customizations are sacred, updates are additive
|
|
|
|
**Success Criteria**:
|
|
- Steering captures patterns and principles, not exhaustive lists
|
|
- Code drift detected and reported
|
|
- All `.kiro/steering/*.md` treated equally (core + custom)
|
|
</background_information>
|
|
|
|
<instructions>
|
|
## Scenario Detection
|
|
|
|
Check `.kiro/steering/` status:
|
|
|
|
**Bootstrap Mode**: Empty OR missing core files (product.md, tech.md, structure.md)
|
|
**Sync Mode**: All core files exist
|
|
|
|
---
|
|
|
|
## Bootstrap Flow
|
|
|
|
1. Load templates from `.kiro/settings/templates/steering/`
|
|
2. Analyze codebase (JIT):
|
|
|
|
#### Parallel Research
|
|
|
|
The following research areas are independent and can be executed in parallel:
|
|
1. **Product analysis**: README, package.json, documentation files for purpose, value, core capabilities
|
|
2. **Tech analysis**: Config files, dependencies, frameworks for technology patterns and decisions
|
|
3. **Structure analysis**: Directory tree, naming conventions, import patterns for organization
|
|
|
|
If multi-agent is enabled, spawn sub-agents for each area above. Otherwise execute sequentially.
|
|
|
|
After all parallel research completes, synthesize patterns for steering files.
|
|
|
|
3. Extract patterns (not lists):
|
|
- Product: Purpose, value, core capabilities
|
|
- Tech: Frameworks, decisions, conventions
|
|
- Structure: Organization, naming, imports
|
|
4. Generate steering files (follow templates)
|
|
5. Load principles from `rules/steering-principles.md` from this skill's directory
|
|
6. Present summary for review
|
|
|
|
**Focus**: Patterns that guide decisions, not catalogs of files/dependencies.
|
|
|
|
---
|
|
|
|
## Sync Flow
|
|
|
|
1. Load all existing steering (`.kiro/steering/*.md`)
|
|
2. Analyze codebase for changes (JIT)
|
|
3. Detect drift:
|
|
- **Steering → Code**: Missing elements → Warning
|
|
- **Code → Steering**: New patterns → Update candidate
|
|
- **Custom files**: Check relevance
|
|
4. Propose updates (additive, preserve user content)
|
|
5. Report: Updates, warnings, recommendations
|
|
|
|
**Update Philosophy**: Add, don't replace. Preserve user sections.
|
|
|
|
---
|
|
|
|
## Granularity Principle
|
|
|
|
From `rules/steering-principles.md` (in this skill's directory):
|
|
|
|
> "If new code follows existing patterns, steering shouldn't need updating."
|
|
|
|
Document patterns and principles, not exhaustive lists.
|
|
|
|
**Bad**: List every file in directory tree
|
|
**Good**: Describe organization pattern with examples
|
|
|
|
</instructions>
|
|
|
|
## Tool guidance
|
|
|
|
- **Glob**: Find source/config files
|
|
- **Read**: Read steering, docs, configs
|
|
- **Grep**: Search patterns
|
|
- **Bash** with `ls`: Analyze structure
|
|
|
|
**JIT Strategy**: Fetch when needed, not upfront.
|
|
|
|
## Output description
|
|
|
|
Chat summary only (files updated directly).
|
|
|
|
### Bootstrap:
|
|
```
|
|
✅ Steering Created
|
|
|
|
## Generated:
|
|
- product.md: [Brief description]
|
|
- tech.md: [Key stack]
|
|
- structure.md: [Organization]
|
|
|
|
Review and approve as Source of Truth.
|
|
```
|
|
|
|
### Sync:
|
|
```
|
|
✅ Steering Updated
|
|
|
|
## Changes:
|
|
- tech.md: React 18 → 19
|
|
- structure.md: Added API pattern
|
|
|
|
## Code Drift:
|
|
- Components not following import conventions
|
|
|
|
## Recommendations:
|
|
- Consider api-standards.md
|
|
```
|
|
|
|
## Examples
|
|
|
|
### Bootstrap
|
|
**Input**: Empty steering, React TypeScript project
|
|
**Output**: 3 files with patterns - "Feature-first", "TypeScript strict", "React 19"
|
|
|
|
### Sync
|
|
**Input**: Existing steering, new `/api` directory
|
|
**Output**: Updated structure.md, flagged non-compliant files, suggested api-standards.md
|
|
|
|
## Safety & Fallback
|
|
|
|
- **Security**: Never include keys, passwords, secrets (see principles)
|
|
- **Uncertainty**: Report both states, ask user
|
|
- **Preservation**: Add rather than replace when in doubt
|
|
|
|
## Notes
|
|
|
|
- All `.kiro/steering/*.md` loaded as project memory
|
|
- Templates and principles are external for customization
|
|
- Focus on patterns, not catalogs
|
|
- "Golden Rule": New code following patterns shouldn't require steering updates
|
|
- Avoid documenting agent-specific tooling directories (e.g. `.cursor/`, `.gemini/`, `.claude/`)
|
|
- `.kiro/settings/` content should NOT be documented in steering files (settings are metadata, not project knowledge)
|
|
- Light references to `.kiro/specs/` and `.kiro/steering/` are acceptable; avoid other `.kiro/` directories
|
|
|