{"id":"25684cd3-ecd3-4278-9e0b-d34126333027","shortId":"NeMfwq","kind":"skill","title":"042-planning-openspec","tagline":"Use when you need to take a `*.plan.md` file and turn it into OpenSpec change artifacts by validating OpenSpec installation, initializing or reusing an OpenSpec project, and creating or updating a change proposal/spec/tasks flow. Includes a concrete workflow based on `examples/re","description":"# OpenSpec Change Planning from `*.plan.md`\n\nGuide the process of turning an implementation plan (`*.plan.md`) into an OpenSpec change workflow. **This is an interactive SKILL**. It verifies CLI availability, initializes OpenSpec when needed, and then creates or updates a change with proposal, design, tasks, and spec deltas.\n\n**What is covered in this Skill?**\n\n- Input analysis from `*.plan.md` (scope, change-id candidate, affected capabilities)\n- Installation and availability checks for OpenSpec CLI\n- Recommended installation paths on macOS, Linux, and Windows using npm\n- OpenSpec project bootstrapping with `openspec init`\n- Existing-project workflow using `openspec list`, `openspec status`, `openspec show`\n- Validation and completion flow with `openspec validate --all` and `openspec archive`\n- Example-root workflow at `examples/requirements-examples/problem1/requirements/openspec`\n\n## Constraints\n\nAlways execute OpenSpec commands from the parent directory that contains the `openspec/` folder. Do not invent requirements not present in the `*.plan.md`; convert plan intent into explicit OpenSpec change artifacts.\n\n- **MUST**: Start by reading and summarizing the provided `*.plan.md`\n- **MUST**: Check CLI availability with `openspec --version` before any OpenSpec operation\n- **MUST**: If OpenSpec is missing, provide macOS, Linux, and Windows install guidance via npm command\n- **MUST**: Offer `openspec init` when no OpenSpec project exists\n- **MUST**: When creating a new OpenSpec project, run plain `openspec init` only (do not use `--tools ...` options)\n- **MUST**: Use a stable change-id (for example: `add-dark-mode`) for status/show/archive commands\n- **MUST**: Run `openspec validate --all` before archiving\n- **MUST**: When a feature/change is completed (all checklist tasks done), guide the user to archive it (for example: `openspec archive us-001-god-analysis-api`)\n- **MUST**: In `tasks.md`, generate a single OpenSpec checklist (`- [ ]` / `- [x]`) only; do not add a second table-based task list\n- **MUST**: Explain whether the workflow creates a new change or updates an existing one\n- **EDGE CASE**: If request scope is ambiguous, stop and ask a clarifying question before applying changes\n- **EDGE CASE**: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance\n\n## When to use this skill\n\n- Convert `*.plan.md` into OpenSpec\n- Add change proposal from plan\n- Update existing OpenSpec project\n- Initialize OpenSpec in requirements folder\n- Validate and archive OpenSpec change\n\n## Workflow\n\n1. **Read and summarize plan input**\n\nRead `references/042-planning-openspec.md` and the provided `*.plan.md`, then summarize scope and identify candidate change-id and affected capabilities.\n\n2. **Check OpenSpec CLI and install gate**\n\nRun `openspec --version`; if missing, provide npm installation guidance for macOS, Linux, and Windows before proceeding.\n\n3. **Initialize or detect OpenSpec project**\n\nFrom the parent directory containing `openspec/`, run project checks and offer `openspec init` (without `--tools`) when initialization is needed.\n\n4. **Create or update change artifacts**\n\nExplain whether this is a new or existing change, then create/update proposal, design, tasks, and spec deltas using a stable change-id.\n\n5. **Validate and close workflow**\n\nRun `openspec validate --all`; when checklist tasks are complete, guide the user to archive the change with `openspec archive <change-id>`.\n\n## Reference\n\nFor detailed guidance, examples, and constraints, see [references/042-planning-openspec.md](references/042-planning-openspec.md).","tags":["042","planning","openspec","cursor","rules","java","jabrena","agent-skills","ai-skills","claude","claude-code","claude-code-skills"],"capabilities":["skill","source-jabrena","skill-042-planning-openspec","topic-agent-skills","topic-ai-skills","topic-claude","topic-claude-code","topic-claude-code-skills","topic-claude-code-subagents","topic-claude-skills","topic-cursor-agent","topic-cursor-ai","topic-cursor-skills","topic-cursorai","topic-github-copilot"],"categories":["cursor-rules-java"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/jabrena/cursor-rules-java/042-planning-openspec","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add jabrena/cursor-rules-java","source_repo":"https://github.com/jabrena/cursor-rules-java","install_from":"skills.sh"}},"qualityScore":"0.631","qualityRationale":"deterministic score 0.63 from registry signals: · indexed on github topic:agent-skills · 362 github stars · SKILL.md body (3,643 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-26T18:53:40.135Z","embedding":null,"createdAt":"2026-04-18T22:01:47.807Z","updatedAt":"2026-04-26T18:53:40.135Z","lastSeenAt":"2026-04-26T18:53:40.135Z","tsv":"'-001':296 '042':1 '1':402 '2':426 '3':449 '4':474 '5':503 'add':262,313,382 'add-dark-mod':261 'affect':107,424 'alway':161 'ambigu':341 'analysi':99,299 'api':300 'appli':349 'archiv':153,274,289,294,398,521,526 'artifact':20,190,479 'ask':344,366 'avail':73,111,203 'base':43,318 'bootstrap':128 'candid':106,419 'capabl':108,425 'case':336,352 'chang':19,36,47,63,84,104,189,257,329,350,383,400,421,478,488,501,523 'change-id':103,256,420,500 'check':112,201,427,463 'checklist':282,308,513 'clarifi':346 'cli':72,115,202,429 'close':506 'command':164,225,267 'complet':145,280,516 'concret':41 'constraint':160,533 'contain':170,459 'convert':183,378 'cover':94 'creat':32,80,237,326,475 'create/update':490 'dark':263 'delta':91,496 'design':87,492 'detail':529 'detect':452 'directori':168,458 'done':284 'edg':335,351 'exampl':155,260,292,531 'example-root':154 'examples/re':45 'examples/requirements-examples/problem1/requirements/openspec':159 'execut':162 'exist':133,234,333,388,487 'existing-project':132 'explain':322,480 'explicit':187 'feature/change':278 'file':13,356 'flow':38,146 'folder':173,395 'gate':432 'generat':304 'god':298 'god-analysis-api':297 'guid':51,285,517 'guidanc':222,372,441,530 'id':105,258,422,502 'identifi':418 'implement':57 'includ':39 'init':131,229,245,467 'initi':25,74,391,450,471 'input':98,355,407 'instal':24,109,117,221,431,440 'intent':185 'interact':68 'invent':176 'linux':121,218,444 'list':138,320 'maco':120,217,443 'miss':215,360,364,437 'mode':264 'must':191,200,211,226,235,252,268,275,301,321 'need':8,77,473 'new':239,328,485 'npm':125,224,439 'offer':227,465 'one':334 'openspec':4,18,23,29,46,62,75,114,126,130,137,139,141,148,152,163,172,188,205,209,213,228,232,240,244,270,293,307,381,389,392,399,428,434,453,460,466,509,525 'oper':210 'option':251 'parent':167,457 'path':118 'plain':243 'plan':3,48,58,184,386,406 'plan.md':12,50,59,101,182,199,379,413 'planning-openspec':2 'present':179 'proceed':369,448 'process':53 'project':30,127,134,233,241,390,454,462 'propos':86,384,491 'proposal/spec/tasks':37 'provid':198,216,412,438 'question':347 'read':194,403,408 'recommend':116 'refer':527 'references/042-planning-openspec.md':409,535,536 'report':361 'request':338 'requir':177,354,394 'reus':27 'root':156 'run':242,269,433,461,508 'scope':102,339,416 'second':315 'see':534 'setup':371 'show':142 'singl':306 'skill':69,97,377 'skill-042-planning-openspec' 'source-jabrena' 'spec':90,495 'stabl':255,499 'start':192 'status':140 'status/show/archive':266 'stop':342 'summar':196,405,415 'tabl':317 'table-bas':316 'take':10 'task':88,283,319,493,514 'tasks.md':303 'tool':250,358,469 'topic-agent-skills' 'topic-ai-skills' 'topic-claude' 'topic-claude-code' 'topic-claude-code-skills' 'topic-claude-code-subagents' 'topic-claude-skills' 'topic-cursor-agent' 'topic-cursor-ai' 'topic-cursor-skills' 'topic-cursorai' 'topic-github-copilot' 'turn':15,55 'updat':34,82,331,387,477 'us':295 'use':5,124,136,249,253,375,497 'user':287,519 'valid':22,143,149,271,396,504,510 'verifi':71 'version':206,435 'via':223 'whether':323,367,481 'window':123,220,446 'without':468 'workflow':42,64,135,157,325,401,507 'x':309","prices":[{"id":"e54a2d2d-fb10-40dd-9a07-ea97859212ea","listingId":"25684cd3-ecd3-4278-9e0b-d34126333027","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"jabrena","category":"cursor-rules-java","install_from":"skills.sh"},"createdAt":"2026-04-18T22:01:47.807Z"}],"sources":[{"listingId":"25684cd3-ecd3-4278-9e0b-d34126333027","source":"github","sourceId":"jabrena/cursor-rules-java/042-planning-openspec","sourceUrl":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/042-planning-openspec","isPrimary":false,"firstSeenAt":"2026-04-18T22:01:47.807Z","lastSeenAt":"2026-04-26T18:53:40.135Z"}],"details":{"listingId":"25684cd3-ecd3-4278-9e0b-d34126333027","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jabrena","slug":"042-planning-openspec","github":{"repo":"jabrena/cursor-rules-java","stars":362,"topics":["agent-skills","ai-skills","claude","claude-code","claude-code-skills","claude-code-subagents","claude-skills","cursor-agent","cursor-ai","cursor-skills","cursorai","github-copilot","intellij-idea","java","prompting","system-prompts"],"license":"apache-2.0","html_url":"https://github.com/jabrena/cursor-rules-java","pushed_at":"2026-04-26T13:48:39Z","description":"A curated and opinionated collection of Skills and Agents to be used in modern SDLC workflows for Java Enterprise development with your favorite AI Agent harness.","skill_md_sha":"59720115eb6835621d9fb553b8a31544dbdc76ce","skill_md_path":"skills/042-planning-openspec/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/042-planning-openspec"},"layout":"multi","source":"github","category":"cursor-rules-java","frontmatter":{"name":"042-planning-openspec","license":"Apache-2.0","description":"Use when you need to take a `*.plan.md` file and turn it into OpenSpec change artifacts by validating OpenSpec installation, initializing or reusing an OpenSpec project, and creating or updating a change proposal/spec/tasks flow. Includes a concrete workflow based on `examples/requirements-examples/problem1/requirements/openspec`. This should trigger for requests such as Convert `*.plan.md` into OpenSpec; Add change proposal from plan; Update existing OpenSpec project; Initialize OpenSpec in requirements folder. Part of cursor-rules-java project"},"skills_sh_url":"https://skills.sh/jabrena/cursor-rules-java/042-planning-openspec"},"updatedAt":"2026-04-26T18:53:40.135Z"}}