feat: add nightly branch workflow
This commit is contained in:
@@ -31,6 +31,7 @@ Phase 0 validation and tooling infrastructure has been successfully implemented
|
||||
**File**: `.github/skills/scripts/validate-skills.py`
|
||||
|
||||
**Features**:
|
||||
|
||||
- Validates all required frontmatter fields per agentskills.io spec
|
||||
- Checks name format (kebab-case), version format (semver), description length
|
||||
- Validates tags (minimum 2, maximum 5, lowercase)
|
||||
@@ -40,6 +41,7 @@ Phase 0 validation and tooling infrastructure has been successfully implemented
|
||||
- Execution permissions set
|
||||
|
||||
**Test Results**:
|
||||
|
||||
```
|
||||
✓ test-backend-coverage.SKILL.md is valid
|
||||
Validation Summary:
|
||||
@@ -55,6 +57,7 @@ Validation Summary:
|
||||
**File**: `.github/skills/scripts/skill-runner.sh`
|
||||
|
||||
**Features**:
|
||||
|
||||
- Accepts skill name as argument
|
||||
- Locates skill's execution script (`{skill-name}-scripts/run.sh`)
|
||||
- Validates skill exists and is executable
|
||||
@@ -64,6 +67,7 @@ Validation Summary:
|
||||
- Execution permissions set
|
||||
|
||||
**Test Results**:
|
||||
|
||||
```
|
||||
[INFO] Executing skill: test-backend-coverage
|
||||
[SUCCESS] Skill completed successfully: test-backend-coverage
|
||||
@@ -75,12 +79,14 @@ Exit code: 0
|
||||
All helper scripts created and functional:
|
||||
|
||||
**`_logging_helpers.sh`**:
|
||||
|
||||
- `log_info()`, `log_success()`, `log_warning()`, `log_error()`, `log_debug()`
|
||||
- `log_step()`, `log_command()`
|
||||
- Color support with terminal detection
|
||||
- NO_COLOR environment variable support
|
||||
|
||||
**`_error_handling_helpers.sh`**:
|
||||
|
||||
- `error_exit()` - Print error and exit
|
||||
- `check_command_exists()`, `check_file_exists()`, `check_dir_exists()`
|
||||
- `run_with_retry()` - Retry logic with backoff
|
||||
@@ -88,6 +94,7 @@ All helper scripts created and functional:
|
||||
- `cleanup_on_exit()` - Register cleanup functions
|
||||
|
||||
**`_environment_helpers.sh`**:
|
||||
|
||||
- `validate_go_environment()`, `validate_python_environment()`, `validate_node_environment()`, `validate_docker_environment()`
|
||||
- `set_default_env()` - Set env vars with defaults
|
||||
- `validate_project_structure()` - Check required files
|
||||
@@ -98,6 +105,7 @@ All helper scripts created and functional:
|
||||
**File**: `.github/skills/README.md`
|
||||
|
||||
**Contents**:
|
||||
|
||||
- Complete overview of Agent Skills
|
||||
- Directory structure documentation
|
||||
- Available skills table
|
||||
@@ -114,6 +122,7 @@ All helper scripts created and functional:
|
||||
### ✅ 6. .gitignore Updated
|
||||
|
||||
**Changes Made**:
|
||||
|
||||
- Added Agent Skills runtime-only ignore patterns
|
||||
- Runtime temporary files: `.cache/`, `temp/`, `tmp/`, `*.tmp`
|
||||
- Execution logs: `logs/`, `*.log`, `nohup.out`
|
||||
@@ -122,6 +131,7 @@ All helper scripts created and functional:
|
||||
- **IMPORTANT**: SKILL.md files and scripts are NOT ignored (required for CI/CD)
|
||||
|
||||
**Verification**:
|
||||
|
||||
```
|
||||
✓ No SKILL.md files are ignored
|
||||
✓ No scripts are ignored
|
||||
@@ -132,10 +142,12 @@ All helper scripts created and functional:
|
||||
**Skill**: `test-backend-coverage`
|
||||
|
||||
**Files**:
|
||||
|
||||
- `.github/skills/test-backend-coverage.SKILL.md` - Complete skill definition
|
||||
- `.github/skills/test-backend-coverage-scripts/run.sh` - Execution wrapper
|
||||
|
||||
**Features**:
|
||||
|
||||
- Complete YAML frontmatter following agentskills.io v1.0 spec
|
||||
- Progressive disclosure (under 500 lines)
|
||||
- Comprehensive documentation (prerequisites, usage, examples, error handling)
|
||||
@@ -146,6 +158,7 @@ All helper scripts created and functional:
|
||||
- Sets default environment variables
|
||||
|
||||
**Frontmatter Compliance**:
|
||||
|
||||
- ✅ All required fields present (name, version, description, author, license, tags)
|
||||
- ✅ Name format: kebab-case
|
||||
- ✅ Version: semantic versioning (1.0.0)
|
||||
@@ -159,12 +172,14 @@ All helper scripts created and functional:
|
||||
### ✅ 8. Infrastructure Tested
|
||||
|
||||
**Test 1: Validation**
|
||||
|
||||
```bash
|
||||
.github/skills/scripts/validate-skills.py --single .github/skills/test-backend-coverage.SKILL.md
|
||||
Result: ✓ test-backend-coverage.SKILL.md is valid
|
||||
```
|
||||
|
||||
**Test 2: Skill Execution**
|
||||
|
||||
```bash
|
||||
.github/skills/scripts/skill-runner.sh test-backend-coverage
|
||||
Result: Coverage 85.5% (minimum required 85%)
|
||||
@@ -173,6 +188,7 @@ Result: Coverage 85.5% (minimum required 85%)
|
||||
```
|
||||
|
||||
**Test 3: Git Tracking**
|
||||
|
||||
```bash
|
||||
git status --short .github/skills/
|
||||
Result: 8 files staged (not ignored)
|
||||
@@ -185,16 +201,20 @@ Result: 8 files staged (not ignored)
|
||||
## Success Criteria
|
||||
|
||||
### ✅ 1. validate-skills.py passes for proof-of-concept skill
|
||||
|
||||
- **Result**: PASS
|
||||
- **Evidence**: Validation completed with 0 errors, 0 warnings
|
||||
|
||||
### ✅ 2. skill-runner.sh successfully executes test-backend-coverage skill
|
||||
|
||||
- **Result**: PASS
|
||||
- **Evidence**: Skill executed successfully, exit code 0
|
||||
|
||||
### ✅ 3. Backend coverage tests run and pass with ≥85% coverage
|
||||
|
||||
- **Result**: PASS (85.5%)
|
||||
- **Evidence**:
|
||||
|
||||
```
|
||||
total: (statements) 85.5%
|
||||
Computed coverage: 85.5% (minimum required 85%)
|
||||
@@ -202,30 +222,35 @@ Result: 8 files staged (not ignored)
|
||||
```
|
||||
|
||||
### ✅ 4. Git tracks all skill files (not ignored)
|
||||
|
||||
- **Result**: PASS
|
||||
- **Evidence**: All 8 skill files staged, 0 ignored
|
||||
|
||||
## Architecture Highlights
|
||||
|
||||
### Flat Structure
|
||||
|
||||
- Skills use flat naming: `{skill-name}.SKILL.md`
|
||||
- Scripts in: `{skill-name}-scripts/run.sh`
|
||||
- Maximum AI discoverability
|
||||
- Simpler references in tasks.json and workflows
|
||||
|
||||
### Helper Scripts Pattern
|
||||
|
||||
- All skills source shared helpers for consistency
|
||||
- Logging: Colored output, multiple levels, DEBUG mode
|
||||
- Error handling: Retry logic, validation, exit codes
|
||||
- Environment: Version checks, project structure validation
|
||||
|
||||
### Skill Runner Design
|
||||
|
||||
- Universal interface: `skill-runner.sh <skill-name> [args...]`
|
||||
- Validates skill existence and permissions
|
||||
- Changes to project root before execution
|
||||
- Proper error reporting with helpful messages
|
||||
|
||||
### Documentation Strategy
|
||||
|
||||
- README.md in skills directory for quick reference
|
||||
- Each SKILL.md is self-contained (< 500 lines)
|
||||
- Progressive disclosure for complex topics
|
||||
@@ -234,6 +259,7 @@ Result: 8 files staged (not ignored)
|
||||
## Integration Points
|
||||
|
||||
### VS Code Tasks (Future)
|
||||
|
||||
```json
|
||||
{
|
||||
"label": "Test: Backend with Coverage",
|
||||
@@ -243,12 +269,14 @@ Result: 8 files staged (not ignored)
|
||||
```
|
||||
|
||||
### GitHub Actions (Future)
|
||||
|
||||
```yaml
|
||||
- name: Run Backend Tests with Coverage
|
||||
run: .github/skills/scripts/skill-runner.sh test-backend-coverage
|
||||
```
|
||||
|
||||
### Pre-commit Hooks (Future)
|
||||
|
||||
```yaml
|
||||
- id: backend-coverage
|
||||
entry: .github/skills/scripts/skill-runner.sh test-backend-coverage
|
||||
@@ -274,6 +302,7 @@ Result: 8 files staged (not ignored)
|
||||
## Next Steps
|
||||
|
||||
### Immediate (Phase 1)
|
||||
|
||||
1. Create remaining test skills:
|
||||
- `test-backend-unit.SKILL.md`
|
||||
- `test-frontend-coverage.SKILL.md`
|
||||
@@ -282,11 +311,13 @@ Result: 8 files staged (not ignored)
|
||||
3. Update GitHub Actions workflows
|
||||
|
||||
### Phase 2-4
|
||||
|
||||
- Migrate integration tests, security scans, QA tests
|
||||
- Migrate utility and Docker skills
|
||||
- Complete documentation
|
||||
|
||||
### Phase 5
|
||||
|
||||
- Generate skills index JSON for AI discovery
|
||||
- Create migration guide
|
||||
- Tag v1.0-beta.1
|
||||
|
||||
Reference in New Issue
Block a user