Optimize rfp-import-extractor skill with better architecture#97
Open
seb7152 wants to merge 15 commits into
Open
Optimize rfp-import-extractor skill with better architecture#97seb7152 wants to merge 15 commits into
seb7152 wants to merge 15 commits into
Conversation
Add skill-creator skill to help with creating custom skills for the project. This provides guidance and tools for building effective skills with proper structure, documentation, and bundled resources.
Add comprehensive skill for extracting RFP data from Excel and Word files. Features: - Interactive analysis of file structure - Custom extraction script generation - JSON validation for categories, requirements, and supplier responses - Comprehensive documentation and guidelines - Reusable extraction scripts Components: - SKILL.md: Complete workflow with 5 steps (analyze, discuss, build, validate, save) - scripts/validate_json.py: JSON validator for all data types - references/json_schemas.md: Complete schema definitions with examples - references/analysis_guidelines.md: File analysis patterns and best practices - references/recommended_questions.md: User dialogue guidelines Packaged skill ready for distribution: rfp-import-extractor.skill
Add comprehensive support for tags in requirements extraction. Changes: - Updated json_schemas.md with tags section and validation rules - Added tags to requirements schema and examples - Implemented tag validation in validate_json.py (1-100 chars, non-empty, array) - Updated SKILL.md with tags in quick reference and field mapping examples - Enhanced optional fields questions to include tags extraction guidance - Re-packaged skill with tags support Tags features: - Optional array of strings (tags?: string[]) - Auto-created with random colors - Deduplicated by name (case-sensitive) - Validation: 1-100 characters, non-empty - Use cases: functional areas, priority, status, phases, tech stack Tested: ✅ Validation works correctly for valid and invalid tags
- Refactor SKILL.md: Reduce from 587 to 458 lines by moving Step 3 content to reference - Create script-building-guide.md: Comprehensive 371-line guide for custom extraction scripts - Add extract_requirements_simple_excel.py template: Reusable template for Excel requirements - Add extract_responses_supplier_columns.py template: Reusable template for supplier responses - Update Resources section to document new templates and guides - Package skill as rfp-import-extractor.skill for distribution Changes align with Progressive Disclosure Design Principle - keeping SKILL.md concise while providing comprehensive reference materials and production-ready templates. Improvements: - SKILL.md now <500 lines (conforme aux recommandations) - 2 new reusable extraction templates (280+ lines each) - Better organization with Progressive Disclosure patterns - Enhanced templates with customization points and full documentation 🤖 Generated with Claude Code Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Strict validation improvements: - Remove id field from requirements schema (was perturbing users) - Add strict field validation: reject unknown fields (e.g., "lot", "notes") - Add category_name validation against categories.json file - Add summary table showing requirements count per category Validator enhancements: - Dual-mode support: basic validation or category reference validation - Clear error messages for unknown fields - Category mapping verification (both code and title support) - Pretty-printed summary table on successful validation Schema updates: - Requirements schema now clearly documents allowed fields only - Warning added: do NOT add extra fields - Documentation improved for category validation workflow Documentation: - Update SKILL.md with strict validation and category validation info - Update script-building-guide.md with validator output examples - json_schemas.md clarified with "allowed fields only" note This ensures data quality and prevents common extraction errors like: - Extra fields added by accident - Category mismatches between imports - Unknown fields silently failing 🤖 Generated with Claude Code Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Owner
Author
✨ Validation & Schema EnhancementsJust added critical improvements to validation and data quality: Strict Validation
Category Validation
Schema Clarity
New Validation Mode# Validate requirements against categories
python validate_json.py requirements.json requirements categories.json
# Output includes:
# ✅ Basic structure validation
# ✅ Category reference validation
# 📊 Summary table with counts per categoryThis ensures data quality and prevents common extraction errors! |
Updated skill package includes all recent enhancements: - Strict field validation (reject unknown fields) - Category reference validation against categories.json - Summary table with requirements per category - Improved schema documentation - Enhanced validator with dual-mode support 🤖 Generated with Claude Code Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
…fields - Added STRICT MODE for categories validation (rejects unknown fields) - Ensure short_name, parent_id, order are properly allowed as optional fields - Clarify in JSON schema that optional fields can be safely omitted - Prevents malformed category data from being imported This ensures consistency with requirements validation and maintains data quality for the import process. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- short_name is required in the database (NOT NULL) and displayed in the UI - Updated JSON schema to mark short_name as Required - Added validation in validate_json.py: short_name must be 1-50 characters - Updated script-building-guide.md to generate short_name (can use title abbreviation) - Updated recommended_questions.md to ask about short_name explicitly - Updated field mapping examples to show short_name is required This ensures consistency with the database schema and prevents import failures when short_name is missing. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Added two-pass validation for categories: first checks structure, second validates parent_id references - parent_id must EXACTLY match the id field of the parent category (case-sensitive) - NOT a reference to code or title, only to id field - Updated JSON schema documentation with clear validation rules - Updated script-building-guide with IMPORTANT notes on parent_id validation - Validator now provides list of valid ids in error messages for debugging This ensures category hierarchies are properly validated and prevents invalid references during import. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
… field handling Changes: - Add strict field validation to validate_responses() - rejects unknown fields like categories and requirements do - Verify and document correct status values (pending, pass, partial, fail) from Supabase database constraint - Update json_schemas.md with complete status documentation including French labels (En attente, Conforme, etc.) - Add status mapping examples in script-building-guide.md for handling custom source status values - Update recommended_questions.md with clear guidance on status handling decision and mapping strategy - Add guidance for users on whether to import supplier statuses or assign during evaluation The validator now strictly enforces: - Only 4 valid status values: pending (default), pass, partial, fail - No unknown fields allowed in response objects - Clear error messages for invalid status values 🤖 Generated with Claude Code Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Comprehensive optimization of the rfp-import-extractor skill following Progressive Disclosure Design Principle:
.skillfile for easy sharingTest plan
Key improvements
🤖 Generated with Claude Code