google-sheets-formula-builder
Constructs and validates Google Sheets formulas from templates with syntax checking
$ Instalar
git clone https://github.com/masharratt/claude-flow-novice /tmp/claude-flow-novice && cp -r /tmp/claude-flow-novice/.claude/cfn-extras/skills/google-sheets-formula-builder ~/.claude/skills/claude-flow-novice// tip: Run this command in your terminal to install the skill
name: google-sheets-formula-builder version: 1.0.0 category: coordination tags: [google-sheets, formulas, templates, formula-validation] status: approved author: CFN Team description: Constructs and validates Google Sheets formulas from templates with syntax checking dependencies: [jq, bash] created: 2025-11-18 updated: 2025-11-18 complexity: Medium keywords: [formula-generation, formula-validation, sheets-api, syntax-validation] triggers: [loop-3-formula-application, formula-creation, data-calculation] performance_targets: execution_time_ms: 1000 success_rate: 0.98
Google Sheets Formula Builder Skill
Purpose
Constructs Google Sheets formulas from templates and validates syntax before application. Enables safe formula generation with type checking, cell reference validation, and error prevention.
Problem Solved
Manual formula creation is error-prone. Formulas with syntax errors, invalid references, or circular logic cause cascading failures in spreadsheets. This skill provides template-based formula generation with comprehensive validation ensuring only correct formulas are applied.
When to Use
- During formula application sprint phase
- When generating aggregate calculations (SUM, AVERAGE, COUNT)
- For conditional logic (IF, IFS, SWITCH)
- When building lookup operations (VLOOKUP, INDEX/MATCH)
- For array formula generation
- Before applying formulas to production sheets
Interface
Primary Script: build-formula.sh
Required Parameters:
--formula-type: Type of formula to build: SUM, AVERAGE, VLOOKUP, IF, ARRAY (required)--range: Cell range for formula, e.g., A2:C10--target-cell: Target cell for formula placement, e.g., D2
Optional Parameters:
--condition: Condition for IF formulas, e.g., "A2>100"--criteria: Criteria for formula, e.g., "Status=Complete"--output-only: Output formula only, don't apply (default: true)--validate-only: Validate formula syntax without applying
Usage:
# 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
./.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh \
--formula-type IF \
--range A2:C10 \
--condition "A2>100" \
--target-cell D2
# Generate VLOOKUP formula
./.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh \
--formula-type VLOOKUP \
--range A2:C10 \
--criteria "Lookup" \
--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
Supported Formula Types
SUM
Sums values in a range with optional conditions.
{
"type": "SUM",
"formula": "=SUM(A2:C10)",
"description": "Sum of range A2:C10",
"complexity": "basic"
}
AVERAGE
Calculates average of values in range.
{
"type": "AVERAGE",
"formula": "=AVERAGE(A2:C10)",
"description": "Average of range A2:C10",
"complexity": "basic"
}
VLOOKUP
Looks up value in first column of range.
{
"type": "VLOOKUP",
"formula": "=VLOOKUP(\"Lookup\",A2:C10,2,FALSE)",
"description": "Lookup value in range",
"complexity": "intermediate"
}
IF
Conditional formula with true/false branches.
{
"type": "IF",
"formula": "=IF(A2>100,\"High\",\"Low\")",
"description": "If A2>100 then High else Low",
"complexity": "intermediate"
}
ARRAY
Array formula with multiple return values.
{
"type": "ARRAY",
"formula": "=ARRAYFORMULA(IF(A2:A>0,B2:B*C2:C,\"\"))",
"description": "Array formula calculating range",
"complexity": "advanced"
}
Output Format
{
"success": true,
"confidence": 0.96,
"formula": "=SUM(A2:C10)",
"formula_type": "SUM",
"target_cell": "D2",
"syntax_valid": true,
"validation": {
"syntax": true,
"references": true,
"circular_refs": false,
"error_cells": 0
},
"deliverables": ["formula_definition"],
"errors": []
}
Validation Rules
- Syntax validation - Formula parses correctly
- Reference validation - Cell references exist and are valid
- Circular reference detection - No self-referencing formulas
- Type checking - Function arguments match expected types
- Range validation - Ranges are properly formatted
- Function existence - All functions are Google Sheets functions
Integration with CFN Loop
Loop 3 Agents (Formula Phase)
# Generate formula
FORMULA=$(./.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh \
--formula-type SUM \
--range A2:C100 \
--target-cell D2)
# Validate formula
if echo "$FORMULA" | jq -e '.syntax_valid == true' >/dev/null; then
echo "Formula generated and validated successfully"
else
echo "Formula validation failed"
fi
Loop 2 Validators
# Review generated formulas
VALIDATION=$(./.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh \
--formula-type VLOOKUP \
--range A2:C100 \
--validate-only)
if echo "$VALIDATION" | jq -e '.validation.syntax == true' >/dev/null; then
echo "Formula syntax valid, passing validation"
fi
Best Practices
- Validate before applying - Always validate formula syntax first
- Use templates - Leverage formula templates for consistency
- Test ranges - Verify cell ranges exist before formula generation
- Document formulas - Include comment explaining complex formulas
- Version formulas - Track formula changes in progress state
Anti-Patterns
❌ Manual formula strings - Always use builder script ❌ Skipping validation - Always validate before applying ❌ Hardcoded ranges - Use parameterized ranges ❌ Complex nested formulas - Break into helper columns ❌ No error handling - Check for error cells in results
Success Criteria
- Pass rate: ≥0.98 (standard mode)
- Syntax accuracy: 100% correct Google Sheets syntax
- Reference validation: 0 false negatives on invalid references
- Performance: Formula generation <1000ms
- Error detection: Catches all syntax errors
References
- Google Sheets API: https://developers.google.com/sheets/api/reference/rest
- Formula Validation:
google-sheets-validationskill - CFN Loop Guide:
.claude/commands/CFN_LOOP_TASK_MODE.md
Repository
