ワンクリックで
work-eod
End-of-day — draft and post daily comments for tracked tickets missing a comment
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
End-of-day — draft and post daily comments for tracked tickets missing a comment
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Morning startup workflow for daily notes, yesterday summary, agenda, status comments, meeting sections, and daily branch setup. Use when invoked as `$work-start` or when the user asks to start the work day.
Track a Linear ticket or GitHub PR in today's daily note with fields and timestamped activity. Use when invoked as `$work-track` or when the user asks to track a work item.
Start work on a Linear ticket by gathering context, planning, creating a branch/worktree, implementing, testing, opening a draft PR, and updating Linear. Use when invoked as `$linear-plan` or when the user asks to start a Linear ticket.
Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools.
Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools.
Load the shared skill from ~/.agents/skills/linear-plan/SKILL.md.
| name | work-eod |
| description | End-of-day — draft and post daily comments for tracked tickets missing a comment |
Use this skill when the user asks to run the migrated command work-eod or invokes $work-eod.
Review today's tracked work items, draft Linear comments for tickets that haven't been commented on today, present for approval, and post. Takes no arguments.
today_date=$(date +%Y-%m-%d)
today_day=$(date +%A)
today_year=$(date +%Y)
note_path="$HOME/2ndBrain/daily-notes/${today_year}/${today_date} ${today_day}.md"
Read the full note content.
Parse the # Work Items section for all H2 item sections. For each item, extract:
DXO-71)ticket:: field — the Linear URL (items without a ticket:: field are PR-only; skip them)commented:: field — if true, skip this itemstatus:: field — include in the comment for context- \HH:MM` ...`)Collect all items where commented:: false and a ticket:: field exists.
If no items need comments, report "All tracked tickets already have today's comment." and exit.
For each item needing a comment, draft a Linear comment from the activity log. Format:
**Daily update — YYYY-MM-DD**
Status: <status>
- <activity bullet 1, without timestamp>
- <activity bullet 2, without timestamp>
- ...
Strip the backtick-wrapped timestamps from the bullets — they're note-internal, not useful in Linear.
If the activity log is empty (item was tracked but no notes added), draft a minimal comment:
**Daily update — YYYY-MM-DD**
Status: <status>
Tracked today, no specific updates logged.
Show ALL draft comments together, clearly labeled:
## Draft Linear Comments
### DXO-71 — fix(sdk-release): replace unreliable !failure()
> **Daily update — 2026-05-29**
>
> Status: in-progress
>
> - Picked up ticket, reviewing PR feedback
> - Kicked off test release
> - Test release passed, moving to review
### DEVX-943 — Decommission 6 older macOS CI runners
> **Daily update — 2026-05-29**
>
> Status: in-progress
>
> - Removed atl-mac03 from runner group
> - PR approved, merged
Then ask the user using AskUserQuestion:
For each draft, ask:
commented:: false)First invoke the linear-cli:linear-cli skill to load the correct CLI syntax.
On macOS, run every linear ... command outside the sandbox on the first
attempt so the CLI can access credentials stored in the system keychain. Use
scoped escalation with prefix_rule: ["linear"]. If a sandboxed command
reports No keyring entry or No API key configured, retry outside the
sandbox before asking the user to authenticate. Never print, log, or expose
linear auth token or an API key.
For each approved comment, write the body to a temp file then post using the CLI:
# Write comment body to a temp file (required for markdown content)
cat > /tmp/linear-comment-<TICKET-ID>.md << 'EOF'
<comment body>
EOF
# Post the comment
linear issue comment add <TICKET-ID> --body-file /tmp/linear-comment-<TICKET-ID>.md
After successful post, update the daily note:
Edit: commented:: false → commented:: true
Scope the edit to the specific item's section to avoid updating other items.
## EOD Comments Posted
Posted: 2
✓ DXO-71 — fix(sdk-release): replace unreliable !failure()
✓ DEVX-943 — Decommission 6 older macOS CI runners
Skipped: 0
All tracked tickets have today's comment.
If any were skipped:
Skipped: 1
✗ DXO-88 — Title here (user chose to skip)
⚠ 1 in-progress ticket still needs a comment today.
| Scenario | Handling |
|---|---|
| Today's note doesn't exist | Error: "No daily note found for today" |
No items with commented:: false | Report "All done" and exit |
PR-only items (no ticket:: field) | Skip — can't post to Linear without a ticket |
| Linear API error on post | Report error for that ticket; continue with others |
| Empty activity log | Post minimal "Tracked today, no specific updates" comment |
Item status is done | Still post the comment (important to close the loop) |
| User edits a draft | Use the edited text verbatim |
| Run twice same day | Second run finds all commented:: true; reports "All done" |
SOC 職業分類に基づく