ワンクリックで
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.