一键导入
opencode-skills-maintainer-skill
Scan, validate, and audit OpenCode skills for consistency, redundancy, and modularization opportunities
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Scan, validate, and audit OpenCode skills for consistency, redundancy, and modularization opportunities
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Deploy and troubleshoot Next.js 16+ applications on AWS Amplify Hosting — build spec (amplify.yml), SSR Lambda env-var injection, CloudFront OAC, Route53 DNS, GitHub Actions deploy triggers, post-deploy verification, and rollback strategy
Design and document APIs — REST conventions, OpenAPI/Swagger spec generation, GraphQL schema patterns, API versioning, pagination, rate limiting, error response formats, and HATEOAS
Implement authentication and authorization patterns — OAuth2/OIDC flows, JWT best practices, session management, RBAC/ABAC, NextAuth/Auth.js, Passport.js, password hashing, and CSRF protection
Apply clean architecture principles with vertical slicing, dependency rule, clear layer boundaries, and feature-first organization - language-agnostic
Write clean, human-readable code with proper naming, small functions, self-documenting patterns, and object calisthenics - language-agnostic
Detect and fix code smells including long methods, large classes, feature envy, primitive obsession, and more with refactoring guidance - language-agnostic
| name | opencode-skills-maintainer-skill |
| description | Scan, validate, and audit OpenCode skills for consistency, redundancy, and modularization opportunities |
| license | Apache-2.0 |
| compatibility | opencode |
| metadata | {"audience":"developers","workflow":"maintenance","protocol":"autoresearch-opt-in"} |
I maintain skill consistency, quality, and efficiency by:
skills/ folder to discover all available skillsUse this skill when:
jq tool installed for JSON validationScan the skills/ folder to find all skill directories:
# Find all skill directories
find skills/ -name "SKILL.md" -type f | sort
For each skill, read the frontmatter to extract:
# Extract name and description from frontmatter
for skill_dir in skills/*/; do
echo "=== $(basename "$skill_dir") ==="
head -10 "$skill_dir/SKILL.md" | grep -E "(name:|description:)" | head -2
echo
done
Required Fields:
name: The skill identifierdescription: Brief description of what the skill doescategory, workflow, audience (from metadata section)Check all skills for required fields and valid frontmatter:
# Validate all SKILL.md files
for dir in skills/*/; do
skill_name=$(basename "$dir")
echo "Validating: $skill_name"
# Check for required fields
if ! grep -q "^name:" "$dir/SKILL.md"; then
echo " ❌ Missing 'name:' field"
else
echo " ✓ Has 'name:' field"
fi
if ! grep -q "^description:" "$dir/SKILL.md"; then
echo " ❌ Missing 'description:' field"
else
echo " ✓ Has 'description:' field"
fi
# Validate YAML syntax (requires python3 and pyyaml)
if python3 -c "import yaml; yaml.safe_load(open('$dir/SKILL.md'))" 2>&1; then
echo " ✓ Valid YAML frontmatter"
else
echo " ❌ Invalid YAML frontmatter"
fi
done
Organize skills into logical categories based on naming patterns:
| Category | Pattern | Examples |
|---|---|---|
| Framework | *-framework, *-workflow | linting-workflow, test-generator-framework |
| Git/Workflow | git-*, jira-*, pr-*, ticket-* | ticket-plan-workflow-skill, jira-git-integration |
| OpenTofu/IaC | opentofu-* | opentofu-aws-explorer, opentofu-kubernetes-explorer |
| OpenCode Meta | opencode-* | opencode-agent-creation, opencode-skill-creation |
| Language-Specific | {lang}-*, {framework}-* | python-pytest-creator, nextjs-unit-test-creator |
| Code Quality | *-linter, *-principle, *-generator | python-ruff-linter, docstring-generator |
| Utilities | Other single-purpose | ascii-diagram-creator, tdd-workflow |
Categorization Rule: Match skill name against patterns above. First match wins.
Analyze skills for overlap and optimization opportunities:
Redundancy Detection:
Granularity Assessment:
Analysis Commands:
# Find skills with similar descriptions
grep -h "^description:" skills/*/SKILL.md | sort | uniq -c | sort -nr
# Analyze skill distribution by workflow type
grep -A1 "workflow:" skills/*/SKILL.md | grep "workflow:" | sort | uniq -c
# Check for naming convention compliance
ls skills/ | grep -E "^[a-z0-9]+(-[a-z0-9]+)*$"
Modularization Opportunities:
Create a summary of all skills:
# Skills Maintenance Report
## Skills Found: {total_count}
### Validation Summary
- ✓ Valid skills: {count}
- ❌ Invalid skills: {count}
- ⚠️ Missing optional fields: {count}
### Categories
- Framework Skills: {count}
- Language-Specific Test Generators: {count}
- Language-Specific Linters: {count}
- Project Setup: {count}
- Git/Workflow: {count}
- OpenCode Meta: {count}
- OpenTofu/Infrastructure: {count}
- Code Quality/Documentation: {count}
- Utilities: {count}
### Issues Found (if any)
- [skill-name]: Missing required field 'description'
- [skill-name]: Invalid YAML frontmatter
## Validation
✓ All required fields present
✓ All YAML frontmatter valid
✓ All skills categorized correctly
*-framework, *-workflow){lang}-*, {framework}-*)opencode-*)opentofu-*, git-*, jira-*)name and description in frontmatterIssue: Cannot find SKILL.md in a skill directory
Solution:
# Verify SKILL.md exists for all skills
for dir in skills/*/; do
if [ ! -f "$dir/SKILL.md" ]; then
echo "Missing SKILL.md in: $dir"
fi
done
Issue: SKILL.md has missing or malformed frontmatter
Solution:
# Check for required frontmatter fields
for dir in skills/*/; do
if ! grep -q "^name:" "$dir/SKILL.md"; then
echo "Missing 'name:' field in: $dir/SKILL.md"
fi
if ! grep -q "^description:" "$dir/SKILL.md"; then
echo "Missing 'description:' field in: $dir/SKILL.md"
fi
done
Issue: Python YAML parser fails on SKILL.md
Solution:
After running this skill, verify with these commands:
# Count total skills
find skills/ -name "SKILL.md" -type f | wc -l
# List all skill names
for dir in skills/*/; do
grep "^name:" "$dir/SKILL.md" | head -1
done | sort
# Validate all YAML frontmatter
for dir in skills/*/; do
python3 -c "import yaml; yaml.safe_load(open('$dir/SKILL.md'))" 2>&1 && echo "✓ $(basename $dir)"
done
Verification Checklist:
name fielddescription fieldSkills Found: 46
✓ All required fields present ✓ All YAML frontmatter valid ✓ All skills categorized correctly
When auditing skills for protocol compliance, check:
{"pass", Iterations:, results.tsv, keep/revert, stuck detection, autoresearch) WITHOUT a corresponding autoresearch-core-skill/references/ path citation.metadata.protocol: autoresearch-opt-in MUST be present in frontmatter iff ## Iteration Protocol (opt-in) section is present in body. Flag mismatches in either direction.autoresearch-core-skill/references/<name>.md path cited must resolve to an actual file. Stale citations (renamed/removed references) are flagged.Report findings in standard audit output format with skill path + violation type + suggested fix.
DO NOT execute any of the following unless AUTORESEARCH_PROTOCOL=1 is set in your environment. When unset, this skill behaves exactly as documented in all sections above; the Iteration Protocol block is descriptive only.
When AUTORESEARCH_PROTOCOL=1:
If invoked on an iterative task, prompt ONCE per session: "This looks iterative. Enable autoresearch protocol? (y/n)". Cache answer for session.
Citation-drift check (rule): flag any SKILL.md containing iteration-related keywords ({"pass", Iterations:, results.tsv, keep/revert, stuck detection) WITHOUT a corresponding autoresearch-core-skill/references/ citation. Also verify metadata.protocol: autoresearch-opt-in frontmatter is present iff ## Iteration Protocol section is present. Stuck detection: 3 consecutive audits with same finding → escalate severity. See evaluator-contract.md + stuck-detection.md.
autoresearch-core-skill/references/evaluator-contract.mdautoresearch-core-skill/references/stuck-detection.mdWhen AUTORESEARCH_PROTOCOL is unset, this section is descriptive only. Default behavior is documented in all sections above.