Skip to content
Development
Command

/progress

Development progress tracker with timestamped entries and intelligent organization

From plugin
claude-cmd
313180 skills180 commands

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/progress

Context preview

What this command does when you run it.

Development progress tracker with timestamped entries and intelligent organization

Command definition

progress.md
allowed-tools: Bash(gdate:*), Bash(date:*), Bash(mkdir:*), Bash(fd:*), Bash(eza:*), Bash(bat:*), Bash(jq:*), Write, Read
name: "Progress"
description: "Development progress tracker with timestamped entries and intelligent organization"
author: "wcygan"
tags: ["workflow","view"]
version: "1.0.0"
created_at: "2025-07-14T00:00:00Z"
updated_at: "2025-07-14T00:00:00Z"

Context

  • Session ID: !`gdate +%s%N 2>/dev/null || date +%s%N 2>/dev/null || echo "$(date +%s)$(jot -r 1 100000 999999 2>/dev/null || shuf -i 100000-999999 -n 1 2>/dev/null || echo $RANDOM$RANDOM)"`
  • Current directory: !`pwd`
  • Progress target: $ARGUMENTS
  • Current date: !`gdate +%Y-%m-%d 2>/dev/null || date +%Y-%m-%d`
  • Current time: !`gdate "+%H:%M:%S %Z" 2>/dev/null || date "+%H:%M:%S %Z"`
  • Existing progress structure: !`fd "progress" . -t d -d 2 2>/dev/null | head -3 || echo "No progress directory found"`
  • Recent progress entries: !`fd "\.md$" ./progress/ -d 3 2>/dev/null | tail -5 || echo "No progress entries found"`
  • Modern tools status: !`echo "fd: $(which fd >/dev/null && echo ✓ || echo ✗) | bat: $(which bat >/dev/null && echo ✓ || echo ✗) | eza: $(which eza >/dev/null && echo ✗ || echo ✗)"`

Your Task

STEP 1: Initialize progress tracking session and determine operation mode

  • CREATE session state file: `/tmp/progress-session-$SESSION_ID.json`
  • ANALYZE user input to determine operation type (record, view, search, stats)
  • VALIDATE progress directory structure exists or needs creation
  • DETECT project type for contextual progress formatting
# Initialize progress session state
echo '{
  "sessionId": "'$SESSION_ID'",
  "operationType": "auto-detect",
  "progressEntry": "'$ARGUMENTS'",
  "projectRoot": "'$(pwd)'",
  "timestamp": "'$(gdate -Iseconds 2>/dev/null || date -Iseconds)'"
}' > /tmp/progress-session-$SESSION_ID.json

STEP 2: Smart operation detection and routing

CASE operation_type: WHEN "record_progress" (default if $ARGUMENTS contains text):

**Progress Entry Recording:**

# Create progress directory structure using modern tools
current_date=$(gdate +%Y-%m-%d 2>/dev/null || date +%Y-%m-%d)
timestamp=$(gdate "+%Y-%m-%d-%H:%M:%S-%Z" 2>/dev/null || date "+%Y-%m-%d-%H:%M:%S-%Z")
iso_timestamp=$(gdate -Iseconds 2>/dev/null || date -Iseconds)

# Ensure progress directory exists
mkdir -p "./progress/$current_date"

# Generate unique progress entry filename
progress_file="./progress/$current_date/$timestamp.md"

echo "📝 Recording progress entry: $progress_file"

WHEN "view_progress" ($ARGUMENTS contains --today, --date, --all, --recent):

**Progress Viewing Operations:**

if [[ "$ARGUMENTS" == *"--today"* ]]; then
    current_date=$(gdate +%Y-%m-%d 2>/dev/null || date +%Y-%m-%d)
    echo "📅 Today's Progress ($current_date):"
    fd "\.md$" "./progress/$current_date/" 2>/dev/null | while read -r file; do
        echo "\n🕐 $(basename "$file" .md)"
        bat "$file" --style=plain 2>/dev/null || cat "$file"
    done
