Agent skill

launchpad

Interact with Canonical's Launchpad platform via the Launchpad API (api.launchpad.net) using the lp-api CLI tool. Use when working with Ubuntu/Debian packages, bugs, builds, people, projects, or any Launchpad API resources. Triggered by mentions of Launchpad API, Ubuntu development, package builds, or bug tracking.

Stars 7
Forks 1

Install this agent skill to your Project

npx add-skill https://github.com/fourdollars/lp-api/tree/main/launchpad

Metadata

Additional technical details for this skill

version
1.2.8

SKILL.md

Launchpad API

Overview

This skill enables interaction with Canonical's Launchpad platform (https://launchpad.net) through direct API calls using the lp-api command-line tool. It provides full CRUD capabilities (Create, Read, Update, Delete) for querying and managing bugs, people, projects, builds, and other Launchpad resources via the official API at https://api.launchpad.net/devel.html.

API-First Approach: This skill focuses on direct API interaction using lp-api, not the web UI or Python launchpadlib. All operations are performed via HTTP requests to api.launchpad.net.

Important Note: All lp-api commands return JSON responses except using with ws.show==total_size, or using download and pipe subcommands. Parse these outputs to extract meaningful information.

Installation & Troubleshooting

If lp-api is not found, use the GitHub API to find and download the correct binary for your system.

1. Find download URL:

bash
# Get the browser_download_url for your OS (linux/darwin/windows) and Architecture (amd64/arm64)
# Example for Linux AMD64:
curl -s https://api.github.com/repos/fourdollars/lp-api/releases | \
  jq -r '.[0].assets[] | select(.name | endswith("linux-amd64.tar.gz")) | .browser_download_url'

2. Download and Install:

bash
curl -L -o lp-api.tar.gz <URL>
tar -xzf lp-api.tar.gz
chmod +x lp-api
mkdir -p bin
mv lp-api bin/
export PATH=$PWD/bin:$PATH

Authentication

The tool handles OAuth authentication automatically:

  1. Environment Variable (preferred for CI/CD):

    bash
    export LAUNCHPAD_TOKEN="oauth_token:oauth_secret:consumer_key"
    
  2. Config File (for interactive use):

    • Stored at .lp-api.toml in the current directory (recommended)
    • Use -conf .lp-api.toml to specify the location
    • Created automatically on first run via OAuth flow
    • User prompted to authorize at launchpad.net

Resources

Refer to the documentation in references/ for detailed usage, patterns, and workflows:

  • basics.md: START HERE. CLI usage, core operations (GET/PATCH/POST), URL structure.
  • workflow.md: Common workflows combining multiple operations (Bug triage, Batch updates, Build monitoring).
  • bugs.md: Comprehensive guide to bug tracking, searching, and attachments.
  • git.md: Guide to Git repositories, recipes, and merge proposal reviews.
  • livefs.md: Guide to monitoring and managing LiveFS (ISO) builds.
  • archive.md: Guide to working with archives (PPAs) and publishing.
  • package-sets.md: Guide to managing package sets.
  • people.md: Guide to managing people, teams, and memberships.
  • project.md: Guide to managing projects, milestones, and releases.
  • series.md: Guide to working with Launchpad series (distro releases).

Quick Tips

Search Bugs Across ALL Projects

To find bugs you're involved with across all projects and distributions, use searchTasks on the person resource:

bash
# Get your person link
ME_LINK=$(lp-api get people/+me | jq -r '.self_link')

# All bugs assigned to you (across all projects)
lp-api get people/+me ws.op==searchTasks assignee==$ME_LINK

# Filter by status
lp-api get people/+me ws.op==searchTasks assignee==$ME_LINK status=="In Progress"

# Bugs you reported, subscribed to, or have activity on
lp-api get people/+me ws.op==searchTasks bug_reporter==$ME_LINK
lp-api get people/+me ws.op==searchTasks bug_subscriber==$ME_LINK
lp-api get people/+me ws.op==searchTasks bug_commenter==$ME_LINK  # includes any activity
lp-api get people/+me ws.op==searchTasks affected_user==$ME_LINK

Note: bug_commenter includes any bug activity (comments, status changes, field updates), not just message comments.

This is equivalent to the web UI at https://launchpad.net/~username/+assignedbugs.

Expand your agent's capabilities with these related and highly-rated skills.

MicrosoftDocs/Agent-Skills

azure-blueprints

Expert knowledge for Azure Blueprints development including troubleshooting, architecture & design patterns, security, configuration, and integrations & coding patterns. Use when defining Azure Blueprints, mapping built-in compliance sets, automating via CLI/PowerShell/REST, or fixing assignment errors, and other Azure Blueprints related development tasks. Not for Azure Policy (use azure-policy), Azure Resource Manager (use azure-resource-manager), Azure Managed Applications (use azure-managed-applications), Azure Deployment Environments (use azure-deployment-environments).

485 45
Explore
MicrosoftDocs/Agent-Skills

azure-hdinsight

Expert knowledge for Azure HDInsight development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when working with HDInsight Spark/Hive/Kafka/HBase clusters, Ambari, VNet networking, or Azure SQL/Cosmos DB integration, and other Azure HDInsight related development tasks. Not for Azure Synapse Analytics (use azure-synapse-analytics), Azure Databricks (use azure-databricks), Azure Stream Analytics (use azure-stream-analytics).

485 45
Explore
MicrosoftDocs/Agent-Skills

azure-advisor

Expert knowledge for Azure Advisor development including best practices, decision making, limits & quotas, security, configuration, and integrations & coding patterns. Use when configuring Advisor alerts, workbooks, RBAC access, bulk fixes, or Resource Graph/Kusto queries, and other Azure Advisor related development tasks. Not for Azure Cost Management (use azure-cost-management), Azure Monitor (use azure-monitor), Azure Policy (use azure-policy), Azure Service Health (use azure-service-health).

485 45
Explore
MicrosoftDocs/Agent-Skills

azure-cognitive-search

Expert knowledge for Azure AI Search development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when designing indexes/skillsets, vector/semantic search, indexers, RAG knowledge bases, or secure data access, and other Azure AI Search related development tasks. Not for Azure Cosmos DB (use azure-cosmos-db), Azure Data Explorer (use azure-data-explorer), Azure SQL Database (use azure-sql-database), Azure Synapse Analytics (use azure-synapse-analytics).

485 45
Explore
MicrosoftDocs/Agent-Skills

azure-migrate

Expert knowledge for Azure Migrate development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when using AppCAT/CAST, Site Recovery REST APIs, Azure Migrate appliance, Arc-based discovery, or Resource Mover, and other Azure Migrate related development tasks. Not for Azure Database Migration service (use azure-database-migration), Azure Site Recovery (use azure-site-recovery), Azure Virtual Machines (use azure-virtual-machines), SQL Server on Azure Virtual Machines (use azure-sql-virtual-machines).

485 45
Explore
MicrosoftDocs/Agent-Skills

azure-maps

Expert knowledge for Azure Maps development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, and integrations & coding patterns. Use when using Azure Maps web SDK, search/geocoding, routing/traffic, weather APIs, or migrating from Bing/Google Maps, and other Azure Maps related development tasks.

485 45
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results