一键导入
google-sheets-progress
Tracks micro-sprint completion state and progress for Google Sheets operations
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Tracks micro-sprint completion state and progress for Google Sheets operations
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | google-sheets-progress |
| version | 1.0.0 |
| category | coordination |
| tags | ["google-sheets","progress-tracking","micro-sprint","state-management"] |
| status | approved |
| author | CFN Team |
| description | Tracks micro-sprint completion state and progress for Google Sheets operations |
| dependencies | ["jq","bash"] |
| created | "2025-11-18T00:00:00.000Z" |
| updated | "2025-11-18T00:00:00.000Z" |
| complexity | Low |
| keywords | ["google-sheets","sprint-tracking","state-persistence","json"] |
| triggers | ["cfn-loop-micro-sprint","progress-monitoring"] |
| performance_targets | {"execution_time_ms":500,"success_rate":0.99} |
Tracks and manages micro-sprint completion state for Google Sheets operations within CFN Loop iterations. Provides persistent state management enabling agents to resume operations after interruptions and coordinate work across multiple sprint phases.
Google Sheets operations often require multiple sequential steps (schema creation, data population, formula application). Without persistent progress tracking, agents cannot resume after failures or coordinate work between sprints. This skill enables micro-sprint checkpointing with recovery capabilities.
track-progress.shRequired Parameters:
--action: read, write, update, reset (default: read)--state-file: Path to progress state file (default: .claude/cfn-extras/.gs-progress-state.json)Optional Parameters (for write/update):
--completed: JSON array of completed sprints, e.g., ["schema_001","data_001"]--current: Current active sprint identifier, e.g., formula_001--remaining: JSON array of remaining sprints, e.g., ["formula_002"]--status: State status (in_progress, completed, blocked, paused)--metadata: Additional JSON metadata to track--task-id: Task ID for coordination contextUsage:
# Read current progress state
./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh \
--action read
# Initialize new sprint 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
# Update after completing a sprint
./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh \
--action update \
--completed '["schema_001"]' \
--current data_001 \
--remaining '["formula_001"]'
# Reset state for retry
./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh \
--action reset
JSON structure managed by skill:
{
"task_id": "cfn-task-20251118-001",
"sprint_sequence": [
"schema_001",
"data_001",
"formula_001"
],
"completed": ["schema_001"],
"current": "data_001",
"remaining": ["formula_001"],
"status": "in_progress",
"timestamps": {
"created": "2025-11-18T10:30:00Z",
"last_updated": "2025-11-18T10:45:30Z",
"started": "2025-11-18T10:30:00Z",
"completed": null
},
"metrics": {
"total_sprints": 3,
"completed_count": 1,
"remaining_count": 1,
"progress_percentage": 33.33,
"estimated_completion": "2025-11-18T11:15:00Z"
},
"metadata": {
"spreadsheet_id": "abc123def456",
"sheet_name": "Operations",
"retry_count": 0,
"last_error": null
}
}
The skill enforces:
[a-z]+_[0-9]{3}in_progress, completed, blocked, pausedAfter each micro-sprint completes:
# Initialize progress for 3-phase operation
./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh \
--action write \
--completed '[]' \
--current schema_001 \
--remaining '["data_001","formula_001"]' \
--status in_progress \
--task-id "$TASK_ID" \
--metadata "{\"spreadsheet_id\": \"$SHEET_ID\", \"source\": \"loop3_agent\"}"
# After schema phase completes
./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh \
--action update \
--completed '["schema_001"]' \
--current data_001 \
--remaining '["formula_001"]'
# After data phase completes
./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh \
--action update \
--completed '["schema_001","data_001"]' \
--current formula_001 \
--remaining '[]'
Read progress for validation context:
# Check what phases are complete
PROGRESS=$(./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh --action read)
COMPLETED=$(echo "$PROGRESS" | jq -r '.completed | length')
TOTAL=$(echo "$PROGRESS" | jq -r '.metrics.total_sprints')
echo "Validator inspecting: $COMPLETED of $TOTAL sprints completed"
Use progress to determine which Loop 3 agents to spawn:
# Get current progress
PROGRESS=$(./.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh --action read)
CURRENT_SPRINT=$(echo "$PROGRESS" | jq -r '.current')
REMAINING=$(echo "$PROGRESS" | jq -r '.remaining | length')
# Only spawn agents if there's remaining work
if [ "$REMAINING" -gt 0 ]; then
echo "Spawning agents for remaining $REMAINING sprints"
# Coordinator logic
fi
The script outputs structured JSON:
{
"success": true,
"action": "read",
"confidence": 0.98,
"state": {
"completed": ["schema_001"],
"current": "data_001",
"remaining": ["formula_001"],
"status": "in_progress"
},
"metrics": {
"progress_percentage": 33.33,
"execution_time_ms": 45
},
"deliverables": [".claude/cfn-extras/.gs-progress-state.json"],
"errors": []
}
Skill handles these error scenarios:
State files are stored in:
.claude/cfn-extras/.gs-progress-state.json.claude/cfn-extras/.gs-progress-${TASK_ID}.json.backups/gs-progress/[timestamp]_[hash].json--action update for multi-field changes--task-id to scope state to specific tasks--action reset at completion to prepare for next task❌ Partial state updates: Updating only some fields manually ❌ File direct manipulation: Editing JSON file directly instead of using script ❌ Stale state assumptions: Not reading current state before updating ❌ Missing task context: Not including task-id for multi-task scenarios ❌ No validation: Assuming state is always well-formed
The skill includes comprehensive test coverage:
# Run all tests
./.claude/cfn-extras/skills/google-sheets-progress/test.sh
# Run specific test
./.claude/cfn-extras/skills/google-sheets-progress/test.sh --test write_action
# Validate dependencies
./.claude/cfn-extras/skills/google-sheets-progress/validate.sh
.claude/commands/CFN_LOOP_TASK_MODE.md.claude/skills/cfn-automatic-memory-persistence/SKILL.md.claude/skills/cfn-coordination/SKILL.mddocs/AGENT_OUTPUT_STANDARDS.mdTiered planning orchestrator. Runs the full SPARC+ pipeline (research, spec, decide, pseudo, data, arch, ux, design, test, ops) as a parallel DAG, scaled by build stage (mvp/beta/enterprise) via inclusion profiles. Enforces two gates: every success criterion is executable (verifiable-done) and every step is unambiguous (haiku-executable). Use as the entry point for any non-trivial build instead of cfn-spa-plan.
Post-planning completeness review. Extracts assumptions, traces dependencies, analyzes blast radius, checks alpha-readiness, surfaces gaps before implementation. Use after writing any plan that touches data, APIs, or shared state.
SPARC Specification phase. Make testable acceptance criteria, edge cases, pre/post conditions, invariants BEFORE planning implementation. Use when starting any non-trivial task to lock intent, surface ambiguity early.
Test-strategy phase of cfn-megaplan. Designs test depth properly: fixtures/test-data, the unit/integration/contract/e2e/load split, mocking strategy, and non-functional tests, instead of lumping everything into a vague red phase. Feeds Bar A (verifiable-done): every acceptance criterion becomes a concrete runnable check. Use after cfn-spec, cfn-arch, and (if frontend) cfn-ux.
Pre-edit backup + post-edit validation for safe file edits. Use to capture file state before edits, validate changes after edits, revert files to prior state, or ensure edit safety via auto backup/validation hooks.
Extract complete Redis coordination data from completed CFN Loop tasks and structure into comprehensive JSON analysis files