raycast-alfred-4-alfred-workflows-python

Sub-skill of raycast-alfred: 4. Alfred Workflows - Python.

5 stars

Best use case

raycast-alfred-4-alfred-workflows-python is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Sub-skill of raycast-alfred: 4. Alfred Workflows - Python.

Teams using raycast-alfred-4-alfred-workflows-python should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/4-alfred-workflows-python/SKILL.md --create-dirs "https://raw.githubusercontent.com/vamseeachanta/workspace-hub/main/.agents/skills/_archive/operations/devtools/raycast-alfred/4-alfred-workflows-python/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/4-alfred-workflows-python/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How raycast-alfred-4-alfred-workflows-python Compares

Feature / Agentraycast-alfred-4-alfred-workflows-pythonStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Sub-skill of raycast-alfred: 4. Alfred Workflows - Python.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 4. Alfred Workflows - Python

## 4. Alfred Workflows - Python


```python
#!/usr/bin/env python3
# alfred-github-search.py
# ABOUTME: Search GitHub repositories from Alfred
# ABOUTME: Python script filter for Alfred

import sys
import json
import urllib.request
import urllib.parse
import os

def search_github(query):
    """Search GitHub repositories"""
    if not query or len(query) < 2:
        return []

    token = os.environ.get("GITHUB_TOKEN", "")
    url = f"https://api.github.com/search/repositories?q={urllib.parse.quote(query)}&sort=stars&per_page=10"

    headers = {
        "Accept": "application/vnd.github.v3+json",
        "User-Agent": "Alfred-GitHub-Search",
    }

    if token:
        headers["Authorization"] = f"token {token}"

    request = urllib.request.Request(url, headers=headers)

    try:
        with urllib.request.urlopen(request) as response:
            data = json.loads(response.read().decode())
            return data.get("items", [])
    except Exception as e:
        return []

def format_alfred_results(repos):
    """Format results for Alfred JSON output"""
    items = []

    for repo in repos:
        items.append({
            "uid": str(repo["id"]),
            "title": repo["full_name"],
            "subtitle": f"★ {repo['stargazers_count']} | {repo.get('description', 'No description')}",
            "arg": repo["html_url"],
            "icon": {
                "path": "icon.png"
            },
            "mods": {
                "cmd": {
                    "arg": f"git clone {repo['clone_url']}",
                    "subtitle": "Clone repository"
                },
                "alt": {
                    "arg": repo["clone_url"],
                    "subtitle": "Copy clone URL"
                }
            }
        })

    return {"items": items}

if __name__ == "__main__":
    query = sys.argv[1] if len(sys.argv) > 1 else ""
    repos = search_github(query)
    result = format_alfred_results(repos)
    print(json.dumps(result))
```

```python
#!/usr/bin/env python3
# alfred-jira-search.py
# ABOUTME: Search JIRA issues from Alfred
# ABOUTME: JQL-powered issue search

import sys
import json
import urllib.request
import urllib.parse
import base64
import os

JIRA_BASE_URL = os.environ.get("JIRA_URL", "https://your-company.atlassian.net")
JIRA_EMAIL = os.environ.get("JIRA_EMAIL", "")
JIRA_API_TOKEN = os.environ.get("JIRA_API_TOKEN", "")

def search_jira(query):
    """Search JIRA issues"""
    if not query:
        return []

    # Build JQL query
    jql = f'text ~ "{query}" ORDER BY updated DESC'
    url = f"{JIRA_BASE_URL}/rest/api/3/search?jql={urllib.parse.quote(jql)}&maxResults=10"

    # Basic auth
    auth = base64.b64encode(f"{JIRA_EMAIL}:{JIRA_API_TOKEN}".encode()).decode()

    headers = {
        "Accept": "application/json",
        "Authorization": f"Basic {auth}",
    }

    request = urllib.request.Request(url, headers=headers)

    try:
        with urllib.request.urlopen(request) as response:
            data = json.loads(response.read().decode())
            return data.get("issues", [])
    except Exception as e:
        return []

def format_alfred_results(issues):
    """Format JIRA issues for Alfred"""
    items = []

    status_icons = {
        "To Do": "⚪",
        "In Progress": "🔵",
        "Done": "✅",
        "Blocked": "🔴",
    }

    for issue in issues:
        fields = issue["fields"]
        status = fields.get("status", {}).get("name", "Unknown")
        icon = status_icons.get(status, "⚫")

        items.append({
            "uid": issue["key"],
            "title": f"{icon} {issue['key']}: {fields['summary']}",
            "subtitle": f"{status} | {fields.get('assignee', {}).get('displayName', 'Unassigned')}",
            "arg": f"{JIRA_BASE_URL}/browse/{issue['key']}",
            "icon": {"path": "jira-icon.png"},
            "mods": {
                "cmd": {
                    "arg": issue["key"],
                    "subtitle": "Copy issue key"
                }
            }
        })

    return {"items": items}

if __name__ == "__main__":
    query = sys.argv[1] if len(sys.argv) > 1 else ""
    issues = search_jira(query)
    result = format_alfred_results(issues)
    print(json.dumps(result))
```

