User Story Writer
deanpeters/Product-Manager-Skills
Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.
Comet Phase 1: Open. An agent skill from rpamis/comet.
$ npx skills add rpamis/comet --skill comet-open -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rpamis/comet comet-open --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/rpamis/comet.git skills-src && mkdir -p .claude/skills && cp -r skills-src/eval/local/skills/benchmarks/039-release/comet-classic-039-open .claude/skills/comet-open && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "comet-open" agent skill from https://github.com/rpamis/comet/tree/master/eval/local/skills/benchmarks/039-release/comet-classic-039-open into .claude/skills/comet-open/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "comet-open", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/rpamis/comet/tree/master/eval/local/skills/benchmarks/039-release/comet-classic-039-openType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add rpamis/comet --skill comet-open -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rpamis/comet comet-open --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rpamis/comet.git skills-src && mkdir -p .agents/skills && cp -r skills-src/eval/local/skills/benchmarks/039-release/comet-classic-039-open .agents/skills/comet-open && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "comet-open" agent skill from https://github.com/rpamis/comet/tree/master/eval/local/skills/benchmarks/039-release/comet-classic-039-open into .agents/skills/comet-open/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "comet-open", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rpamis/comet --skill comet-open -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rpamis/comet comet-open --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rpamis/comet.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/eval/local/skills/benchmarks/039-release/comet-classic-039-open .cursor/skills/comet-open && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "comet-open" agent skill from https://github.com/rpamis/comet/tree/master/eval/local/skills/benchmarks/039-release/comet-classic-039-open into .cursor/skills/comet-open/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "comet-open", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/rpamis/comet.git --path eval/local/skills/benchmarks/039-release/comet-classic-039-open--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add rpamis/comet --skill comet-open -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rpamis/comet comet-open --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rpamis/comet.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/eval/local/skills/benchmarks/039-release/comet-classic-039-open .gemini/skills/comet-open && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "comet-open" agent skill from https://github.com/rpamis/comet/tree/master/eval/local/skills/benchmarks/039-release/comet-classic-039-open into .gemini/skills/comet-open/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "comet-open", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install rpamis/comet comet-openInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add rpamis/comet --skill comet-open -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/rpamis/comet.git skills-src && mkdir -p .github/skills && cp -r skills-src/eval/local/skills/benchmarks/039-release/comet-classic-039-open .github/skills/comet-open && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "comet-open" agent skill from https://github.com/rpamis/comet/tree/master/eval/local/skills/benchmarks/039-release/comet-classic-039-open into .github/skills/comet-open/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "comet-open", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rpamis/comet --skill comet-open -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install rpamis/comet comet-open --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rpamis/comet.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/eval/local/skills/benchmarks/039-release/comet-classic-039-open .opencode/skills/comet-open && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "comet-open" agent skill from https://github.com/rpamis/comet/tree/master/eval/local/skills/benchmarks/039-release/comet-classic-039-open into .opencode/skills/comet-open/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "comet-open", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
comet-openComet Phase 1: Open. An agent skill from rpamis/comet.
Comet Open is an agent skill from rpamis/comet. Comet Phase 1: Open. Invoke with /comet-open. Explore ideas through OpenSpec, confirm requirements clarification, then create change structure (proposal + design + tasks).
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Product & Project Management. The repository describes itself as: Comet: agent skill harness for turning ideas into evaluated workflows. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c28e724. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Comet Open loads about 3.4k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 1,683 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from rpamis/comet at commit c28e724, republished under its MIT licence (© rpamis). 1,683 words, ~3,354 tokens.
.claude/skills/comet-open/SKILL.md (or your agent's skills folder).Every prompt and artifact request passed to OpenSpec must include the output-language constraint: use the language of the user request that triggered this workflow. When resuming an existing change with a clear dominant artifact language, preserve that language unless the user explicitly asks to switch.
Immediately execute: Use the Skill tool to load the openspec-explore skill. Skipping this step is prohibited.
After the skill loads, explore the problem space following its guidance, but do not treat one Q&A turn as sufficient clarification. You must continue asking, align with the user, and form a clarification summary covering:
The clarification summary must include: goals, non-goals, scope boundaries, key unknowns, and draft acceptance scenarios.
When the user input is a large PRD, roadmap, complete product plan, or the clarification summary shows multiple independent capabilities, modules, user journeys, or milestones, must evaluate whether it should be split into multiple changes before creating OpenSpec artifacts.
The split preflight must be based on clarified information and output a proposed split list. Each proposed split item must include:
Recommend splitting when any condition applies:
When splitting is recommended, must follow the comet/reference/decision-point.md protocol to pause and wait for the user's choice.
The user choices must include:
Every accepted split item must be created as an independent change through /comet-open, not by calling /opsx:new directly. /comet-open creates both OpenSpec artifacts and .comet.yaml, ensuring each change enters the Comet state machine.
Must not create proposal.md, design.md, or tasks.md before the user completes the PRD split choice. If the user chooses to create multiple changes, the current /comet-open invocation only completes split confirmation and coordination, then enters /comet-open for each split item in the user-confirmed order.
In batch split mode, entering /comet-open for each split item must explicitly mark it as a "confirmed split item" and carry that split item's goals, scope, non-goals, and acceptance scenarios. Confirmed split items skip the PRD split preflight by default, unless the split item itself still clearly contains multiple independent capabilities.
In batch split mode, a single split item must not auto-advance to /comet-design after completing the open phase. After splitting is complete, must pause and ask the user which change to start; after the user chooses, advance only that change into /comet-design, while other changes remain active and can be resumed later through /comet.
Minimal resume rule: do not add a dedicated batch state file. On resume, first check already-created active changes; split items that already exist and contain .comet.yaml must not be created again, while uncreated split items continue through /comet-open according to the user-confirmed split list. If the confirmed split list cannot be recovered from the conversation, must ask the user to confirm the split list again before continuing.
Before creating OpenSpec artifacts, must follow the comet/reference/decision-point.md protocol to pause and wait for the user to confirm requirements clarification is complete.
When pausing, present the clarification summary: goals, non-goals, scope boundaries, key unknowns, and draft acceptance scenarios.
Must not create proposal.md, design.md, or tasks.md before the user confirms requirements clarification is complete, and must not use the Skill tool to load the openspec-propose skill to generate all artifacts in one pass.
Before creating the change directory (openspec new change), must follow the comet/reference/decision-point.md protocol to pause and let the user decide the change name. Must not auto-generate or silently infer the change name.
OpenSpec change names must be kebab-case English (lowercase letters, digits, hyphens; e.g. refine-requirements-doc). Chinese or other non-conforming names are invalid.
When pausing, present:
The decision options must include:
Must not run openspec new change or create .comet.yaml before the user confirms the final change name. If the chosen/converted name collides with an existing change, report the collision and ask the user to choose another name.
Immediately execute: Use the Skill tool to load the openspec-new-change skill. Skipping this step is prohibited.
Full /comet workflow must not use the Skill tool to load the openspec-propose skill by default; only load it when the user explicitly requests generating the proposal and artifacts in one pass.
After the skill loads, follow its guidance to create the change skeleton, but override its "STOP and wait for user direction" behavior when a confirmed clarification summary from Step 1b is already available in the conversation context.
If the user has already confirmed a clarification summary (Step 1b), use that summary directly to populate artifact content. If no clarification summary exists (edge case), fall back to the skill's default behavior of asking the user.
After the change skeleton is created, generate proposal, design, and tasks one by one using the standard artifact loop:
Standard Artifact Loop (for each artifact-id: proposal → design → tasks):
Refresh status: openspec status --change "<name>" --json
Fetch artifact instructions:
openspec instructions proposal --change "<name>" --json
openspec instructions design --change "<name>" --json
openspec instructions tasks --change "<name>" --jsonFor the returned JSON instruction payload, you must:
dependenciestemplate as the artifact structureinstruction guidancecontext and rules as constraints — must not copy them into the artifact contentresolvedOutputPathAfter creating each artifact, re-run openspec status --change "<name>" --json to confirm status before continuing to the next artifact
Failure handling: If openspec instructions fails, returns invalid JSON, reports unmet dependencies, or does not provide a usable resolvedOutputPath, must immediately stop artifact creation and report the OpenSpec error. Must not fall back to hard-coded artifact prose because that would silently bypass project rules.
Naming and scope guard: Change name must be the kebab-case English name confirmed by the user in Step 1c — must not auto-generate, infer, or use a non-kebab-case (e.g. Chinese) name. Change scope must match the user's description — must not expand or narrow it independently.
Confirm the following artifacts have been created:
openspec/changes/<name>/
├── .openspec.yaml
├── .comet.yaml
├── proposal.md # Why + What: problem, goals, scope
├── design.md # How (high-level): architecture decisions, approach selection
└── tasks.md # Task checklist (checkboxes)Create .comet.yaml state file:
COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.sh' -type f -print -quit 2>/dev/null)}"
if [ -z "$COMET_ENV" ]; then
echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
return 1
fi
. "$COMET_ENV"
if [ -z "$COMET_STATE" ] || [ -z "$COMET_GUARD" ]; then
echo "ERROR: Comet scripts not found. Ensure the comet skill is installed." >&2
return 1
fi
"$COMET_BASH" "$COMET_STATE" init <name> fullVerify state machine has been correctly initialized:
"$COMET_BASH" "$COMET_STATE" check <name> openProceed to Step 4 after verification passes. The script outputs specific failure reasons when verification fails.
Idempotency: All open phase operations can be safely re-executed. If .comet.yaml is already at phase: open and all three artifact files exist, skip completed steps and continue from the first missing step.
Confirm the three documents have complete content:
File existence verification: Confirm all three file paths exist and are non-empty. If any file is missing or empty, must not enter Step 5 or execute phase guard — return to creation step to fill the gap.
After the three documents are created and content completeness check passes, must follow the comet/reference/decision-point.md protocol to pause and wait for user confirmation. Must not execute phase guard or auto-transition before user confirmation.
The user confirmation question must be presented as a single-select question with the following summary and options:
Summary content:
Options:
After user selects "Confirm", proceed to exit conditions. When user selects "Needs adjustment", modify the corresponding files per their notes, then request confirmation again.
"$COMET_BASH" "$COMET_GUARD" <change-name> open --apply; after all PASS, auto-transitions to next phaseMust use --apply before exit, otherwise .comet.yaml remains at phase: open and the next phase entry check will fail.
"$COMET_BASH" "$COMET_GUARD" <change-name> open --applyFull workflow auto-transitions to phase: design; hotfix/tweak presets auto-transition to phase: build.
Follow comet/reference/auto-transition.md. Key command:
"$COMET_BASH" "$COMET_STATE" next <change-name>NEXT: auto → invoke the skill pointed to by SKILL to enter the next phaseNEXT: manual → do not invoke the next skill; prompt user to run /<SKILL> manuallyNEXT: done → workflow is complete, no further action neededhotfix/tweak presets are controlled by their corresponding preset skill (phase goes directly to build); their next returns the corresponding preset skill.
© rpamis, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in eval/local/skills/benchmarks/039-release/comet-classic-039-open of rpamis/comet.
Open the folder on GitHubat commit c28e724
Comet Open next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Comet Open this skillrpamis/comet | 3.2k | — | ~3.4k | Automated safety check: Pass | MIT | |
| User Story Writerdeanpeters/Product-Manager-Skills | 7.2k | 2 repos | ~2.9k | Automated safety check: Pass | Custom licence | |
| Game Changing FeaturesopenstatusHQ/data-table-filters | 2.3k | 3 repos | ~2.1k | Automated safety check: Pass | MIT | |
| CCPM Project Managementautomazeio/ccpm | 8.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Convex Create Componentspokvulcan/poker-planning | 114 | 8 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Self Improving Agentfarm-fe/farm | 5.6k | 2 repos | ~3.3k | Automated safety check: Notes | MIT |
deanpeters/Product-Manager-Skills
Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.
openstatusHQ/data-table-filters
Find 10x product opportunities and high-leverage improvements.
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
spokvulcan/poker-planning
Builds reusable Convex components with isolated tables and app-facing APIs.
farm-fe/farm
A universal self-improving agent that learns from ALL skill experiences.
garrytan/gstack
Builds a weekly engineering retrospective from git history: commit counts, per-person contributions, work patterns and code quality numbers over a chosen window.
rpamis/comet
A skill your agent uses when 用户要启动或恢复 Comet 工作流,需要根据 active change、.comet.yaml、hotfix/tweak 意图路由到对应阶段 Skill。
rpamis/comet
Comet workflow entry. An agent skill from rpamis/comet.
rpamis/comet
Comet — OpenSpec + Superpowers dual-star development workflow.
rpamis/comet
Archive and deliver a Classic change. An agent skill from rpamis/comet.
rpamis/comet
Comet Classic workflow entry. An agent skill from rpamis/comet.
rpamis/comet
Complete the Classic technical design and obtain user confirmation.
Categories
Comet Phase 1: Open. An agent skill from rpamis/comet. Comet Open is an agent skill from rpamis/comet. Comet Phase 1: Open.
Comet Open fits situations like: product & Project Management work in your project.
Run `npx skills add rpamis/comet --skill comet-open -a claude-code`. Or copy the skill folder (eval/local/skills/benchmarks/039-release/comet-classic-039-open in rpamis/comet) into .claude/skills/comet-open in your project. Claude Code loads it when a task matches its description.
Run `npx skills add rpamis/comet --skill comet-open -a codex`. Or copy the skill folder (eval/local/skills/benchmarks/039-release/comet-classic-039-open in rpamis/comet) into .agents/skills/comet-open in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rpamis/comet --skill comet-open -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/comet-open, .gemini/skills/comet-open, .github/skills/comet-open and .opencode/skills/comet-open in your project.
SKILL.md names no scripts, command-line tools or credentials: Comet Open is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Comet Open is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Comet Open: User Story Writer (deanpeters/Product-Manager-Skills, 7.2k stars), Game Changing Features (openstatusHQ/data-table-filters, 2.3k stars), CCPM Project Management (automazeio/ccpm, 8.4k stars) and Convex Create Component (spokvulcan/poker-planning, 114 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
rpamis (a GitHub organization) maintains it in rpamis/comet, which has 3,172 GitHub stars. The repository holds 52 skills in this directory. The repository was last updated on October 9, 2026.
Source: rpamis/comet on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.