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.
Synchronize a private Root Harness Delivery Contract into rwkvapp canonical product or process truth before implementation, without storing request-provenance Markdown in the target repository.
$ npx skills add RWKV-APP/RWKV_APP --skill spec-sync -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install RWKV-APP/RWKV_APP spec-sync --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/RWKV-APP/RWKV_APP.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/spec-sync .claude/skills/spec-sync && 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 "spec-sync" agent skill from https://github.com/RWKV-APP/RWKV_APP/tree/dev/.agents/skills/spec-sync into .claude/skills/spec-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-sync", 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/RWKV-APP/RWKV_APP/tree/dev/.agents/skills/spec-syncType 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 RWKV-APP/RWKV_APP --skill spec-sync -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install RWKV-APP/RWKV_APP spec-sync --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RWKV-APP/RWKV_APP.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/spec-sync .agents/skills/spec-sync && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "spec-sync" agent skill from https://github.com/RWKV-APP/RWKV_APP/tree/dev/.agents/skills/spec-sync into .agents/skills/spec-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-sync", 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 RWKV-APP/RWKV_APP --skill spec-sync -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install RWKV-APP/RWKV_APP spec-sync --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RWKV-APP/RWKV_APP.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/spec-sync .cursor/skills/spec-sync && 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 "spec-sync" agent skill from https://github.com/RWKV-APP/RWKV_APP/tree/dev/.agents/skills/spec-sync into .cursor/skills/spec-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-sync", 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/RWKV-APP/RWKV_APP.git --path .agents/skills/spec-sync--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 RWKV-APP/RWKV_APP --skill spec-sync -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install RWKV-APP/RWKV_APP spec-sync --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RWKV-APP/RWKV_APP.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/spec-sync .gemini/skills/spec-sync && 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 "spec-sync" agent skill from https://github.com/RWKV-APP/RWKV_APP/tree/dev/.agents/skills/spec-sync into .gemini/skills/spec-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-sync", 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 RWKV-APP/RWKV_APP spec-syncInstalls 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 RWKV-APP/RWKV_APP --skill spec-sync -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/RWKV-APP/RWKV_APP.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/spec-sync .github/skills/spec-sync && 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 "spec-sync" agent skill from https://github.com/RWKV-APP/RWKV_APP/tree/dev/.agents/skills/spec-sync into .github/skills/spec-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-sync", 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 RWKV-APP/RWKV_APP --skill spec-sync -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install RWKV-APP/RWKV_APP spec-sync --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RWKV-APP/RWKV_APP.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/spec-sync .opencode/skills/spec-sync && 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 "spec-sync" agent skill from https://github.com/RWKV-APP/RWKV_APP/tree/dev/.agents/skills/spec-sync into .opencode/skills/spec-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-sync", 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.
spec-syncSynchronize a private Root Harness Delivery Contract into rwkvapp canonical product or process truth before implementation, without storing request-provenance Markdown in the target repository.
Spec Sync is an agent skill from RWKV-APP/RWKV_APP. Synchronize a private Root Harness Delivery Contract into rwkvapp canonical product or process truth before implementation, without storing request-provenance Markdown in the target repository. Use when the user mentions Specification or Specification flow, provides product behavior, API or model expectations, UI rules, acceptance criteria, copied stakeholder messages, voice-transcribed requirements, cross-repository contracts, or requests a change to the Specification process itself.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It sits in Product & Project Management, covering User stories. The repository describes itself as: Cross-platform, local-first RWKV chat built with Flutter for Android, iOS, Windows, macOS, and Linux. The licence is Apache-2.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 34a862c. 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.
Shell commands in SKILL.md call:
dartFrom 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.
Spec Sync loads about 1.9k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 911 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 RWKV-APP/RWKV_APP at commit 34a862c, republished under its Apache-2.0 licence (© RWKV-APP). 911 words, ~1,854 tokens.
.claude/skills/spec-sync/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Turn the sanitized Root Delivery Contract into checked-in canonical project truth before changing behavior. Request provenance remains in the private Root Harness.
docs/specification.mddocs/specs/00-inventory.mddocs/specs/01-authority-map.mdSPEC-* IDs under canonical owners, historical docs/product-inputs/, and docs/spec-process/, then read only the connected historical PI, DEC, OBS, CF, and ACC records needed to understand project provenance, supersession, and current delivery statedocs/spec-process/conflicts/current/docs/spec-process/rules.md when the input affects this workflowDo not read every historical record when exact-ID search identifies the relevant
graph. Use repository aliases from docs/specs/02-repository-map.md for
cross-repository references. Do not store machine-local absolute paths as
durable links.
Memory can help locate context, but it cannot override checked-in Specification. Verify remembered facts that may have changed against the current owner and delivery surfaces.
product: user-visible behavior, API contract, model or Prompt behavior, UI rules, privacy/data-flow promises, acceptance criteria, or stakeholder wordingprocess: Specification structure, state, authority, conflict handling, verification, or agent behaviormixed: independently meaningful product and process assertionsimplementation-only: mechanics that preserve current canonical behaviorgeneral chat: explanation or brainstorming with no request to change project truthHandle product, process, or mixed input before implementation. Under
SPEC-SYNC-ROOT-INTAKE-BOUNDARY, none of these classes creates target-side
request-provenance Markdown for a Root-routed task.
docs/product-inputs/ record, Changes Markdown, standalone task brief, checked-in request plan, or PI/DEC/OBS/CF/ACC record for Root-routed workSPEC-* IDs, and identify target-owned delivery surfacesIf a request reaches this repository without a Root Mission, return it to the Root Harness before target mutation. Existing project PI, DEC, OBS, CF, and ACC files remain a strict read-only historical archive; do not bulk-delete or extend it for new Root-routed work.
For a compatible assertion:
For a semantic conflict:
SPEC-* IDs, affected surfaces, and narrow blocking scope in the private Root MissionImplementation or derived-document drift against an unambiguous canonical assertion is ordinary drift. Synchronize it without manufacturing a conflict. Git history is provenance and sequence evidence; commit order alone cannot resolve product ambiguity.
After an explicit human ruling:
Only an explicit human ruling can resolve a semantic contradiction. A source label, copied message, implementation state, Git order, or agent preference is not human approval.
Run the deterministic checker:
dart run tools/bin/check_specification.dartThen run focused engineering checks required by the changed module and
AGENTS.md.
For app-level RWKV Chat acceptance, apply
SPEC-RWKV-CHAT-SAME-APP-ACCEPTANCE: keep the canonical product name,
application or bundle identifier, persistence namespace, and user-consumed app
surface. Never create a renamed or separately sandboxed acceptance app. If the
same-app path cannot protect existing user state, stop for explicit direction
instead of changing the app identity.
Also apply SPEC-RWKV-CHAT-VISIBLE-UI-E2E-ACCEPTANCE to every App, device,
model-download, model-runtime, and performance acceptance. Drive and observe
the complete operation through the real visible user-facing UI. A hidden
background runner, acceptance-only startup hook, command-line model selector,
direct store call, direct engine call, or merely launching the App is not
acceptance. If the selected device UI cannot be controlled and observed end to
end, refuse the test and report the exact blocker instead of silently falling
back to background execution.
The root Codex agent delivering the task owns final combined acceptance, including delegated work. Automated checks, status codes, counts, screenshots, model judges, and sub-agent reports are evidence only. For generated, parsed, visual, device, model, network, or cross-repository behavior, personally inspect representative real outcomes and all relevant representations.
Record combined acceptance in the Root Mission Result. Existing target-side ACC files remain historical snapshots; do not create a new ACC merely to mirror Root acceptance.
Before changing business logic, Prompt rules, normalization, validation, or rejection behavior because a result looks wrong:
SPEC-* assertion and acceptance criterion being enforced© RWKV-APP, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .agents/skills/spec-sync of RWKV-APP/RWKV_APP.
Open the folder on GitHubat commit 34a862c
Spec Sync 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 |
|---|---|---|---|---|---|---|
| Spec Sync this skillRWKV-APP/RWKV_APP | 131 | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| User Story Writerdeanpeters/Product-Manager-Skills | 7.2k | 2 repos | ~2.9k | Automated safety check: Pass | Custom licence | |
| Ralph Tui Create Beadssubsy/ralph-tui | 2.5k | 1 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Agile Product Owneralirezarezvani/claude-skills | 28k | 3 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Ralph Tui Create Beads Rustsubsy/ralph-tui | 2.5k | 1 repos | ~2.8k | Automated safety check: Pass | MIT | |
| To Specbestofjs/bestofjs | 3.1k | 22 repos | ~757 | Automated safety check: Pass | 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.
subsy/ralph-tui
Convert PRDs to beads for ralph-tui execution. An agent skill from subsy/ralph-tui.
alirezarezvani/claude-skills
Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.
subsy/ralph-tui
Convert PRDs to beads for ralph-tui execution using beads-rust (br CLI).
bestofjs/bestofjs
Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.
subsy/ralph-tui
Convert PRDs to prd.json format for ralph-tui execution. An agent skill from subsy/ralph-tui.
Categories
Synchronize a private Root Harness Delivery Contract into rwkvapp canonical product or process truth before implementation, without storing request-provenance Markdown in the target repository. Spec Sync is an agent skill from RWKV-APP/RWKV_APP. Synchronize a private Root Harness Delivery Contract into rwkvapp canonical product or process truth before implementation, without storing request-provenance Markdown in the target repository.
Spec Sync fits situations like: the user mentions Specification; specification flow; provides product behavior; model expectations.
Run `npx skills add RWKV-APP/RWKV_APP --skill spec-sync -a claude-code`. Or copy the skill folder (.agents/skills/spec-sync in RWKV-APP/RWKV_APP) into .claude/skills/spec-sync in your project. Claude Code loads it when a task matches its description.
Run `npx skills add RWKV-APP/RWKV_APP --skill spec-sync -a codex`. Or copy the skill folder (.agents/skills/spec-sync in RWKV-APP/RWKV_APP) into .agents/skills/spec-sync 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 RWKV-APP/RWKV_APP --skill spec-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spec-sync, .gemini/skills/spec-sync, .github/skills/spec-sync and .opencode/skills/spec-sync in your project.
Going by SKILL.md and its folder, Spec Sync needs the command-line tools its instructions call (dart).
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.
Spec Sync is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.4k 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 Spec Sync: User Story Writer (deanpeters/Product-Manager-Skills, 7.2k stars), Ralph Tui Create Beads (subsy/ralph-tui, 2.5k stars), Agile Product Owner (alirezarezvani/claude-skills, 28k stars) and Ralph Tui Create Beads Rust (subsy/ralph-tui, 2.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
RWKV-APP (a GitHub organization) maintains it in RWKV-APP/RWKV_APP, which has 131 GitHub stars. The repository was last updated on October 1, 2026.
Source: RWKV-APP/RWKV_APP on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.