```python
#!/usr/bin/env python3
# alfred-snippet-manager.py
# ABOUTME: Text snippet management
# ABOUTME: Store and retrieve code snippets

import sys
import json
import os
import hashlib
from pathlib import Path

SNIPPETS_DIR = Path.home() / ".alfred-snippets"
SNIPPETS_DIR.mkdir(exist_ok=True)

def load_snippets():
    """Load all snippets"""
    snippets = []
    for file in SNIPPETS_DIR.glob("*.json"):
        with open(file) as f:
            snippet = json.load(f)
            snippet["file"] = str(file)
            snippets.append(snippet)
    return sorted(snippets, key=lambda x: x.get("uses", 0), reverse=True)

def save_snippet(name, content, tags=None):
    """Save a new snippet"""
    snippet_id = hashlib.md5(name.encode()).hexdigest()[:8]
    snippet = {
        "id": snippet_id,
        "name": name,

*Content truncated — see parent skill for full reference.*

Related Skills

digitalmodel-orcawave-orcaflex-proof-workflows

5
from vamseeachanta/workspace-hub

Class-level digitalmodel OrcaWave/OrcaFlex readiness, semantic-proof, fixture-proof, and closeout workflows.

python-import-path-mismatch-debugging

5
from vamseeachanta/workspace-hub

Diagnose and fix ModuleNotFoundError when a package is installed but imports still fail due to environment/path mismatches

python-import-path-debugging

5
from vamseeachanta/workspace-hub

Diagnose ModuleNotFoundError when a package is installed but still fails to import

python-debugpy

5
from vamseeachanta/workspace-hub

Debug Python: pdb REPL + debugpy remote (DAP).

python-project-template

5
from vamseeachanta/workspace-hub

Generate standardized Python project structure with pyproject.toml, UV environment, pytest configuration, and workspace-hub compliance. Creates production-ready project scaffolding.

xlsx-to-python

5
from vamseeachanta/workspace-hub

Convert Excel calculation spreadsheets to Python code — extract formulas, build dependency graphs, generate pytest tests using cell values as assertions, and produce dark-intelligence archive YAMLs.

excel-workbook-to-python-v2

5
from vamseeachanta/workspace-hub

Convert engineering Excel workbooks to Python code using Codex Desktop cowork on Windows. Proven superior quality vs Linux openpyxl extraction (24 vs 7 functions, 81 vs 53 tests). Validated on Ballymore jumper installation analysis.

mkdocs-integration-with-python-package

5
from vamseeachanta/workspace-hub

Sub-skill of mkdocs: Integration with Python Package (+2).

raycast-alfred-project-switcher-integration

5
from vamseeachanta/workspace-hub

Sub-skill of raycast-alfred: Project Switcher Integration.

raycast-alfred-headers

5
from vamseeachanta/workspace-hub

Sub-skill of raycast-alfred: Headers.

raycast-alfred-6-keyboard-shortcuts-and-snippets

5
from vamseeachanta/workspace-hub

Sub-skill of raycast-alfred: 6. Keyboard Shortcuts and Snippets.

raycast-alfred-5-raycast-extension-api-integration

5
from vamseeachanta/workspace-hub

Sub-skill of raycast-alfred: 5. Raycast Extension - API Integration.