mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-19 13:10:03 +00:00
chore(skills): .agents/skills -- the plural directory OpenCode searches by default
Verified against opencode.ai/docs/skills: project-local search paths are .opencode/skills, .claude/skills and .agents/skills, not configurable. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
69b5e0efcc
commit
5010b15ffc
@@ -0,0 +1,156 @@
|
||||
---
|
||||
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
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
# Steering Principles
|
||||
|
||||
Steering files are **project memory**, not exhaustive specifications.
|
||||
|
||||
---
|
||||
|
||||
## Content Granularity
|
||||
|
||||
### Golden Rule
|
||||
> "If new code follows existing patterns, steering shouldn't need updating."
|
||||
|
||||
### ✅ Document
|
||||
- Organizational patterns (feature-first, layered)
|
||||
- Naming conventions (PascalCase rules)
|
||||
- Import strategies (absolute vs relative)
|
||||
- Architectural decisions (state management)
|
||||
- Technology standards (key frameworks)
|
||||
|
||||
### ❌ Avoid
|
||||
- Complete file listings
|
||||
- Every component description
|
||||
- All dependencies
|
||||
- Implementation details
|
||||
- Agent-specific tooling directories (e.g. `.cursor/`, `.gemini/`, `.claude/`)
|
||||
- Detailed documentation of `.kiro/` metadata directories (settings, automation)
|
||||
|
||||
### Example Comparison
|
||||
|
||||
**Bad** (Specification-like):
|
||||
```markdown
|
||||
- /components/Button.tsx - Primary button with variants
|
||||
- /components/Input.tsx - Text input with validation
|
||||
- /components/Modal.tsx - Modal dialog
|
||||
... (50+ files)
|
||||
```
|
||||
|
||||
**Good** (Project Memory):
|
||||
```markdown
|
||||
## UI Components (`/components/ui/`)
|
||||
Reusable, design-system aligned primitives
|
||||
- Named by function (Button, Input, Modal)
|
||||
- Export component + TypeScript interface
|
||||
- No business logic
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Security
|
||||
|
||||
Never include:
|
||||
- API keys, passwords, credentials
|
||||
- Database URLs, internal IPs
|
||||
- Secrets or sensitive data
|
||||
|
||||
---
|
||||
|
||||
## Quality Standards
|
||||
|
||||
- **Single domain**: One topic per file
|
||||
- **Concrete examples**: Show patterns with code
|
||||
- **Explain rationale**: Why decisions were made
|
||||
- **Maintainable size**: 100-200 lines typical
|
||||
|
||||
---
|
||||
|
||||
## Preservation (when updating)
|
||||
|
||||
- Preserve user sections and custom examples
|
||||
- Additive by default (add, don't replace)
|
||||
- Add `updated_at` timestamp
|
||||
- Note why changes were made
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
- Templates are starting points, customize as needed
|
||||
- Follow same granularity principles as core steering
|
||||
- All steering files loaded as project memory
|
||||
- Light references to `.kiro/specs/` and `.kiro/steering/` are acceptable; avoid other `.kiro/` directories
|
||||
- Custom files equally important as core files
|
||||
|
||||
---
|
||||
|
||||
## File-Specific Focus
|
||||
|
||||
- **product.md**: Purpose, value, business context (not exhaustive features)
|
||||
- **tech.md**: Key frameworks, standards, conventions (not all dependencies)
|
||||
- **structure.md**: Organization patterns, naming rules (not directory trees)
|
||||
- **Custom files**: Specialized patterns (API, testing, security, etc.)
|
||||
Reference in New Issue
Block a user