slack-context-fetcher
Fetches Slack thread content using a Slack bot for ticket context enrichment.
Skill by DrJKL
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/drjkl-slack-context-fetcher
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/slack-context-fetcher
What's inside
- Skill name
slack-context-fetcher- Description
- Fetches Slack thread content using a Slack bot for ticket context enrichment. Use when tickets reference Slack threads or discussions.
- License
- MIT
- Instructions
- 149 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Slack Context Fetcher
Fetches Slack thread content when tickets reference Slack discussions. Uses the Pipeline API for state management.
## Configuration
Uses the **production API** by default. No configuration needed for read operations.
**Defaults (no setup required):**
- API URL: `https://api-gateway-856475788601.us-central1.run.app`
- Read-only endpoints at `/public/*` require no authentication
**For write operations** (state transitions), set:
```bash
export PIPELINE_API_KEY="..." # Get from GCP Secret Manager or ask admin
```
## Prerequisites
- `slackdump` CLI installed at `/usr/bin/slackdump`
- Credentials stored at `~/.cache/slackdump/comfy-organization.bin`
- If auth fails, load `slackdump` skill and read `reference/auth.md`
## Workflow
### 1. Detect Slack References
Parse ticket description for Slack links:
```
Pattern: https://{workspace}.slack.com/archives/{channel_id}/p{timestamp}
Example: https://comfy-org.slack.com/archives/C07ABCD1234/p1234567890123456
```
Extract:
- `channel_id`: C07ABCD1234
- `thread_ts`: 1234567890.123456 (insert decimal before last 6 digits)
### 2. Fetch Thread Content via slackdump
Use the `slackdump` skill's **export-thread** workflow:
```bash
THREAD_URL="https://comfy-organization.slack.com/archives/$CHANNEL/$THREAD_TS_NO_DOT"
# Export the thread
slackdump dump "$THREAD_URL"
# Or using colon notation
slackdump dump "$CHANNEL:$THREAD_TS"
```
> **Note:** Load the `slackdump` skill for detailed instructions. Use the `reference/export-thread.md` workflow.
### 3. Resolve User Names
User names are included in slackdump export output. If additional resolution is needed:
```bash
# List users in the workspace
slackdump list users
```
> Load the `slackdump` skill and use `reference/discover.md` for user lookup.
### 4. Format for Context
```markdown
## Slack Thread Context
**Thread:** [Link](https://comfy-org.slack.com/archives/C07.../p1234...)
**Participants:** Alice, Bob, Charlie
**Messages:** 12
### Full Thread
**Alice** (2024-01-15 10:30):
> Original message about the issue...
**Bob** (2024-01-15 10:45):
> Response with context...
```
### 5. Save Artifacts and Update State
Save the Slack context to the local runs directory and update ticket metadata via API:
```bash
# Save local artifact
echo "$SLACK_CONTEXT" > "$RUN_DIR/slack-context.md"
```
```typescript
import { PipelineClient } from '@pipeline/client'
const client = new PipelineClient({
apiUrl: process.env.PIPELINE_API_URL || 'https://api-gateway-856475788601.us-central1.run.app',
agentId: process.env.AGENT_ID,
})
// Verify ticket exists - fail loudly if ticket-intake wasn't run
const ticket = await client.getTicket(ticketId).catch(() => null)
if (!ticket) {
console.error('❌ No pipeline ticket found. Run ticket-intake first to register this ticket.')
// Stop here - ticket-intake must run before this skill
}
// Update ticket metadata with Slack thread info
await client.updateTicket(ticketId, {
metadata: {
...ticket.metadata,
slackThreads: [
...(ticket.metadata?.slackThreads || []),
{ url: threadUrl, fetched: new Date().toISOString(), messages: messageCount },
],From DrJKL/ticket-to-pr-pipeline, MIT.
More from DrJKL/ticket-to-pr-pipeline
- 0.414score
issue-triage
DrJKL
Triages GitHub issue backlogs systematically.
SkillDFreshness: DClaude Code +9 - 0.414score
quality-checks
DrJKL
Runs quality gates (format, lint, typecheck) via single script.
SkillDFreshness: DClaude Code +9 - 0.409score
ci-checker
DrJKL
Checks GitHub CI status and guides fixing failures.
SkillDFreshness: DClaude Code +9 - 0.409score
notion-personal
DrJKL
Access personal/life Notion workspace shared with girlfriend.
SkillDFreshness: DClaude Code +9 - 0.409score
resolving-review-comments
DrJKL
Resolves GitHub PR review threads after commits address feedback.
SkillDFreshness: DClaude Code +9 - 0.409score
reviewing-external-prs
DrJKL
Review external GitHub PRs with human approval for each comment.
SkillDFreshness: DClaude Code +9 - 0.409score
coderabbit-intake
DrJKL
Fast-track CodeRabbit issues to PRs.
SkillDFreshness: DClaude Code +9 - 0.409score
addressing-review-comments
DrJKL
Checks out a PR branch via worktree, implements code review feedback as individual commits linking to each comment URL, runs quality gates, and hands off to…
SkillDFreshness: DClaude Code +9 - 0.408score
review-orchestrator
DrJKL
Dispatch review subagents, compile feedback, triage for human decision.
SkillDFreshness: DClaude Code +9 - 0.406score
pr-split-advisor
DrJKL
Analyzes implementation plans and recommends PR splitting strategy.
SkillDFreshness: DClaude Code +9 - 0.406score
coderabbit-reviewer
DrJKL
Integrates CodeRabbit for automated PR code review.
SkillDFreshness: DClaude Code +9 - 0.406score
pr-creator
DrJKL
Generate PR description, create PR with labels, update Notion.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Feb 24, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/DrJKL/ticket-to-pr-pipeline
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from DrJKL
- 0.414score
quality-checks
DrJKL
Runs quality gates (format, lint, typecheck) via single script.
SkillDFreshness: DClaude Code +9 - 0.414score
issue-triage
DrJKL
Triages GitHub issue backlogs systematically.
SkillDFreshness: DClaude Code +9 - 0.409score
resolving-review-comments
DrJKL
Resolves GitHub PR review threads after commits address feedback.
SkillDFreshness: DClaude Code +9 - 0.409score
ci-checker
DrJKL
Checks GitHub CI status and guides fixing failures.
SkillDFreshness: DClaude Code +9 - 0.409score
notion-personal
DrJKL
Access personal/life Notion workspace shared with girlfriend.
SkillDFreshness: DClaude Code +9 - 0.409score
reviewing-external-prs
DrJKL
Review external GitHub PRs with human approval for each comment.
SkillDFreshness: DClaude Code +9
Cite this page
slack-context-fetcher skill. Agent Mart. https://agentmart.dev/skills/drjkl-slack-context-fetcher (last updated 2026-10-24)