elif [[ "$ARGUMENTS" == *"--recent"* ]]; then
    echo "📊 Recent Progress Entries (Last 10):"
    fd "\.md$" ./progress/ -d 3 2>/dev/null | sort -V | tail -10 | while read -r file; do
        echo "\n📄 $file"
        bat "$file" --style=header 2>/dev/null || head -5 "$file"
    done
fi

WHEN "search_progress" ($ARGUMENTS contains search terms):

**Progress Search Operations:**

echo "🔍 Searching progress entries for: $ARGUMENTS"
if command -v rg >/dev/null 2>&1; then
    rg "$ARGUMENTS" ./progress/ --type md --context 2 --color always 2>/dev/null
else
    fd "\.md$" ./progress/ 2>/dev/null | xargs grep -l "$ARGUMENTS" | while read -r file; do
        echo "\n📄 Found in: $file"
        grep -n "$ARGUMENTS" "$file" 2>/dev/null
    done
fi

STEP 3: Enhanced progress entry creation with intelligent formatting

IF operation_type == "record_progress":

TRY:

**Smart Progress Entry Generation:**

# Detect project context for enhanced formatting
project_type="generic"
if fd "Cargo.toml" . -d 1 >/dev/null 2>&1; then
    project_type="rust"
elif fd "package.json" . -d 1 >/dev/null 2>&1; then
    project_type="node"
elif fd "go.mod" . -d 1 >/dev/null 2>&1; then
    project_type="go"
elif fd "pom.xml" . -d 1 >/dev/null 2>&1; then
    project_type="java"
fi

# Generate contextual progress entry
cat > "$progress_file" << EOF
# Progress Update

**Date**: $current_date
**Time**: $(gdate "+%H:%M:%S %Z" 2>/dev/null || date "+%H:%M:%S %Z")
**Project**: $(basename "$(pwd)")
**Type**: $project_type
**Session**: $SESSION_ID

## Summary

$ARGUMENTS

## Context

- Working directory: $(pwd)
- Git branch: $(git branch --show-current 2>/dev/null || echo "not a git repository")
- Recent changes: $(git log --oneline -1 2>/dev/null || echo "no git history")

## Impact

- [ ] Documentation updated
- [ ] Tests added/updated
- [ ] Performance impact assessed
- [ ] Security considerations reviewed

---
*Generated: $iso_timestamp*
EOF

echo "✅ Progress entry recorded: $progress_file"

**Smart Entry Enhancement:**

# Add project-specific context
if [[ "$project_type" == "rust" ]]; then
    echo "\n## Rust Context\n" >> "$progress_file"
    echo "- Cargo features: $(fd Cargo.toml . -d 1 -x grep "^\[features\]" {} 2>/dev/null || echo 'none')" >> "$progress_file"
    echo "- Dependencies: $(fd Cargo.toml . -d 1 -x grep -c "^[a-zA-Z]" {} 2>/dev/null || echo '0') crates" >> "$progress_file"
elif [[ "$project_type" == "node" ]]; then
    echo "\n## Node.js Context\n" >> "$progress_file"
    echo "- Package manager: $(fd package-lock.json . -d 1 >/dev/null 2>&1 && echo 'npm' || echo 'other')" >> "$progress_file"
    echo "- Scripts available: $(fd package.json . -d 1 -x jq -r '.scripts | keys | length' {} 2>/dev/null || echo '0')" >> "$progress_file"
fi

CATCH (progress_creation_failed):

  • LOG error details to session state
  • PROVIDE fallback progress recording method
  • SUGGEST directory permission fixes if needed
echo "⚠️ Progress entry creat
Read more
Ships withclaude-cmd

A lightweight (~46kB) and comprehensive CLI tool for managing Claude commands, configurations, and workflows.

Get the whole plugin