‹ 首页

file-todos

@sammyjoyce · 收录于 昨天 · 上游提交 2 个月前

This skill should be used when managing the file-based todo tracking system in the todos/ directory. It provides workflows for creating todos, managing status and dependencies, conducting triage, and integrating with slash commands and code review processes.

适合你,如果习惯用文件系统管理任务和待办事项

/ 通过 npx 安装 校验哈希
npx oh-my-skill add sammyjoyce/pi-compound-engineering/file-todos
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- sammyjoyce/pi-compound-engineering/file-todos
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify sammyjoyce/pi-compound-engineering/file-todos
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
0GitHub stars
~1.6K最小装载
~2.4K含声明引用
~2.4K文本包总量
索引托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · b4eff36

File-Based Todo Tracking Skill

Overview

The todos/ directory contains a file-based tracking system for managing code review feedback, technical debt, feature requests, and work items. Each todo is a markdown file with YAML frontmatter and structured sections.

This skill should be used when:

  • Creating new todos from findings or feedback
  • Managing todo lifecycle (pending → ready → complete)
  • Triaging pending items for approval
  • Checking or managing dependencies
  • Converting PR comments or code findings into tracked work
  • Updating work logs during todo execution
File Naming Convention

Todo files follow this naming pattern:

{issue_id}-{status}-{priority}-{description}.md

Components:

  • issue_id: Sequential number (001, 002, 003...) - never reused
  • status: pending (needs triage), ready (approved), complete (done)
  • priority: p1 (critical), p2 (important), p3 (nice-to-have)
  • description: kebab-case, brief description

Examples:

001-pending-p1-mailer-test.md
002-ready-p1-fix-n-plus-1.md
005-complete-p2-refactor-csv.md
File Structure

Each todo is a markdown file with YAML frontmatter and structured sections. Use the template at [todo-template.md](./assets/todo-template.md) as a starting point when creating new todos.

Required sections:

  • Problem Statement - What is broken, missing, or needs improvement?
  • Findings - Investigation results, root cause, key discoveries
  • Proposed Solutions - Multiple options with pros/cons, effort, risk
  • Recommended Action - Clear plan (filled during triage)
  • Acceptance Criteria - Testable checklist items
  • Work Log - Chronological record with date, actions, learnings

Optional sections:

  • Technical Details - Affected files, related components, DB changes
  • Resources - Links to errors, tests, PRs, documentation
  • Notes - Additional context or decisions

YAML frontmatter fields:

---
status: ready              # pending | ready | complete
priority: p1              # p1 | p2 | p3
issue_id: "002"
tags: [rails, performance, database]
dependencies: ["001"]     # Issue IDs this is blocked by
---
Common Workflows
Creating a New Todo

To create a new todo from findings or feedback:

  1. Determine next issue ID: ls todos/ | grep -o '^[0-9]\+' | sort -n | tail -1
  2. Copy template: cp assets/todo-template.md todos/{NEXT_ID}-pending-{priority}-{description}.md
  3. Edit and fill required sections:
  4. Problem Statement
  5. Findings (if from investigation)
  6. Proposed Solutions (multiple options)
  7. Acceptance Criteria
  8. Add initial Work Log entry
  9. Determine status: pending (needs triage) or ready (pre-approved)
  10. Add relevant tags for filtering

When to create a todo:

  • Requires more than 15-20 minutes of work
  • Needs research, planning, or multiple approaches considered
  • Has dependencies on other work
  • Requires manager approval or prioritization
  • Part of larger feature or refactor
  • Technical debt needing documentation

When to act immediately instead:

  • Issue is trivial (< 15 minutes)
  • Complete context available now
  • No planning needed
  • User explicitly requests immediate action
  • Simple bug fix with obvious solution
Triaging Pending Items

To triage pending todos:

  1. List pending items: ls todos/*-pending-*.md
  2. For each todo:
  3. Read Problem Statement and Findings
  4. Review Proposed Solutions
  5. Make decision: approve, defer, or modify priority
  6. Update approved todos:
  7. Rename file: mv {file}-pending-{pri}-{desc}.md {file}-ready-{pri}-{desc}.md
  8. Update frontmatter: status: pendingstatus: ready
  9. Fill "Recommended Action" section with clear plan
  10. Adjust priority if different from initial assessment
  11. Deferred todos stay in pending status

Use slash command: /triage for interactive approval workflow

Managing Dependencies

To track dependencies:

dependencies: ["002", "005"]  # This todo blocked by issues 002 and 005
dependencies: []               # No blockers - can work immediately

To check what blocks a todo:

grep "^dependencies:" todos/003-*.md

To find what a todo blocks:

grep -l 'dependencies:.*"002"' todos/*.md

To verify blockers are complete before starting:

for dep in 001 002 003; do
  [ -f "todos/${dep}-complete-*.md" ] || echo "Issue $dep not complete"
done
Updating Work Logs

When working on a todo, always add a work log entry:

### YYYY-MM-DD - Session Title

**By:** Claude Code / Developer Name

**Actions:**
- Specific changes made (include file:line references)
- Commands executed
- Tests run
- Results of investigation

**Learnings:**
- What worked / what didn't
- Patterns discovered
- Key insights for future work

Work logs serve as:

  • Historical record of investigation
  • Documentation of approaches attempted
  • Knowledge sharing for team
  • Context for future similar work
Completing a Todo

To mark a todo as complete:

  1. Verify all acceptance criteria checked off
  2. Update Work Log with final session and results
  3. Rename file: mv {file}-ready-{pri}-{desc}.md {file}-complete-{pri}-{desc}.md
  4. Update frontmatter: status: readystatus: complete
  5. Check for unblocked work: grep -l 'dependencies:.*"002"' todos/*-ready-*.md
  6. Commit with issue reference: feat: resolve issue 002
Integration with Development Workflows

| Trigger | Flow | Tool | |---------|------|------| | Code review | /workflows:review → Findings → /triage → Todos | Review agent + skill | | PR comments | /resolve_pr_parallel → Individual fixes → Todos | gh CLI + skill | | Code TODOs | /resolve_todo_parallel → Fixes + Complex todos | Agent + skill | | Planning | Brainstorm → Create todo → Work → Complete | Skill | | Feedback | Discussion → Create todo → Triage → Work | Skill + slash |

Quick Reference Commands

Finding work:

# List highest priority unblocked work
grep -l 'dependencies: \[\]' todos/*-ready-p1-*.md

# List all pending items needing triage
ls todos/*-pending-*.md

# Find next issue ID
ls todos/ | grep -o '^[0-9]\+' | sort -n | tail -1 | awk '{printf "%03d", $1+1}'

# Count by status
for status in pending ready complete; do
  echo "$status: $(ls -1 todos/*-$status-*.md 2>/dev/null | wc -l)"
done

Dependency management:

# What blocks this todo?
grep "^dependencies:" todos/003-*.md

# What does this todo block?
grep -l 'dependencies:.*"002"' todos/*.md

Searching:

# Search by tag
grep -l "tags:.*rails" todos/*.md

# Search by priority
ls todos/*-p1-*.md

# Full-text search
grep -r "payment" todos/
Key Distinctions

File-todos system (this skill):

  • Markdown files in todos/ directory
  • Development/project tracking
  • Standalone markdown files with YAML frontmatter
  • Used by humans and agents

Rails Todo model:

  • Database model in app/models/todo.rb
  • User-facing feature in the application
  • Active Record CRUD operations
  • Different from this file-based system

TodoWrite tool:

  • In-memory task tracking during agent sessions
  • Temporary tracking for single conversation
  • Not persisted to disk
  • Different from both systems above
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。