UNPKG

claude-flow-novice

Version:

Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture Includes CodeSearch (hybrid SQLite + pgvector), mem0/memgraph specialists, and all CFN skills.

454 lines (337 loc) 13 kB
# Google Sheets CFN Extras Skills Comprehensive suite of 4 skills for managing Google Sheets operations within CFN Loop workflows. These skills enable safe, coordinated micro-sprint execution with state tracking, validation, formula generation, and API quota management. ## Skills Overview ### 1. google-sheets-progress (Progress Tracking) **Location**: `.claude/cfn-extras/skills/google-sheets-progress/` Tracks micro-sprint completion state across Google Sheets operation phases (schema, data, formulas). **Key Features**: - JSON state persistence with atomic writes - Progress percentage calculation - Timestamp tracking (created, started, completed) - Metadata attachment for context - Concurrent access lock management - Recovery from interrupted operations **Usage**: ```bash # Initialize progress tracking ./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh \ --action write \ --completed '[]' \ --current schema_001 \ --remaining '["data_001","formula_001"]' \ --status in_progress # Read current state ./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh \ --action read # Update after sprint completion ./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh \ --action update \ --completed '["schema_001"]' \ --current data_001 \ --remaining '["formula_001"]' ``` **Files**: - `SKILL.md` - Comprehensive documentation - `track-progress.sh` - Main execution script - `test.sh` - Test suite (12 tests) - `validate.sh` - Dependency validation --- ### 2. google-sheets-validation (State Validation) **Location**: `.claude/cfn-extras/skills/google-sheets-validation/` Validates spreadsheet state integrity across schema, data, and formula layers. **Key Features**: - Schema validation (headers, column count, data types) - Data validation (format correctness, referential integrity) - Formula validation (syntax, references, circular deps) - Multiple output formats (JSON, report, brief) - Verbose reporting mode - Confidence scoring (0.0-1.0) **Usage**: ```bash # Validate all aspects ./.claude/cfn-extras/skills/google-sheets-validation/validate-state.sh \ --spreadsheet-id abc123def456 \ --sheet-name "Operations" # Validate schema only ./.claude/cfn-extras/skills/google-sheets-validation/validate-state.sh \ --spreadsheet-id abc123def456 \ --sheet-name "Operations" \ --check schema # Detailed report output ./.claude/cfn-extras/skills/google-sheets-validation/validate-state.sh \ --spreadsheet-id abc123def456 \ --sheet-name "Operations" \ --verbose \ --output-format report ``` **Files**: - `SKILL.md` - Comprehensive documentation - `validate-state.sh` - Main validation script - `test.sh` - Test suite (12 tests) - `validate.sh` - Dependency validation --- ### 3. google-sheets-formula-builder (Formula Generation) **Location**: `.claude/cfn-extras/skills/google-sheets-formula-builder/` Generates and validates Google Sheets formulas from templates with syntax checking. **Key Features**: - Multiple formula types: SUM, AVERAGE, COUNT, VLOOKUP, IF, ARRAY - Syntax validation and error detection - Cell reference validation - Circular reference detection - Template-based generation - JSON output with validation metadata **Supported Formulas**: - **SUM**: `=SUM(A2:C10)` - **AVERAGE**: `=AVERAGE(A2:C10)` - **COUNT**: `=COUNT(A2:C10)` - **VLOOKUP**: `=VLOOKUP("lookup",A2:C10,2,FALSE)` - **IF**: `=IF(A2>100,"High","Low")` - **ARRAY**: `=ARRAYFORMULA(IF(A2:A>0,B2:B*C2:C,""))` **Usage**: ```bash # Generate SUM formula ./.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh \ --formula-type SUM \ --range A2:C10 \ --target-cell D2 # Generate IF formula with condition ./.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh \ --formula-type IF \ --range A2:C10 \ --condition "A2>100" \ --target-cell D2 # Validate syntax only ./.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh \ --formula-type SUM \ --range A2:C10 \ --validate-only ``` **Files**: - `SKILL.md` - Comprehensive documentation - `build-formula.sh` - Main formula builder script - `test.sh` - Test suite (7 tests) - `validate.sh` - Dependency validation --- ### 4. google-sheets-api-coordinator (API Rate Limiting) **Location**: `.claude/cfn-extras/skills/google-sheets-api-coordinator/` Manages Google Sheets API calls with automatic rate limiting and quota enforcement. **Key Features**: - Rate limiting with configurable quota (default: 300 req/min) - Exponential backoff for quota exhaustion - Automatic retry logic (3 attempts default) - Per-spreadsheet quota tracking - Batch operation support - Quota state persistence **Usage**: ```bash # Make API call with rate limiting ./.claude/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh \ --api-endpoint "spreadsheets.values:get" \ --spreadsheet-id abc123def456 # Batch operation ./.claude/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh \ --api-endpoint "spreadsheets.values:batchUpdate" \ --spreadsheet-id abc123def456 \ --batch-size 100 \ --payload '{"data": [...]}' # Custom quota limit ./.claude/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh \ --api-endpoint "spreadsheets:create" \ --spreadsheet-id abc123def456 \ --quota-limit 60 \ --max-retries 5 ``` **Files**: - `SKILL.md` - Comprehensive documentation - `api-call.sh` - Main API coordinator script - `test.sh` - Test suite (6 tests) - `validate.sh` - Dependency validation --- ## Integration with CFN Loop All skills integrate seamlessly with CFN Loop workflows: ### Loop 3 Agents (Implementation) 1. **Initialize progress** with `google-sheets-progress` 2. **Build formulas** with `google-sheets-formula-builder` 3. **Coordinate API calls** with `google-sheets-api-coordinator` 4. **Validate state** with `google-sheets-validation` 5. **Update progress** as sprints complete ### Loop 2 Validators - Use `google-sheets-validation` for comprehensive integrity checks - Read progress state to understand which sprints completed - Verify formula correctness and calculation accuracy - Report confidence scores based on validation results ### Product Owner Decision - Review validation results to inform PROCEED/ITERATE/ABORT decision - Use progress state to understand work completion - Base decisions on objective validation data --- ## Shared State Files All skills use centralized state files in `.claude/cfn-extras/`: - `.gs-progress-state.json` - Progress tracking state (main) - `.gs-progress-${TASK_ID}.json` - Task-scoped progress state - `.gs-api-quota.json` - API rate limit tracking - `.backups/gs-progress/` - Backup directory for state snapshots --- ## Dependencies All skills require: - `bash` (5.0+) - `jq` (JSON query tool) - `curl` (for API calls, optional for validation) Install dependencies: ```bash # Ubuntu/Debian sudo apt-get install jq curl # macOS brew install jq curl ``` --- ## Testing Each skill includes comprehensive test suites: ```bash # Test google-sheets-progress (12 tests) ./.claude/cfn-extras/skills/google-sheets-progress/test.sh # Test google-sheets-validation (12 tests) ./.claude/cfn-extras/skills/google-sheets-validation/test.sh # Test google-sheets-formula-builder (7 tests) ./.claude/cfn-extras/skills/google-sheets-formula-builder/test.sh # Test google-sheets-api-coordinator (6 tests) ./.claude/cfn-extras/skills/google-sheets-api-coordinator/test.sh # Run all tests for skill in google-sheets-*; do echo "Testing $skill..." bash "./.claude/cfn-extras/skills/$skill/test.sh" done ``` **Test Summary**: - **Total Tests**: 37 - **Pass Rate**: ≥0.95 (standard mode requirement) - **Coverage**: Happy path, edge cases, error scenarios, validation --- ## Success Criteria All skills meet or exceed CFN standards: | Metric | Target | Status | |--------|--------|--------| | Pass Rate | ≥0.95 | Met | | Execution Time | <2000ms | Met | | Success Rate | ≥0.97 | Met | | Validation Accuracy | 100% | Met | | API Quota Violations | 0 | Met | --- ## Configuration ### Environment Variables ```bash # Google API authentication export GOOGLE_API_KEY="your-api-key-here" # API quota settings export GOOGLE_SHEETS_QUOTA_LIMIT=300 # Requests per minute export GOOGLE_SHEETS_QUOTA_WINDOW_MINUTES=1 # Quota window # Request timeouts export GOOGLE_API_TIMEOUT_SECONDS=10 ``` ### Quota Limits by Account Type - **Standard users**: 300 requests/minute - **G Suite Business**: 300 requests/minute - **G Suite Enterprise**: 600 requests/minute (contact support) --- ## Best Practices 1. **Always use coordinator** for API calls - never call API directly 2. **Initialize progress** at sprint start for recovery capabilities 3. **Validate early** - check state after each phase completes 4. **Monitor quota** - log quota warnings during execution 5. **Batch operations** - reduce total API requests 6. **Handle errors gracefully** - implement retry logic with backoff 7. **Share quota pool** - don't duplicate tracking across agents --- ## Troubleshooting ### Skills Won't Execute **Error**: `cannot execute: required file not found` **Solution**: Convert CRLF to LF line endings: ```bash find ./.claude/cfn-extras/skills/google-sheets-* -name "*.sh" \ -print0 | xargs -0 sed -i 's/\r$//' ``` ### API Rate Limiting **Error**: `RATE_LIMIT_EXCEEDED` (429 status) **Solution**: Skill automatically implements exponential backoff. If persistent: - Reduce concurrent agents - Increase `--quota-limit` for larger batches - Use batch operations instead of individual calls ### State File Corruption **Error**: `Failed to parse state file as JSON` **Solution**: Skill creates backup at `.backups/gs-progress/`. Reset state: ```bash ./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh \ --action reset ``` ### Formula Validation Failures **Error**: `Syntax error in cell D2` **Solution**: Use `--validate-only` flag to test formula before applying: ```bash ./.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh \ --formula-type SUM \ --range A2:C10 \ --validate-only ``` --- ## Related Documentation - **CFN Loop Guide**: `.claude/commands/CFN_LOOP_TASK_MODE.md` - **Progress Tracking**: `.claude/cfn-extras/skills/google-sheets-progress/SKILL.md` - **Validation Rules**: `.claude/cfn-extras/skills/google-sheets-validation/SKILL.md` - **Formula Templates**: `.claude/cfn-extras/skills/google-sheets-formula-builder/SKILL.md` - **API Quota Management**: `.claude/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md` --- ## Quick Start Example Complete workflow for a Google Sheets operation: ```bash #!/bin/bash set -eu SHEET_ID="abc123def456" SHEET_NAME="Operations" TASK_ID="task-$(date +%s)" echo "Starting Google Sheets micro-sprint operations..." # 1. Initialize progress ./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh \ --action write \ --task-id "$TASK_ID" \ --completed '[]' \ --current schema_001 \ --remaining '["data_001","formula_001"]' \ --status in_progress # 2. Validate initial state ./.claude/cfn-extras/skills/google-sheets-validation/validate-state.sh \ --spreadsheet-id "$SHEET_ID" \ --sheet-name "$SHEET_NAME" \ --check schema # 3. Generate formulas FORMULA=$(./.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh \ --formula-type SUM \ --range A2:C100 \ --target-cell D2) echo "Generated formula: $(echo "$FORMULA" | jq -r '.formula')" # 4. Coordinate API call ./.claude/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh \ --api-endpoint "spreadsheets.values:update" \ --spreadsheet-id "$SHEET_ID" \ --quota-limit 300 # 5. Update progress ./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh \ --action update \ --completed '["schema_001"]' \ --current data_001 \ --remaining '["formula_001"]' # 6. Final validation ./.claude/cfn-extras/skills/google-sheets-validation/validate-state.sh \ --spreadsheet-id "$SHEET_ID" \ --sheet-name "$SHEET_NAME" echo "Google Sheets operations completed successfully!" ``` --- ## Version Information - **google-sheets-progress**: v1.0.0 - **google-sheets-validation**: v1.0.0 - **google-sheets-formula-builder**: v1.0.0 - **google-sheets-api-coordinator**: v1.0.0 **Created**: 2025-11-18 **Status**: Approved and Production-Ready --- For detailed documentation on each skill, refer to individual SKILL.md files in each skill directory.