plugins/ls-slack/skills/slack-tasks/SKILL.md
Use when building or updating the Work tasks section of today's daily note from Slack activity.
npx skillsauth add LandonSchropp/agent-toolkit plugins/ls-slack/skills/slack-tasksInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Build a task list from the user's Slack activity and append it to the Work section of today's daily note.
REQUIRED: Invoke the ls-notes:daily-note skill first. It ensures today's note exists and documents its section structure.
Run this search using the Slack MCP. The logged-in user's ID is shown in the slack_search_public_and_private tool description.
from:<@USER_ID> after:YESTERDAY — finds messages the user sent todayFor every message the user replied to (not just sent), read the full thread. Replies often contain context or commitments that become tasks — the parent message, not the reply, holds that context.
An item is a candidate if it represents something the user did, is doing, or needs to do: review a PR, respond to a question, watch a video, follow up on a ticket, ship a change, etc. Skip only purely informational messages (reactions, acknowledgments, FYIs).
Include items the user has already completed today (merged PR, submitted review) — these belong in the daily note as [x], not omitted. Skip completed items from previous days.
Consolidate open PR review requests into a single - [ ] Review pull requests candidate. The user reviews all of them at once in one channel and does not want each PR listed individually. This applies only to PRs the user has yet to review; PRs the user has already merged or reviewed should still be listed individually as [x] so they appear as a record of done work.
To check PR status: gh pr view <number> --repo <owner>/<repo> --json state,reviews,mergedAt.
Format each candidate as a markdown task line. Pick the suggested marker based on the item's current state:
[ ]: Open / not yet started.[/]: In progress (e.g., a PR you've commented on but not yet reviewed).[x]: Already complete (e.g., a PR you've merged or a review you've submitted).Each task gets one link embedded naturally in the prose — link to the Slack conversation where the item came from, not directly to the content (PR, doc, Loom, etc.). The conversation provides context; the content is one click away from there. Exception: if the message itself IS the content (e.g. a GitHub PR comment thread), link directly to it. Avoid trailing -- [thread] or -- [message] links — embed the link in the task description itself.
Example formatting:
- [ ] Review Alex's [engineering assessment](slack://DM-thread)
- [/] Follow up on Jordan's [4 remaining stacked PRs](slack://thread) for the release pipeline
- [x] Merged the [release pipeline PR](slack://thread)
For candidates that involve writing, shipping, or reviewing code (not PR reviews already handled as consolidated items), search Linear for matching issues in the user's teams (use list_issues with team and project filters). Use the task description as keywords to find relevant open issues.
For each match found, ask the user for confirmation in the Step 5 batch — don't interrupt for each one individually:
If no match is found for a coding task, leave it as-is.
Present the formatted candidates to the user in a single message:
## Slack Tasks as the header.1. `[x]` Merged the release pipeline PR).Legend: `y` add as shown, `n` skip, ` ` open, `/` in-progress, `x` complete.Wait for the user's response. They will give one answer per number (e.g., 1. y, 2. n, 3. x). y adds the task with the suggested marker; n skips it; any other marker character overrides the suggested marker and adds the task with that marker.
Append the approved tasks (with their final markers) to the Work subsection of Tasks in today's daily note. Do not remove or reorder existing tasks.
| Thought | Reality |
| ------------------------------------------------ | ----------------------------------------------------------------------------- |
| "The PR link is more useful than the Slack link" | The Slack thread has context. Link there first. |
| "I only need to check messages the user sent" | Replies to others often carry the real commitment. Read those threads. |
| "A merged PR is done" | Check for a review by the user too — they may have only approved, not merged. |
| "I'll add a trailing (thread) link" | Embed it in the prose. Trailing links are noise. |
tools
Use when working with a stack of GitHub pull requests — creating branches, keeping the stack in sync, or merging in order. Covers Git Town setup, PR targeting, rebasing, and landing the stack.
tools
Use when writing or modifying tests in a Bun project
tools
Use when publishing or releasing a new version of an npm/pnpm/yarn/bun package to the registry. Covers package-manager detection, semver bump selection, tagging, pushing, scoped-package access, authentication, and one-time passwords (OTP).
tools
Use when a finished worktree's branch has been reviewed and committed and needs to land. Rebases onto the latest default branch, then either fast-forwards it into the default branch (personal direct-to-main repos) or pushes it for a pull request (shared feature-branch repos).