# Pm Tasks Core

> Core extraction + vocabulary for the @llodev/pm-tasks-* family. Use when working with any pm-tasks-<tool> adapter (Trello, Asana, etc.) — provides Phases 1–3 (identify input, extract structure, build the generic card) plus the canonical CRUD vocabulary (task.create, checklist.check, task.close, task.due-date.set, task.assignee.add, task.comment.add, task.move, task.parent.set, task.estimate.set, task.sprint.set) consumed by adapters. Also defines autonomous-mode contract (sentinels, allowlist, scope, audit log) and the shared init UX. Triggered indirectly by any prompt that an adapter handles (e.g. "create Trello card", "publish plan to Asana", "[autonomous] create task"). Do NOT activate alone — it has no tool-specific formatting.

- Skill: `llodev/pm-tasks-core` (Agent Skill, multi-file: 78 files)
- Install (CLI): `npx skillmds@latest add llodev/pm-tasks-core`
- Raw SKILL.md: https://api.skillmd.com/api/skills/llodev/pm-tasks-core/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: llodev (https://skillmd.com/u/llodev)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/llodev/pm-tasks-core

---


# pm-tasks-core

Shared core for all `pm-tasks-<tool>` adapters. Defines the extraction phases, the generic-card structure, the CRUD vocabulary, the autonomous-mode contract, the configuration lookup rules, and the audit-log format. Adapters reference this skill by path — no formal dependency mechanism in the spec.

## Routing

Adapters invoke this skill BEFORE applying their tool-specific formatting. The exact pointer is documented in [`references/contract.md`](references/contract.md).

## Phases

| Phase | Purpose                                                      | Reference                                                  |
| ----- | ------------------------------------------------------------ | ---------------------------------------------------------- |
| 1     | Identify the input (plan file vs inline paste vs implicit)   | [`references/contract.md`](references/contract.md) § 1     |
| 2     | Extract sections by intent (goal, prereqs, tasks, done-when) | [`references/contract.md`](references/contract.md) § 2     |
| 2.5   | Anti-patterns gate                                           | [`anti-patterns/core.md`](anti-patterns/core.md)           |
| 3     | Build the generic card                                       | [`references/generic-card.md`](references/generic-card.md) |

Adapters then execute Phases 4+ per their own SKILL.md.

## CRUD vocabulary (verbs adapters implement)

See [`references/crud-vocabulary.md`](references/crud-vocabulary.md). Ten verbs: `task.create`, `checklist.check`, `task.close`, `task.due-date.set`, `task.assignee.add`, `task.comment.add`, `task.move`, `task.parent.set` (adapter-optional), `task.estimate.set` (adapter-optional), `task.sprint.set` (adapter-optional; Linear first supporter). All idempotent (with `clientToken` rules for non-natural cases).

## Autonomous mode

See [`references/autonomous-mode.md`](references/autonomous-mode.md). Activated only by sentinel `[autonomous]` / `--auto` / env `LLODEV_PM_TASKS_AUTONOMOUS=1`. Requires explicit allowlist + scope + rate limit in the tool's config. Never inferred. Agent-authored copy (commits, PRs, comments) follows the workspace narration language — see [Narration language](#narration-language).

## Narration language

**Narration language.** When `.<tool>.json` sets `locale`, all agent-authored narration — comments the agent writes, autonomous-mode commit and PR copy, code comments, and audit/CLI free-text — MUST be in that locale's language. The **plan's** language still governs **task content** (title, description, checklist items); these are separate concerns. If `locale` is unset, `pm-tasks-core-doctor` (`C-LANG-1`) warns and narration defaults to English.

## Configuration

Lookup order: `<git-root>/.<tool>.json` → `~/.config/llodev/pm-tasks/<tool>.json` → abort. Secrets NEVER in JSON (env vars / OS keychain only).

## Audit log

Append-only JSONL at `~/.local/share/llodev/pm-tasks/<tool>/audit.log`. Schema in [`references/audit-log-format.md`](references/audit-log-format.md). Doubles as the lookup index for `<task-ref>` resolution.

## Init helper

Adapters expose `npx @llodev/pm-tasks-<tool> init`. Shared UX in [`references/init-ux.md`](references/init-ux.md). Implementation library at `@llodev/pm-tasks-core/init-lib` (TypeScript source under `./src/init-lib.ts`; compiled to `./dist/init-lib.js`).

## Health check (doctor)

`pm-tasks-core-doctor` validates a workspace config, autonomous allowlist, audit writability, and network reach. Check matrix and exit codes in [`references/doctor.md`](references/doctor.md) — `pm-tasks-core-doctor` check catalog + exit codes.

## Standalone fallback

This skill is not useful without an adapter. If activated alone, tell the user to install at least one `pm-tasks-<tool>` package.

