Piper Morgan Product: Intelligent Product Management Assistant for Python
# Add to your Claude Code skills
git clone https://github.com/victorgassuncao21/piper-morgan-assistantGuides for using ai agents skills like piper-morgan-assistant.
See how piper-morgan-assistant compares with popular alternatives.
piper-morgan-assistant is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by victorgassuncao21. Piper Morgan Product: Intelligent Product Management Assistant for Python. It has 58 GitHub stars.
piper-morgan-assistant's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/victorgassuncao21/piper-morgan-assistant" and add it to your Claude Code skills directory (see the Installation section above).
piper-morgan-assistant is primarily written in HTML. It is open-source under victorgassuncao21 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh piper-morgan-assistant against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Piper Morgan is a Python-based product management assistant that turns routine PM work—standup notes, backlog triage, status updates, roadmap questions—into natural conversation, backed by AI analysis that surfaces strategic insight rather than just storing tickets. It's built for product managers and small teams who want an assistant that reasons about their work instead of adding another dashboard to check. What sets it apart is its conversational-first design: instead of bolting a chat window onto a tracker, Piper Morgan treats dialogue as the primary interface and uses it to drive analysis, so context accumulates naturally over time rather than being re-entered into forms. This repository is v1.0 of the project and the canonical source for development.
| Capability | What it does |
|---|---|
| Natural-language interaction | Handles PM tasks through conversation rather than menus |
| Strategic insights | Analyzes product context and returns recommendations, not just raw data |
| Extensible design | Structured so new workflows and integrations can be added incrementally |
# Illustrative usage shape — see the technical reference for current APIs
assistant = PiperMorgan()
response = assistant.ask("Summarize open issues by priority and flag anything at risk this sprint")
print(response.insights)
Feature availability tracks the alpha program; consult pmorgan.tech for the current, authoritative capability list.
Piper Morgan is a Python application that sits between you and the tools you already use. It receives natural-language requests, figures out what you're trying to accomplish, and orchestrates the appropriate actions through a layered pipeline. The core flow looks like this:
User request (chat or CLI)
│
▼
┌───────────────────────┐
│ Intent & Context │ Parses the request, resolves references
│ Resolution │ (projects, tickets, people)
└──────────┬────────────┘
▼
┌───────────────────────┐
│ Orchestration Layer │ Selects and sequences the right
│ │ handler(s) for the task
└──────────┬────────────┘
▼
┌───────────────────────┐
│ Tool & Integration │ Talks to issue trackers, docs,
│ Adapters │ calendars, repos, etc.
└──────────┬────────────┘
▼
┌───────────────────────┐
│ Reasoning & │ Summarizes, prioritizes, drafts,
│ Synthesis │ or answers using the gathered data
└──────────┬────────────┘
▼
Structured response + optional follow-up actions
| Component | Responsibility |
|---|---|
| Request handler | Accepts conversational input, maintains turn context, and routes work into the pipeline. |
| Intent resolver | Maps free-form language to a concrete task type and extracts the entities it needs (project, sprint, assignee, timeframe). |
| Orchestrator | Chooses which capabilities to invoke and in what order, including chaining multiple steps into a single workflow. |
| Adapters | Normalize external services behind a consistent internal interface so the rest of the system doesn't care which tracker or tool is in use. |
| Reasoning layer | Applies the AI analysis step — summarizing status, spotting risks, drafting updates, or answering questions about the collected data. |
| Response composer | Turns the result into a readable reply and surfaces any actions the user can take next. |
| Component | Minimum | Notes |
|---|---|---|
| Python | 3.10+ | 3.11 or newer recommended |
| Operating system | Linux, macOS, or Windows (WSL2) | Native Windows shells are untested |
| Database | PostgreSQL | Required for persistent storage; SQLite is not supported |
| Memory | 2 GB RAM | More for large workspaces |
| Disk | 1 GB free | Excludes virtual environment and caches |
Managed via the project's dependency manifest. The core runtime needs:
fastapi — HTTP API layeruvicorn — ASGI serversqlalchemy — ORM and migrationsalembic — schema versioningpydantic — settings and request/response modelshttpx — outbound HTTP clientpython-dotenv — environment file loadingDevelopment extras (linting, tests) are declared in the same manifest.
| Service | Required | Purpose |
|---|---|---|
| PostgreSQL | Yes | Application data store |
| LLM provider API | Yes | Natural-language task handling and analysis |
| GitHub API token | Optional | Issue and PR synchronization |
| Slack workspace | Optional | Conversational interface |
Before first launch, you must supply values for the settings below (see the Configuration section for full details):
DATABASE_URL=postgresql://user:password@localhost:5432/piper_morgan
LLM_PROVIDER_API_KEY=<your-provider-key>
LLM_MODEL=<provider-model-identifier>
DATABASE_URL must point to a reachable PostgreSQL instance with permission to create tables.LLM_PROVIDER_API_KEY is validated on startup; the app exits with a diagnostic if absent.Outbound HTTPS access is required to the configured LLM provider. If you run behind a proxy, set HTTPS_PROXY in the environment before starting the app.
Piper Morgan reads its configuration from environment variables, optionally seeded from a local .env file. Copy the provided .env.example to .env and fill in the values relevant to your setup. Variables not set fall back to the defaults noted below.
| Variable | Purpose | Default |
|---|---|---|
PIPER_ENV |
Runtime environment (development, test, production) |
development |
PIPER_LOG_LEVEL |
Logging verbosity (DEBUG, INFO, WARNING, ERROR) |
INFO |
PIPER_CONFIG_PATH |
Path to an alternate config file | .env in repo root |
PIPER_DATA_DIR |
Directory for local state and caches | ./data |
At least one provider must be configured for AI-backed features to work. Each provider is enabled by supplying its key.
| Variable | Purpose |
|---|---|
ANTHROPIC_API_KEY |
Enables the Anthropic provider |
OPENAI_API_KEY |
Enables the OpenAI provider |
PIPER_DEFAULT_PROVIDER |
Provider used when a request does not specify one (anthropic or openai) |
PIPER_MODEL |
Model identifier passed to the active provider |
PIPER_MAX_TOKENS |
Upper bound on generated tokens per request |
| Variable | Purpose | Default |
|---|---|---|
DATABASE_URL |
Connection string for persistent storage | sqlite:///./data/piper.db |
DATABASE_POOL_SIZE |
Connection pool size (ignored for SQLite) | 5 |
.env# Environment
PIPER_ENV=development
PIPER_LOG_LEVEL=INFO
PIPER_DATA_DIR=./data
# AI provider (pick one or both)
ANTHROPIC_API_KEY=
OPENAI_API_KEY=
PIPER_DEFAULT_PROVIDER=anthropic
PIPER_MODEL=
PIPER_MAX_TOKENS=2048
# Storage
DATABASE_URL=sqlite:///./data/piper.db
Configuration is resolved in the following order, with each layer overriding the one before it:
.env file (or the file at PIPER_CONFIG_PATH)This means shell-exported variables always win over .env entries, which is useful for CI and containerized runs.
.env. It is listed in .gitignore; keep secrets out of version control..env is required in production.DATABASE_URL at a server-backed