core
Skill0 starsChanged 6 months agoMITView on GitHub
Core PM Operating Kit rules — closed-set status enum, frontmatter timestamps, Story-Testplan pairing, DoR/DoD gates, hat protocol, ADR-on-the-spot, bug-auto-raise. Use when working anywhere under _00-Project-Management/, when creating or modifying any artefact (epic/feature/story/testplan/bug/ADR), or when uncertain about the project's PM conventions.
28 other projects use a version of this.
Adopted by
Most recently taken up by
- gkurt/ai-soulstheir own version, first seen Nov 8, 2026
- ouestlabs/audio-uitheir own version, first seen Nov 2, 2026
- vercel-labs/json-rendertheir own version, first seen Oct 29, 2026
- fishzjp/qa-skillstheir own version, first seen Oct 21, 2026
- ryu111/claude-workflow-configtheir own version, first seen Oct 20, 2026
- menteorama/essentialstheir own version, first seen Oct 17, 2026
Used with
Projects with it also use ts-core, native-ui and 3 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
VercelSkillts-core
Authoring guide for the primary Native SDK app-logic path: TypeScript app cores - Model, Msg, update, and the pure functions they call, written in the closed app-core subset, checked by the @native-sdk/core frontend, and compiled ahead-of-time to native code by the external core compiler. Use for new apps unless the user explicitly chose Zig, when writing or modifying a src/core.ts app core, fixing subset checker errors (NS1001-NS1069), or deciding how to express state, messages, text (bytes and the byte-text string methods), text input, continuous controls (sliders, scroll), effects (Cmd), subscriptions (Sub), the host-event wiring channels (frameMsg, keyMsg, pinchMsg, dropMsg, appearanceMsg, chromeMsg, envMsgs, app manifest assets), derived values, the view_unbound lint opt-out, local mutation of owned arrays, or how to split a core into modules under src/ (relative imports, namespace imports, @native-sdk/core/text, @native-sdk/core/events). Use ts-services alongside this guide for src/services work.
Also in 3 projects that use this
VercelSkillnative-ui
Authoring guide for the Native markup (.native) view tier of native-rendered Native SDK apps. TypeScript cores are the default and use this skill together with ts-core; Zig cores are an explicit alternative and this guide labels their lower-level UiApp recipes. Use when building or modifying native UI (widgets, layout, bindings, messages), writing .native files, wiring views to Model/Msg/update, testing markup views, or verifying a native app through the automation harness.
Also in 3 projects that use this
- +3 more from vercel-labs
Other versions28 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 28
- vercel-labs/agent-browser★ 47ksame name
- vercel-labs/json-render★ 19ksame name
- microsoft/data-formulator★ 17ksame name
- microsoft/RD-Agent★ 15ksame name
- vercel-labs/zero-native★ 7.8ksame name
- vercel-labs/native★ 7.8ksame name
- ouestlabs/audio-ui★ 202same name
- vercel-labs/issue-graph★ 163same name
- vercel-labs/xref★ 163same name
- fishzjp/qa-skills★ 62same name
18 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository32 other files it gives its agents.
- _00-Project-Management/CLAUDE.mdCLAUDE.md
- autopilotSkill
- close-out-storySkill
- close-phaseSkill
- critiqueSkill
- curate-toolkitSkill
- documentSkill
- draft-epicSkill
- draft-okrsSkill
- draft-prdSkill
- execute-batch-parallelSkill
- execute-batchSkill
- execute-storySkill
- execution-strategistSkill
- fill-claude-mdSkill
- installSkill
- modeSkill
- monthly-retroSkill
- path-scope-exampleSkill
- peer-reviewSkill
- plan-driftSkill
- refine-backlogSkill
- reflectSkill
- run-testplanSkill
- session-startSkill
- split-into-featuresSkill
- split-into-storiesSkill
- start-phaseSkill
- triage-backlogSkill
- updateSkill
- weekly-monitorSkill
- write-outcomesSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 3 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 20 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 37
Every artefact has three timestamp fields:
- Very specific: line 54
Never invent values. Never use open / shipped / completed / fixed / deferred / Planned.
- Very specific: line 68
When creating a STORY under 32-Stories/EPIC-NN/FEAT-NN.M/, create the paired TESTPLAN at …
- Distinctive: line 70
Every AC checkbox in the story maps to ≥1 TC in the testplan.
- Very specific: line 71
Every TC has a runnable Command: (no manual steps, no "have a human verify").
- Very specific: line 85
Before flipping a story not-started/ready → in-progress, verify the DoR checklist in SOP.md §6.
- Very specific: line 89
Before flipping a story in-review → done, verify the DoD checklist in SOP.md §7.
- Very specific: line 97
Every new artefact starts from 91-Templates/<TYPE>.template.md.
- Very specific: line 114
Every EPIC must have okr: or prd_section: in frontmatter.
- Very specific: line 133
When a story flips to done, update 42-Monitor/MONITOR.md in the same edit (tick the bar, update shipped count, prepend revision-history …
- Distinctive: line 140
Never delegate understanding.
“Common” is measured: kept by at least 6 in 10 of the 20 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Tandem — core PM rules
You are working in a project that uses the Greenfield PM Operating Kit. These rules are mandatory whenever you touch anything under _00-Project-Management/.
Lifecycle command chain (canonical order — single source of truth)
This is the one place the lifecycle command order is recorded (ADR-0047). Every per-command Next: pointer in the lifecycle skills must agree with this chain; if a pointer ever disagrees, this record wins and the pointer is the bug.
The chain shares one planning prefix, then forks at execution-strategist into two honest paths. Follow exactly one path per unit of work — each step then runs exactly once:
Planning prefix: /tandem:draft-okrs → /tandem:draft-prd → /tandem:draft-epic → /tandem:split-into-features → /tandem:split-into-stories → /tandem:refine-backlog → /tandem:execution-strategist
- Single-story path:
/tandem:execution-strategist→/tandem:execute-story→/tandem:run-testplan→/tandem:close-out-story - Batched path:
/tandem:execution-strategist→/tandem:start-phase→/tandem:execute-batch→/tandem:close-phase— execute-batch composes the per-story skills (execute-story→run-testplan→close-out-story) internally; never re-run them separately after a batch, and never run a batch withoutstart-phasecutting the phase branch first.
close-phase is terminal (no Next: pointer). Every skill not named in the chain is a non-chain utility (cadence / review / setup — e.g. weekly-monitor, monthly-retro, reflect, session-start, critique, peer-review, document, curate-toolkit, fill-claude-md, mode); the two fork paths above are the only lifecycle orders.
Reference order — where to look
- Project root
CLAUDE.md— pointers + critical gotchas _00-Project-Management/CLAUDE.md— folder semantics_00-Project-Management/90-Standards/SOP.md— full lifecycle, DoR, DoD, frontmatter contract, subagent policy (§18)_00-Project-Management/90-Standards/PROJECT-CONTEXT.md— this project's stack quirks_00-Project-Management/90-Standards/DAILY-WORKFLOW.md— rhythm + worked example_00-Project-Management/90-Standards/CLAUDE-CODE-CONFIG.md— how this plugin maps to Anthropic's Claude Code best practices- Template in
_00-Project-Management/91-Templates/
Non-negotiable rules
Frontmatter timestamps
Every artefact has three timestamp fields:
created_at: '' # set on file create; ISO 8601 with offset, quoted string
started_at: '' # set when status → in-progress
completed_at: '' # set when status → done | wontfix | duplicate | archived- Format:
YYYY-MM-DDTHH:MM:SS±HH:MM. Always quoted. - Source of "now": system clock (
Get-Date -Format "yyyy-MM-ddTHH:mm:sszzz"ordate -u +"%Y-%m-%dT%H:%M:%S%z"), not the chat-stated date. - Status flip + timestamp set = same edit, not separate.
- Status revert (back to
not-started) → clearstarted_atandcompleted_atto''.
Status enum — closed set, exactly 9 values
not-started | ready | in-progress | in-review | done | blocked | wontfix | duplicate | archived
Never invent values. Never use open / shipped / completed / fixed / deferred / Planned.
Folder layout (full | flattened | custom)
The kit's skills and templates name PM sub-folders in the canonical "full" numbering: 30-Epics, 31-Features, 32-Stories, 33-Testplans, 34-Bugs, 40-Decisions, 42-Monitor, 11-Backlog, …
A project may instead use a "flattened" layout (e.g. 01-EPIC, 02-Features, 03-Stories, 05-Test, 04-Bug, 06-ADR, 00-Monitor) or a custom map.
The scripts resolve the real folder names automatically via _00-Project-Management/93-Scripts/lib/pm-paths.js, driven by .claude-pm-config.json ("layout": "full"|"flattened" and/or a per-key "paths" override). pm:install pins this; pm:doctor reports it.
INSTRUCTION TO CLAUDE: when a skill names a folder like 32-Stories, do not assume that literal path — resolve it to the project's actual folder first (read .claude-pm-config.json, or list _00-Project-Management/ and match by role: epics/features/stories/testplans/bugs/decisions/monitor/backlog). On a flattened project: 32-Stories→03-Stories, 33-Testplans→05-Test, 34-Bugs→04-Bug, 40-Decisions→06-ADR, 42-Monitor→00-Monitor.
Story → Testplan pairing — MANDATORY
When creating a STORY under 32-Stories/EPIC-NN/FEAT-NN.M/, create the paired TESTPLAN at 33-Testplans/EPIC-NN/FEAT-NN.M/TESTPLAN-NN.M.PP-<slug>.md in the same response.
- Every AC checkbox in the story maps to ≥1 TC in the testplan.
- Every TC has a runnable
Command:(no manual steps, no "have a human verify"). - See
91-Templates/STORY.template.md+91-Templates/TESTPLAN.template.md.
Bug auto-raise on failure — MANDATORY
Whenever a TC fails or you observe any defect during exploration/code review, file a BUG at 34-Bugs/EPIC-NN/FEAT-NN.M/BUG-<YYYYMMDD-NN>-<slug>.md in the same response, before reporting in chat.
- ID format:
BUG-YYYYMMDD-NNwhereNNis the day's sequential counter within that FEAT folder. - Slug: kebab-case, ≤6 words, describing the symptom.
- Body includes: reproduction steps, environment snapshot, first analysis hypothesis, suggested fix direction a junior dev can act on.
- Use
91-Templates/BUG.template.md.
DoR gate — before in-progress
Before flipping a story not-started/ready → in-progress, verify the DoR checklist in SOP.md §6. If a DoR item is missing, stop, list the gap, ask.
DoD gate — before done
Before flipping a story in-review → done, verify the DoD checklist in SOP.md §7. MONITOR.md update is part of the same response.
ADR on the spot — MANDATORY for non-obvious decisions
On any non-obvious decision (library choice, schema field name, threshold setting, scope deferral, divergence from defaults), create 40-Decisions/ADR-<NNNN>-<slug>.md in the same response. Number sequentially across the project. Link from the story's decisions: array.
Templates over memory
Every new artefact starts from 91-Templates/<TYPE>.template.md. Do not redraft section headings from memory.
Artefact economy — quality over count
Before creating any EPIC / FEAT / STORY / BUG / BACKLOG artefact, apply 90-Standards/ARTEFACT-ECONOMY.md: choose the smallest level that carries the claim; fewest artefacts that carry the claims; one intake item per initiative (tranches, not siblings); every artefact carries a falsifiable claim; small debt rides the next story touching the same files. Kill-before-promote cadence: triage-backlog before refine-backlog. When unsure between two levels, pick the smaller.
Concision — artefacts and chat (convention, not gate)
One writing convention for every producer skill and every hat; not a new MANDATORY gate.
- Artefacts: Match section length to substance — cover what the ACs need and stop; don't pad sections to look complete.
- Chat: lead with the outcome or verdict; supporting detail after. Plain English, complete sentences, no ceremony or filler openers. Explain a thing once — don't restate what a table, file, or earlier line already says.
- Long enumerations (finding lists, per-item tables, logs) belong in an artefact or report; chat carries the verdict plus the pointer.
- Respect stated output budgets where a skill declares one (e.g.
session-start≤ 25 lines).
Strategy linkage
Every EPIC must have okr: or prd_section: in frontmatter. Reject epics without strategic linkage — ask "What business outcome does this move?" before writing.
Hat protocol
State which hat at session start: Founder · PM · Dev · QA. Don't mix hats in one session.
| Hat | Owns |
| Founder | Strategy, OKRs, epic approvals, sunset decisions |
| PM | Inbox → Backlog refinement, MONITOR updates |
| Dev | Code, tests, story status Ready → Active → Review |
| QA | Testplan execution, bug raising, DoD sign-off |
Conversation Mode (the moat) — enforces the hats across chats
A project-global Mode (plan · dev · dual · neutral) groups and enforces the hats across separate chats. It persists in .tandem-mode.json (repo root, git-ignored) and is injected each message by the UserPromptSubmit hook for joined chats. Plan groups Founder/PM/QA-planning; Dev groups Dev/QA-execution. On an out-of-mode request, nudge (switch / go Dual / one-off) — never hard-block. Set it with /mode <plan|dev|dual|neutral>; it auto-resets to Neutral on close-out-story (last story in phase) and close-phase. Full rules: the mode skill.
MONITOR + dashboard
When a story flips to done, update 42-Monitor/MONITOR.md in the same edit (tick the bar, update shipped count, prepend revision-history one-liner). The dash hook (Stop event) regenerates DASHBOARD.html at session end — you don't need to run npm run pm:dash manually if the plugin is active.
Subagent delegation (SOP §18)
- Editing / decisions / status flips → main thread.
- "Where is X / which files reference Y" → Explore agent (read-only).
- Multi-step research, running tests, anything producing noisy logs → fresh agent.
- Never delegate understanding. Agents return evidence; main thread synthesises.
When in doubt
Bring it to the user. Do not invent rules. Do not silently bend.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

