
overnight-tasks
by Eddale
SKILL.md
name: overnight-tasks version: 1.4.0 description: Scan skill roadmaps and output Web-agent-ready task prompts for autonomous overnight work. Use when "prep overnight tasks", "what can run tonight", "overnight-ready tasks", "autonomous tasks". tools:
- Glob
- Grep
- Read
- Write
- TaskCreate
- TaskUpdate
- TaskList triggers:
- prep overnight tasks
- what can run tonight
- overnight-ready tasks
- autonomous tasks
- scan roadmaps
Overnight Tasks - Skill Instructions
You scan skill roadmaps and identify tasks that can run autonomously overnight via Claude Code Web agents.
Phase 1: Scan Roadmaps
-
Find all roadmaps:
# Pattern: skills/*/docs/ROADMAP.md -
For each roadmap, extract unchecked items from "Planned" sections:
- Look for
- [ ]patterns - Capture the item title and any description below it
- Note the skill name from the path
- Look for
Phase 2: Classify Each Item
Apply the overnight-readiness criteria:
Overnight-Ready (Autonomous)
Mark as ready if the item is:
| Pattern | Example |
|---|---|
| Pure code with clear spec | "Add --flag that does X" |
| API integration with docs | "Integrate with X API" |
| Research task | "Research X options" |
| Refactor with clear scope | "Extract X into shared module" |
| Bug fix with reproduction | "Fix X when Y happens" |
| Test coverage | "Add tests for X" |
Needs Ed (Interactive)
Mark as needs-ed if the item involves:
| Pattern | Example |
|---|---|
| UX/behavior decisions | "Add confirmation preview" (what to show?) |
| Content/tone judgment | "Flag concerns" (what counts?) |
| Architecture changes | "v2.0: Write capabilities" (big design) |
| Ambiguous scope | "Improve X" (improve how?) |
| Voice/style choices | "Make it sound more natural" |
When uncertain, default to needs-ed.
Phase 2.5: Estimate Complexity
For each overnight-ready item, estimate complexity by examining the skill folder.
Step 1: Read the Skill Structure
# List the skill's folder structure
ls -la skills/[skill-name]/
ls -la skills/[skill-name]/tools/ # if exists
ls -la skills/[skill-name]/docs/
Identify:
- How many files exist in the skill
- What types of files (Python tools, prompts, configs)
- Dependencies mentioned in SKILL.md or README.md
Step 2: Apply Complexity Criteria
| Complexity | File Impact | Design Decisions | Dependencies |
|---|---|---|---|
| Low | 1 file change | Clear spec, no decisions | No new dependencies |
| Medium | 2-3 files | Some design choices, isolated feature | Uses existing deps only |
| High | 4+ files | Architectural changes, new patterns | New dependencies or APIs |
Examples by complexity:
| Low | Medium | High |
|---|---|---|
| Add a flag to existing tool | New tool that integrates with existing | New external API integration |
| Fix a specific bug | Refactor shared module | Architecture overhaul |
| Add test for existing function | New prompt template + tool | Multi-skill coordination |
| Update documentation | Add new output format | v2.0 rewrites |
Step 3: Identify Files Likely Touched
Based on the task description and skill structure, list specific files:
**Files likely touched:**
- `SKILL.md` - Add new phase/instructions
- `tools/existing_tool.py` - Modify function X
- `docs/README.md` - Update documentation
Be specific. Don't list every file in the skill - list only files the task will actually modify.
Inference rules:
- "Add flag to X tool" → touches
tools/X.py+ SKILL.md (if behavior changes) - "New output format" → touches SKILL.md (output section) + any tools that generate output
- "Refactor X" → read existing code to identify all files containing X
- "Add tests" → touches existing test files or creates new ones
Phase 3: Format Output
Summary Table
Start with a count and overview table:
## Overnight Task Scan
Found X overnight-ready tasks across Y skills.
Z items need your input before they can run autonomously.
| Skill | Task | Complexity |
|-------|------|------------|
| [skill-1] | [item title] | Low |
| [skill-2] | [item title] | Medium |
| [skill-3] | [item title] | Low |
This gives Ed a quick glance at all overnight-ready work before the detailed prompts.
Ready Tasks
For each overnight-ready item, output a formatted prompt block:
### [Skill Name]: [Item Title]
**Complexity:** Low / Medium / High
**Files likely touched:** [list key files]
---
**Claude Code Web Prompt:**
> Implement [specific feature] in the [skill-name] skill.
>
> Context:
> - Skill location: `skills/[skill-name]/`
> - Current behavior: [what exists now]
> - Desired behavior: [what should change]
>
> Requirements:
> - [Specific requirement 1]
> - [Specific requirement 2]
> - [Specific requirement 3]
>
> Testing:
> - [How to verify it works]
>
> Branch: `feature/[kebab-case-item-name]`
> Commit message prefix: `feat([skill-name]):`
---
Needs-Ed Items
List items that need clarification:
## Items Needing Your Input
These roadmap items can't run autonomously yet. Clarify the requirements to make them overnight-ready.
| Skill | Item | Why It Needs You |
|-------|------|------------------|
| [skill] | [item] | [UX decision / Ambiguous scope / etc.] |
Phase 4: Priority Recommendation
Recommend 5 tasks to run in parallel. Each runs in a separate claude.ai/code browser tab.
## Tonight's 5
Run these in parallel (5 browser tabs on claude.ai/code):
| # | Skill | Task | Complexity | Why Tonight |
|---|-------|------|------------|-------------|
| 1 | [skill] | [item] | Low | [reason] |
| 2 | [skill] | [item] | Low | [reason] |
| 3 | [skill] | [item] | Medium | [reason] |
| 4 | [skill] | [item] | Low | [reason] |
| 5 | [skill] | [item] | Medium | [reason] |
**Parallel execution tip:** Open 5 tabs, paste one prompt per tab, hit Enter on each. They run simultaneously while you sleep.
Prioritize by:
- Low complexity first (quick wins, easy to verify)
- Independent tasks (no dependencies between them)
- Spread across different skills (reduces merge conflicts)
Phase 5: Save Overnight Log to Zettelkasten
After presenting the tasks to Ed, save a log file to Zettelkasten:
Filename: Overnight Tasks - YYYY-MM-DD.md
Location: ~/Documents/COPYobsidian/MAGI/Zettelkasten/
Template
---
type: overnight-log
date: YYYY-MM-DD
status: pending
---
# Overnight Tasks - YYYY-MM-DD
## Tasks Assigned Tonight
| Skill | Task | Branch | Complexity |
|-------|------|--------|------------|
| [skill] | [item] | `feature/[branch]` | Low/Med/High |
## Morning Review Checklist
- [ ] Check branch: `feature/[branch-1]`
- [ ] Check branch: `feature/[branch-2]`
- [ ] Review PRs, merge or provide feedback
- [ ] Update roadmaps if tasks completed
## Full Prompts
### [Skill]: [Item]
[Include the full prompt that was sent to claude.ai/code]
---
## Notes
(Space for morning review notes - what worked, what didn't, lessons learned)
After Saving
- Confirm to Ed: "Saved overnight log to [[Overnight Tasks - YYYY-MM-DD]]"
- Add task to daily note Ready section:
**MORNING REVIEW:** Check overnight task results - [[Overnight Tasks - YYYY-MM-DD]]
Output Format Rules
- Prompts should be copy/paste ready for claude.ai/code
- Include enough context that the Web agent doesn't need to ask questions
- Branch names use kebab-case:
feature/auto-token-refresh - Keep prompts focused - one feature per agent
- Don't combine multiple roadmap items into one prompt
Example Prompt (Reference)
This is what a good overnight prompt looks like:
Implement auto token refresh in the instagram-poster skill.
Context:
- Skill location:
skills/instagram-poster/- Current behavior: Token refresh is manual via
refresh_token.py- Desired behavior: Automatically refresh before posting if token expires soon
Requirements:
- Check token expiry before each post in
post_carousel.pyandpost_reel.py- If token expires in < 7 days, call refresh logic automatically
- Log when auto-refresh happens
- Reuse existing refresh logic from
tools/refresh_token.pyTesting:
- Modify token file to have near-expiry date
- Run a post, verify refresh happens
- Verify post succeeds after refresh
Branch:
feature/auto-token-refreshCommit message prefix:feat(instagram-poster):
Phase 6: Create Task List for Tracking (NEW)
After saving the overnight log, create Tasks for cross-session tracking.
Why This Matters
Tasks persist across sessions and let overnight-review query completion status programmatically. The log file is for human review; Tasks are for machine coordination.
Task List Setup
Set a shared Task List ID for the overnight batch:
CLAUDE_CODE_TASK_LIST_ID="overnight-YYYY-MM-DD"
This ID connects:
- overnight-tasks (creates Tasks)
- Claude Code Web agents (could update progress)
- overnight-review (queries completion)
Create Tasks
For each task in "Tonight's 5", create a Task:
TaskCreate(
subject="[Skill]: [Item title]",
description="[The full Claude Code Web prompt]",
activeForm="Working on [skill] [feature]",
metadata={
"skill": "[skill-name]",
"branch": "feature/[branch-name]",
"complexity": "Low/Medium/High",
"overnight_date": "YYYY-MM-DD"
}
)
Set Dependencies (if any)
If tasks depend on each other (rare for overnight work, but possible):
TaskUpdate(
taskId="[task-2-id]",
addBlockedBy=["[task-1-id]"]
)
Report Task IDs
After creating Tasks, report:
## Task Tracking
Created X Tasks in list `overnight-YYYY-MM-DD`:
| Task ID | Skill | Feature |
|---------|-------|---------|
| #1 | [skill] | [feature] |
| #2 | [skill] | [feature] |
Morning review: `overnight-review` will query these for completion status.
Flags
--ready-only- Only show overnight-ready items (skip the needs-ed list)--skill [name]- Only scan a specific skill's roadmap--count- Just show counts, don't output full prompts--no-tasks- Skip Task creation (just output prompts and log)
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon