# Taiga

> Fetch information from Taiga public API for the Penpot project (id 345963) — issues, user stories, and tasks, without authentication.

- Skill: `penpot/taiga` (Agent Skill)
- Install (CLI): `npx skillmds@latest add penpot/taiga`
- Raw SKILL.md: https://api.skillmd.com/api/skills/penpot/taiga/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: penpot (https://skillmd.com/u/penpot)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/penpot/taiga

---


# Taiga API Skill

Fetch information from Taiga public API for the **Penpot** project
(project id: `345963`, slug: `penpot`).

**No authentication required** — only public project data is accessed.

## When to use

- The user asks about Penpot issues, user stories, or tasks tracked in
  Taiga — fetch them via the public API (project id 345963), no
  authentication needed.

## Prerequisites

- `python3` — the `scripts/taiga.py` CLI script is self-contained (stdlib only)

## Quick Start

The easiest way is to use the bundled Python script:

```bash
# Pass a Taiga URL directly
python3 scripts/taiga.py https://tree.taiga.io/project/penpot/issue/13714

# Or use "<type> <ref>" syntax
python3 scripts/taiga.py us 14128
python3 scripts/taiga.py task 13648

# Add --json for raw output
python3 scripts/taiga.py --json issue 13714

# See full usage
python3 scripts/taiga.py --help
```

## URL Pattern Reference

Taiga web URLs follow these patterns:

| Type | Web URL Pattern |
|------|----------------|
| Issue | `https://tree.taiga.io/project/penpot/issue/<REF>` |
| User Story | `https://tree.taiga.io/project/penpot/us/<REF>` |
| Task | `https://tree.taiga.io/project/penpot/task/<REF>` |

To extract the **type** and **ref** from a URL:
- `issue/13714` → type=`issue`, ref=`13714`
- `us/14128` → type=`us`, ref=`14128`
- `task/13648` → type=`task`, ref=`13648`

## Python Script Reference

The `scripts/taiga.py` script wraps the Taiga API into a single convenient CLI
with sensible defaults.

### Usage

```
python3 scripts/taiga.py <taiga-url>
python3 scripts/taiga.py <type> <ref>
python3 scripts/taiga.py [--json] <taiga-url>
python3 scripts/taiga.py [--json] <type> <ref>
```

### Examples

```bash
# By URL (recommended — no need to think about type/ref)
python3 scripts/taiga.py https://tree.taiga.io/project/penpot/issue/13714

# By type and ref
python3 scripts/taiga.py us 14128
python3 scripts/taiga.py task 13648

# Raw JSON output
python3 scripts/taiga.py --json issue 13714
```

### Output

The script prints a clean, structured summary:

```text
User Story #11964 — 🔴 [DESIGN TOKENS] Typography Composite Input
================================
Status:     Defining
Milestone:  design-systems-sprint-26
Points:     3 role(s)
Assignee:   Natacha Menjibar
Author:     Natacha Menjibar
Created:    2025-09-01
Tags:       iop-design-tokens
URL:        https://tree.taiga.io/project/penpot/us/11964
================================
<full description text, unmodified>
```

The fields section includes type-specific information:
- **Issues:** Status, Type ID, Severity ID, Priority ID
- **User Stories:** Status, Milestone, Points
- **Tasks:** Status, Milestone, Parent US

## Reference

- API docs: https://docs.taiga.io/api.html
- Taiga instance: https://tree.taiga.io
- API base: https://api.taiga.io/api/v1
- Penpot project id: `345963`
- Penpot project slug: `penpot`

