Claude-skill-registry earnings-task-setup
Set up earnings tasks for a ticker with CSV persistence and Claude task tracking
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/earnings-task-setup" ~/.claude/skills/majiayu000-claude-skill-registry-earnings-task-setup && rm -rf "$T"
manifest:
skills/data/earnings-task-setup/SKILL.mdsource content
Earnings Task Setup
Sets up tasks for earnings analysis workflow with:
- CSV persistence (survives across sessions)
- Claude task tracking (within-session dependencies)
Arguments
Expects:
TICKER QUARTER ACCESSION
Example:
AAPL Q1-2024 0000320193-24-000001
If no arguments provided, will prompt for them.
Arguments received: $ARGUMENTS
Workflow Pattern
Wave 1 (parallel): ├── {ticker}-{quarter}-news-impact └── {ticker}-{quarter}-guidance Wave 2 (blocked by Wave 1): └── {ticker}-{quarter}-prediction Wave 3 (blocked by Wave 2): └── {ticker}-{quarter}-attribution
Instructions
Step 1: Parse Arguments
Extract ticker, quarter, and accession from:
$ARGUMENTS
If arguments are missing or empty, use these defaults for testing:
- Ticker: TEST
- Quarter: Q1-2024
- Accession: test-accession-001
Step 2: Check CSV Tracker
Read
earnings-analysis/task-tracker.csv to see current status.
If row doesn't exist for this ticker/quarter/accession, add it:
{ticker},{quarter},{accession},pending,pending,pending,pending,{ISO_TIMESTAMP}
If row exists, check which tasks are still pending.
Step 3: Create Claude Tasks
For each PENDING task (not already completed in CSV), create a Claude task:
Subject: {TICKER}-{QUARTER}-{task_name} Description: {task_description} ActiveForm: {active_form}
Task descriptions:
- news-impact: "Analyze news sentiment and events around {TICKER} {QUARTER} earnings. Accession: {ACCESSION}"
- guidance: "Update cumulative guidance inventory for {TICKER} with {QUARTER} data. Accession: {ACCESSION}"
- prediction: "Predict {TICKER} stock direction at T=0 using PIT data. Accession: {ACCESSION}"
- attribution: "Analyze why {TICKER} moved after {QUARTER} earnings (T+1). Accession: {ACCESSION}"
Step 4: Set Up Dependencies
Use TaskUpdate with addBlockedBy:
- prediction blocked by news-impact AND guidance
- attribution blocked by prediction
Step 5: Output Summary
Write to
earnings-analysis/test-outputs/earnings-task-setup-{TICKER}-{QUARTER}.txt:
EARNINGS TASK SETUP ================== Ticker: {TICKER} Quarter: {QUARTER} Accession: {ACCESSION} Timestamp: {ISO_TIMESTAMP} CSV STATUS (before): - news_impact: {status} - guidance: {status} - prediction: {status} - attribution: {status} CLAUDE TASKS CREATED: - #{id} {TICKER}-{QUARTER}-news-impact [no blockers] - #{id} {TICKER}-{QUARTER}-guidance [no blockers] - #{id} {TICKER}-{QUARTER}-prediction [blocked by #{news_id}, #{guidance_id}] - #{id} {TICKER}-{QUARTER}-attribution [blocked by #{prediction_id}] NEXT STEPS: 1. Execute unblocked tasks (news-impact, guidance can run parallel) 2. After each task completes, run: python -c "from scripts.task_tracker import TaskTracker; TaskTracker().update_status('{TICKER}', '{QUARTER}', '{ACCESSION}', 'TASK_NAME', 'completed')" 3. Mark Claude task as completed with TaskUpdate PARALLEL TASKS AVAILABLE: {list tasks with no blockers}
Step 6: Return Summary
Return a brief summary of:
- How many tasks were created
- Which tasks are ready to execute (no blockers)
- Command to check status:
python scripts/task_tracker.py status