llodev/skills
Collection of Agent Skills created by @lloliveiradev for Claude Code, Cursor, Codex, Windsurf, and any agent that speaks the open Skills spec. Skills are packaged instructions and scripts that extend agent capabilities across development, documentation, planning, and professional workflows.
Each skill in this repo ships as an npm package, a Claude Code plugin, and a Vercel skills add entry. Pick whichever channel your agent speaks — the skills are identical across all three.
Install
Pick the channel that matches your agent.
Claude Code (or any agent supporting the marketplace):
/plugin marketplace add llodev/skills
/plugin install pm-tasks-core pm-tasks-trello pm-tasks-asana
npm (skillpm, skills-npm, or node_modules bundling):
npm i @llodev/pm-tasks # meta — installs the whole family via peerDeps
Vercel skills add:
npx skills add llodev/skills/skills/pm-tasks-trello
See the publishing guide for how the three channels work together.
Catalog
pm-tasks-* — Project Management adapters
Turn implementation plans into PM tasks (Trello, Asana, …) and operate them via paste, MCP publish, or autonomous write-through. Plus @llodev/pm-tasks-testkit — in-memory fakes for the 7 canonical verbs, for testing custom skills.
New in v1.9 — headless runtime (/adapter subpath): import createAdapter from either adapter to drive the 7 canonical verbs from your own scripts/agents without invoking the skill:
import { createAdapter } from "@llodev/pm-tasks-trello/adapter";
const adapter = await createAdapter({ configPath: ".trello.json", mcp });
const r = await adapter.taskMove({ taskId: "card-1", targetListOrSectionId: "wip-list" });
if (!r.ok) throw new Error(`task.move failed: ${r.code}`);
mcp: (toolName, args) => Promise<unknown> is a caller-supplied callback that proxies to the agent runtime's mcp__* tools. Same shape for @llodev/pm-tasks-asana/adapter. Full contract in publishing-guide § 11 — Headless runtime and per-adapter SKILL.md.
| Package | Status | Source | npm | Vercel CLI |
|---|---|---|---|---|
@llodev/pm-tasks (meta) |
✅ v3.1.0 | packages/pm-tasks/ | npm i @llodev/pm-tasks |
— |
@llodev/pm-tasks-core |
✅ v1.14.0 | skills/pm-tasks-core/ | npm i @llodev/pm-tasks-core |
npx skills add llodev/skills/skills/pm-tasks-core |
@llodev/pm-tasks-asana |
✅ v1.9.0 | skills/pm-tasks-asana/ | npm i @llodev/pm-tasks-asana |
npx skills add llodev/skills/skills/pm-tasks-asana |
@llodev/pm-tasks-trello |
✅ v1.8.0 | skills/pm-tasks-trello/ | npm i @llodev/pm-tasks-trello |
npx skills add llodev/skills/skills/pm-tasks-trello |
@llodev/pm-tasks-testkit |
✅ v0.2.0 | packages/pm-tasks-testkit/ | npm i -D @llodev/pm-tasks-testkit |
— |
@llodev/pm-tasks-jira |
✅ v1.2.0 | skills/pm-tasks-jira/ | npm i @llodev/pm-tasks-jira |
npx skills add llodev/skills/skills/pm-tasks-jira |
@llodev/pm-tasks-linear |
✅ v1.1.0 | skills/pm-tasks-linear/ | npm i @llodev/pm-tasks-linear |
npx skills add llodev/skills/skills/pm-tasks-linear |
pm-tasks-notion |
🔒 scaffold | skills/pm-tasks-notion/ | — | — |
pm-tasks-clickup |
🔒 scaffold | skills/pm-tasks-clickup/ | — | — |
pm-tasks-monday |
🔒 scaffold | skills/pm-tasks-monday/ | — | — |
pm-tasks-bitrix24 |
🔒 scaffold | skills/pm-tasks-bitrix24/ | — | — |
pm-tasks-todoist |
🔒 scaffold | skills/pm-tasks-todoist/ | — | — |
[!NOTE]
scaffoldskills are reserved namespaces with a placeholderSKILL.md. Their description tells agents NOT to activate until a real adapter ships. 5 scaffolds remain (notion, clickup, monday, bitrix24, todoist) — Linear has shipped and is no longer a scaffold.
[!NOTE]
@llodev/pm-tasks(meta) is versioned independently from the family viaonlyUpdatePeerDependentsWhenOutOfRange. The family is atv1.x; meta jumped tov3.0.0before decoupling (currentlyv3.1.0) and will stay atv3.xuntil the family reachesv2.0.0.
django-* — Django design skills
Pure knowledge skills for designing production-grade Django apps — no MCP, no config, no init. They activate on the prompt and inject expert decisions (trade-offs, anti-patterns, decision trees), not basic ORM syntax. First member ships schema design; more Django-context skills are planned (see roadmap).
| Package | Status | Source | npm | Vercel CLI |
|---|---|---|---|---|
@llodev/django-schema-design |
✅ v0.1.0 | skills/django-schema-design/ | npm i @llodev/django-schema-design |
npx skills add llodev/skills/skills/django-schema-design |
[!NOTE]
django-schema-designcovers the database-schema layer (PK strategy, indexes, constraints, migrations). A futuredjango-model-designsibling is reserved for the model layer (relationships, managers, fat-vs-thin models).
@llodev/ts-ddd — TypeScript DDD design skills
Pure knowledge skills for building a TypeScript + DDD codebase — no MCP, no config, no init. They activate on the prompt and inject expert decisions (Result-based validation, cloneWith state transitions, enum-backed closed sets, Firestore/InMemory adapter pairs) for each architectural layer, plus a CQRS read-side companion.
| Package | Status | Source | npm | Vercel CLI |
|---|---|---|---|---|
@llodev/ts-ddd (meta) |
✅ v0.1.0 | packages/ts-ddd/ | npm i @llodev/ts-ddd |
— |
@llodev/ts-ddd-entity |
✅ v0.1.0 | skills/ts-ddd-entity/ | npm i @llodev/ts-ddd-entity |
npx skills add llodev/skills/skills/ts-ddd-entity |
@llodev/ts-ddd-value-object |
✅ v0.1.0 | skills/ts-ddd-value-object/ | npm i @llodev/ts-ddd-value-object |
npx skills add llodev/skills/skills/ts-ddd-value-object |
@llodev/ts-ddd-dto |
✅ v0.1.0 | skills/ts-ddd-dto/ | npm i @llodev/ts-ddd-dto |
npx skills add llodev/skills/skills/ts-ddd-dto |
@llodev/ts-ddd-use-case |
✅ v0.1.0 | skills/ts-ddd-use-case/ | npm i @llodev/ts-ddd-use-case |
npx skills add llodev/skills/skills/ts-ddd-use-case |
@llodev/ts-ddd-repository |
✅ v0.1.0 | skills/ts-ddd-repository/ | npm i @llodev/ts-ddd-repository |
npx skills add llodev/skills/skills/ts-ddd-repository |
@llodev/ts-ddd-controller |
✅ v0.1.0 | skills/ts-ddd-controller/ | npm i @llodev/ts-ddd-controller |
npx skills add llodev/skills/skills/ts-ddd-controller |
@llodev/ts-ddd-domain-service |
✅ v0.1.0 | skills/ts-ddd-domain-service/ | npm i @llodev/ts-ddd-domain-service |
npx skills add llodev/skills/skills/ts-ddd-domain-service |
@llodev/ts-query-cqrs |
✅ v0.1.0 | skills/ts-query-cqrs/ | npm i @llodev/ts-query-cqrs |
npx skills add llodev/skills/skills/ts-query-cqrs |
[!NOTE]
ts-query-cqrsis the read-side companion — it covers*Queryports andfind-*read use cases that stay separate from the write-sidets-ddd-repository/ts-ddd-use-casepair. Install@llodev/ts-dddto pull in all 8 skills at once.
Agent compatibility
Every published skill declares which agents it targets via the compatibility.agents field in its frontmatter. The current matrix:
Claude Code · Cursor · Codex · Windsurf · Cline · Roo Code (Gemini CLI partial via translation layer)
Repository layout
Skills live flat under skills/ (one directory per skill, the convention agent
skill indexers expect); family membership is carried by the pm-tasks- name
prefix and each skill's metadata.family field, not by directory nesting.
Non-skill workspace packages (the meta-package, test kit) live under packages/.
.
├── skills/ Every skill — flat, one directory each
│ ├── pm-tasks-core/ Shared extraction + CRUD vocabulary (family: pm-tasks)
│ ├── pm-tasks-asana/ Asana adapter (parent + subtasks, custom fields, sections)
│ ├── pm-tasks-trello/ Trello adapter (boards, lists, labels, members)
│ ├── pm-tasks-jira/ Jira adapter (epics, estimates, transitions)
│ ├── pm-tasks-linear/ Linear adapter (cycles, labels, native temporal fields)
│ ├── pm-tasks-<member>/ Reserved scaffolds (Notion, ClickUp, Monday, Bitrix24, Todoist)
│ ├── django-schema-design/ Schema design: PK strategy, indexes, constraints, migrations
│ ├── ts-ddd-entity/ Domain entities: Entity base, Result.combine, cloneWith transitions
│ ├── ts-ddd-value-object/ Value objects: closed-set + composite VOs, tryCreate/create
│ ├── ts-ddd-dto/ DTOs & contracts: Zod 4 schemas, z.infer types, closed-set enums
│ ├── ts-ddd-use-case/ Application use cases: UseCase<IN,OUT>, repo-port orchestration
│ ├── ts-ddd-repository/ Repository ports + adapters: Firestore/InMemory pair, DI token
│ ├── ts-ddd-controller/ HTTP controllers: routes, guards, Zod validation, Result→HTTP
│ ├── ts-ddd-domain-service/ Domain services: stateless policies/calculators returning Result
│ └── ts-query-cqrs/ Read-side CQRS: *Query ports, find-* read use cases, projections
├── packages/ Non-skill workspace packages (no SKILL.md)
│ ├── pm-tasks/ Meta-package — installs the whole pm-tasks family
│ ├── pm-tasks-testkit/ In-memory fakes for the canonical CRUD verbs
│ └── ts-ddd/ Meta-package — installs the whole ts-ddd family
├── scripts/ Validators, contract checks, skill-judge baseline gate
├── docs/ publishing-guide.md + roadmap.md (gitignored: plans/)
└── .changeset/ Release intent records (Changesets workflow)
Local development
make hooks # one-time — installs lefthook (prettier on staged, gitleaks, Conventional Commits)
make validate # frontmatter + schema + link + locale-parity checks
make help # full target list
[!TIP] The
Makefileis the canonical entry point — shorter than remembering pnpm script names, and the only one that's enforced by lefthook on commit.
Releases follow the Changesets workflow — record intent with make changeset, apply with make release-version, publish with make release-publish. See .changeset/README.md for a step-by-step.
Roadmap
Active focus: adapter expansion (Jira, Linear) has shipped, and the cross-cutting Lifecycle Fidelity program landed across all 5 released adapters. Current priority is stabilizing and dogfooding the 5 released adapters (core, asana, trello, jira, linear); further adapters are demand-driven from the scaffold pool, not scheduled. Full detail with priorities and rationale in docs/roadmap.md.
Recently delivered (v1.8.0 → Lifecycle Fidelity):
v1.8.0(minor) — Observability v1: smartaudit.logrotation (size + age + multi-tool, atomic, idempotent) ·pm-tasks-core-doctorCLI · adapter--doctorflags.v1.9.0(minor) — Headless runtime + plan-execution:/adaptersubpath (createAdapter, 7 verbs, stubbableMcpCaller) · agent-agnostic/plan-executionmode (config gate, plan-task discovery,onTaskStart/onTaskCompleteboundary hooks).v1.10.0(minor) — Canary publish: per-PR0.0.0-pr-<N>-<sha>under dist-tagpr-<N>·--from-canaryE2E (installs from real npm) · auto-cleanup on close (untag + unpublish/deprecate) · doctorC-VER-1probe + pre-release-pr-guard.v1.11.0(minor) — pm-tasks-jira v1.0.0: first Jira adapter (9 verbs, headless/adapter, init + doctor, F3task.parent.set+ F7task.estimate.set, estimation module) · core: estimation types +normalizeEstimatehelper.- pm-tasks-jira v1.2.0 and pm-tasks-linear v1.0.0 → v1.1.0 — jira's estimation/lifecycle follow-ups, and the new Linear adapter (Cycles, labels), both carried forward through the Lifecycle Fidelity program below.
- Lifecycle Fidelity (core → asana
v1.9.0→ trellov1.8.0→ jirav1.2.0→ linearv1.1.0) — create-time typeddueDateacross all adapters, plus start/close temporal handling: native no-overwrite semantics for asana/jira/linear, overwrite + description-footer for trello.
Adapter expansion — demand-driven (no committed order or version):
pm-tasks-github-projects(S8) —github-mcp-servernative PM on GitHub; high value, low cost.pm-tasks-clickup(S3) ·pm-tasks-notion(S4) ·pm-tasks-monday(S5) ·pm-tasks-todoist(S6) ·pm-tasks-bitrix24(S7).
Across the adapter wave — new canonical verbs (additive minors):
- 8th
task.sprint.set· 9thtask.parent.set(Jira/Linear) · 10thtask.time.log· 11thtask.estimate.set· 12thtask.blocks.add· 13thtask.wip-limit.check.
Mid-term — library/SDK and reverse sync:
- P2 —
@llodev/pm-tasks-clistandalone CLI over the F14 headless/adaptersubpath. - P4 — Plugin SDK (
npx pm-tasks-contract-tests) for out-of-tree adapters. - F1 — bidirectional sync (read-back PM tool → plan) once ≥4 adapters land.
New family — django-* (Django design skills):
django-schema-design(v0.1.0) — shipped: PK strategy (incremental / UUIDv4 / UUIDv7 with insert-locality trade-offs), indexes, constraints, and safe migrations. First of several planned Django-context skills;django-model-design(model layer) is the natural next.
New family — ts-ddd-* (TypeScript DDD design skills):
- 8 skills shipped at
v0.1.0:ts-ddd-entity,ts-ddd-value-object,ts-ddd-dto,ts-ddd-use-case,ts-ddd-repository,ts-ddd-controller,ts-ddd-domain-service, plus the read-sidets-query-cqrs. Project-agnostic DDD building blocks for TypeScript codebases —Result-based validation, closed-set enums, Firestore/InMemory adapter pairs, and CQRS read/write separation. Install the whole family with@llodev/ts-ddd(meta).
Docs
- Publishing guide — how the three distribution channels work.
- Changesets workflow — record → version → publish.
- Per-family deep dives live in each member's
SKILL.mdandreferences/.
License
MIT — see LICENSE.
No comments yet
Be the first to share your take.