Agent skill
trello-api-trello-with-github-actions
Sub-skill of trello-api: Trello with GitHub Actions (+1).
Install this agent skill to your Project
npx add-skill https://github.com/vamseeachanta/workspace-hub/tree/main/.claude/skills/_archive/business/productivity/trello-api/trello-with-github-actions
SKILL.md
Trello with GitHub Actions (+1)
Trello with GitHub Actions
# .github/workflows/trello-sync.yml
name: Sync Issues to Trello
on:
issues:
types: [opened, labeled]
jobs:
create-card:
runs-on: ubuntu-latest
steps:
- name: Create Trello Card
env:
TRELLO_API_KEY: ${{ secrets.TRELLO_API_KEY }}
TRELLO_TOKEN: ${{ secrets.TRELLO_TOKEN }}
TRELLO_LIST_ID: ${{ secrets.TRELLO_LIST_ID }}
run: |
curl -s -X POST "https://api.trello.com/1/cards" \
-d "key=$TRELLO_API_KEY" \
-d "token=$TRELLO_TOKEN" \
-d "idList=$TRELLO_LIST_ID" \
-d "name=${{ github.event.issue.title }}" \
-d "desc=${{ github.event.issue.body }}" \
-d "urlSource=${{ github.event.issue.html_url }}"
Trello with Slack
#!/usr/bin/env python3
"""trello_slack_integration.py - Notify Slack on Trello updates"""
import os
import requests
from flask import Flask, request, jsonify
app = Flask(__name__)
SLACK_WEBHOOK_URL = os.environ["SLACK_WEBHOOK_URL"]
@app.route("/webhook/trello", methods=["HEAD", "POST"])
def trello_webhook():
if request.method == "HEAD":
return "", 200
data = request.json
action = data.get("action", {})
action_type = action.get("type")
# Build Slack message
message = None
if action_type == "createCard":
card = action["data"]["card"]
list_name = action["data"]["list"]["name"]
member = action["memberCreator"]["fullName"]
message = {
"text": f"New card created by {member}",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": f"*New Card Created*\n"
f"*Card:* {card['name']}\n"
f"*List:* {list_name}\n"
f"*By:* {member}"
}
}
]
}
elif action_type == "updateCard" and "listAfter" in action["data"]:
card = action["data"]["card"]
list_before = action["data"]["listBefore"]["name"]
list_after = action["data"]["listAfter"]["name"]
member = action["memberCreator"]["fullName"]
message = {
"text": f"Card moved by {member}",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": f"*Card Moved*\n"
f"*Card:* {card['name']}\n"
f"*From:* {list_before} -> *To:* {list_after}\n"
f"*By:* {member}"
}
}
]
}
if message:
requests.post(SLACK_WEBHOOK_URL, json=message)
return jsonify({"status": "ok"})
if __name__ == "__main__":
app.run(port=5000)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
gsd-complete-milestone
Archive completed milestone and prepare for next version
gsd-reapply-patches
Reapply local modifications after a GSD update
gsd-verify-work
Validate built features through conversational UAT
gsd-thread
Manage persistent context threads for cross-session work
clinical-trial-protocol
Generate clinical trial protocols for medical devices or drugs through a modular, waypoint-based architecture with research-only and full protocol modes.
single-cell-rna-qc
Performs quality control on single-cell RNA-seq data (.h5ad or .h5 files) using scverse best practices with MAD-based filtering and comprehensive visualizations.
Didn't find tool you were looking for?