用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Hack23/riksdagsmonitor --skill cis-controls命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Master GitHub Agentic Workflows authoring - markdown syntax, natural language instructions, YAML frontmatter, compilation, and workflow patterns
Comprehensive expertise in GitHub Agentic Workflows (v0.68.1) — AI-powered repository automation with five-layer security, safe outputs, MCP tools, and Continuous AI patterns
Comprehensive guide for MCP (Model Context Protocol) server setup, transport protocols, configuration validation, lifecycle management, tool discovery, and error handling patterns
正在显示 SKILL.md
基于 SOC 职业分类
| name | cis-controls |
| description | CIS Controls v8.1 critical security controls for static HTML/CSS websites on GitHub Pages |
| license | Apache-2.0 |
Apply the AI FIRST principle: never accept first-pass quality. Minimum 2 iterations. Read all output, improve every section. No shortcuts.
Implement prioritized CIS Controls for Riksdagsmonitor's static HTML/CSS website, focusing on controls applicable to static site hosting on GitHub Pages.
Static Site Context:
Implementation:
# Document in ARCHITECTURE.md
Assets:
- Repository: Hack23/riksdagsmonitor (GitHub)
- Hosting: GitHub Pages CDN
- Domain: riksdagsmonitor.com
- DNS: GitHub Pages DNS
- Languages: 14 HTML files (index.html, index_sv.html, etc.)
- Styles: styles.css (107KB)
Static Site Context:
Implementation:
// package.json - Track all MCP dependencies
{
"dependencies": {
"riksdag-regering-mcp": "^1.0.0",
"@modelcontextprotocol/server-filesystem": "latest",
"@modelcontextprotocol/server-memory": "latest",
"@playwright/mcp": "latest"
}
}
Static Site Context:
Implementation:
<!-- All links use HTTPS -->
<a href="https://www.hack23.com/cia/" rel="noopener noreferrer">CIA Platform</a>
<!-- No data collection -->
<!-- No cookies, no analytics, no user tracking -->
<!-- Security headers configured in GitHub Pages -->
Static Site Context:
Implementation:
# .github/workflows/deploy.yml
name: Deploy
# Minimal permissions
permissions:
contents: read
pages: write
id-token: write
# Security headers enforced via GitHub Pages
# Additional headers via _headers file (if supported)
Security Headers:
# _headers (Netlify-style, adapt for GitHub Pages alternatives)
/*
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Referrer-Policy: no-referrer
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Content-Security-Policy: default-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; frame-ancestors 'none';
Static Site Context:
Implementation:
# Review GitHub organization members
gh api orgs/Hack23/members --jq '.[] | {login, role}'
# Review repository collaborators
gh api repos/Hack23/riksdagsmonitor/collaborators --jq '.[] | {login, permissions}'
# Audit access logs
gh api orgs/Hack23/audit-log --jq '.[] | select(.action == "repo.access")'
Static Site Context:
Implementation:
# Branch protection rules for main branch
protections:
- required_pull_request_reviews:
required_approving_review_count: 1
- required_signatures: true
- enforce_admins: true
- restrictions:
users: []
teams: ["security-team"]
Static Site Context:
Implementation:
# Query GitHub audit logs
gh api /orgs/Hack23/audit-log \
--jq '.[] | select(.repo == "Hack23/riksdagsmonitor") | {created_at, action, actor}'
# Review workflow runs
gh run list --repo Hack23/riksdagsmonitor --limit 100
# Download workflow logs
gh run view <run-id> --log --repo Hack23/riksdagsmonitor
Static Site Context:
Implementation:
# .github/workflows/security-scanning.yml
name: Security Scanning
on: [push, pull_request]
jobs:
scan:
runs-on: ubuntu-latest
permissions:
security-events: write
steps:
- uses: actions/checkout@v4
# Scan for malware in committed files
- name: Malware Scanner
uses: dell/common-github-actions/malware-scanner@main
# CodeQL for any JavaScript
- name: CodeQL Analysis
uses: github/codeql-action/init@v3
with:
languages: javascript
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
Static Site Context:
Implementation:
# Backup repository (automated via git)
git clone --mirror https://github.com/Hack23/riksdagsmonitor.git
tar -czf riksdagsmonitor-backup-$(date +%Y%m%d).tar.gz riksdagsmonitor.git
# Restore from backup
git clone riksdagsmonitor.git riksdagsmonitor-restored
cd riksdagsmonitor-restored
git remote set-url origin https://github.com/Hack23/riksdagsmonitor.git
Static Site Context:
Implementation:
Static Site Context:
Implementation:
Static Site Context:
Implementation:
# .github/workflows/quality-checks.yml
name: Quality Checks
on: [push, pull_request]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# HTML validation
- name: Validate HTML
run: |
npm install -g htmlhint
htmlhint *.html
# CSS validation
- name: Validate CSS
run: |
npm install -g csslint
csslint styles.css
# Link checking
- name: Check Links
run: |
npm install -g linkinator
python3 -m http.server 8080 &
sleep 5
linkinator http://localhost:8080/ --recurse
# Dependency scanning
- name: Dependency Check
uses: dependency-check/Dependency-Check_Action@main
with:
project: 'riksdagsmonitor'
path: '.'
format: 'HTML'
Static Site Context:
Implementation:
# SECURITY.md
## Security Policy
### Reporting a Vulnerability
Contact: security@hack23.com
Response time: Within 48 hours
### Incident Response Process
1. Assessment (4 hours)
2. Containment (8 hours)
3. Eradication (24 hours)
4. Recovery (48 hours)
5. Post-incident review (7 days)
Static Site Context:
Implementation:
# SSL Labs scan
curl -X GET "https://api.ssllabs.com/api/v3/analyze?host=riksdagsmonitor.com"
# Security Headers scan
curl -I https://riksdagsmonitor.com | grep -E "X-Frame-Options|X-Content-Type-Options|Strict-Transport-Security"
# OWASP ZAP baseline scan
docker run -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-baseline.py \
-t https://riksdagsmonitor.com \
-r zap-report.html
IG1 (Implementation Group 1) - Essential
IG2 - Enhanced
IG3 - Advanced