OpenParable
Skip to content
← Back to skills

Template Optimizer

Documents
template-optimizer

Template Optimizer is an Agent Skill for documents published in the yifanfeng97/Hyper-Extract repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Optimize YAML templates for Hyper-Extract. Use when: "optimize template", "fix YAML issues", "improve quality", "lint template" Trigger: After creating templates or during review Skip: Creating new templates (use brainstorm + designer instead)

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/yifanfeng97/Hyper-Extract/blob/HEAD/hyperextract-skills/template-optimizer/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/template-optimizer, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

Template Optimizer

Automatically analyze and optimize YAML templates by applying best practices and fixing common issues.

Workflow

1. Parse YAML → 2. Analyze Issues → 3. Apply Fixes → 4. Generate Report

Step 1: Parse YAML

Load the YAML template and validate basic structure.

Step 2: Analyze Issues

Check against these rules:

RuleWhat to Check
rules-naming.mdField naming standardization
rules-multilingual.mdLanguage consistency
rules-field-count.mdInformation density
rules-consistency.mdSchema vs Guideline separation
rules-hypergraph-grouping.mdHypergraph grouping strategy

Step 3: Apply Fixes

Apply fixes based on optimization level:

LevelDescriptionExample
Auto-fixSafe changes that always improverelation_type → type
SuggestChanges that may need reviewField count > 5
ReviewDesign decisionsRelation type openness

Step 4: Generate Report

Output changes with explanations for learning.


Detection Rules

Rule 1: Multi-language Consistency

❌ Pattern: [a-zA-Z]+\([^)]+\) in zh fields
❌ Pattern: Chinese chars in en fields

Fix: Separate language content, use pure Chinese in zh, pure English in en.

Rule 2: Field Naming

❌ relation_type → type
❌ event_date → time
❌ entity_type → type

Fix: Standardize to concise names.

Rule 3: Field Count

⚠️ entities.fields > 5 → Flag for review
⚠️ relations.fields > 5 → Flag for review

Fix: Simplify to essential fields, use priority: Essential → Important → Optional.

Rule 4: Schema-Guideline Separation

❌ Repetition of field definitions in guideline
❌ Schema descriptions in rules

Fix: Schema defines WHAT, Guideline defines HOW TO DO WELL.

Rule 5: Hypergraph Grouping

❌ relation_members: participants (string) + role field exists
❌ relation_id contains participant field

Fix: Use nested grouping relation_members: [group_a, group_b] when entities partition by roles.


Design Principles

Schema vs Guideline

Schema DefinesGuideline Defines
Field namesExtraction strategy
Field typesQuality requirements
Field descriptionsCreation conditions
Required/optionalCommon mistakes

❌ Wrong: Guideline repeats schema definitions ✅ Correct: Guideline explains how to extract well

Information Density

For entities and relations:

Field PriorityExamples
Essentialsource, target, participants
Importanttype, time, location
Optionaldescription, metadata

Max: 5 fields per component

Naming Conventions

ForUseExample
Template nameCamelCaseEarningsSummary
Field namessnake_casecompany_name
Tagslowercasefinance, investor

Reference Files

TopicWhen to Check
rules-naming.mdField naming issues
rules-multilingual.mdLanguage consistency
rules-field-count.mdToo many fields
rules-consistency.mdSchema-guideline overlap
rules-hypergraph-grouping.mdRole field vs nested grouping

Output Format

# Optimization Report

## Changes Made

| File | Issue | Fix | Level |
|------|-------|-----|-------|
| template.yaml | `relation_type` | renamed to `type` | Auto-fix |
| template.yaml | Mixed language | Fixed zh/en separation | Auto-fix |
| template.yaml | 7 relation fields | Suggested simplification | Suggest |

## Summary

- Auto-fix: 2
- Suggestions: 1
- Manual review: 0

Integration

Full workflow: brainstorm → designer → optimizer → validator
                           ↓
                    Apply best practices
                    Auto-fix common issues

When to use:

  • After creating new templates
  • Before validator
  • During template review
  • Batch optimization of existing templates