Agent skill

Spec Sync

by RWKV-APP in 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.

Apache-2.0Auto-check passedProduct & Project Management

Install Spec Sync

skills CLI
$ npx skills add RWKV-APP/RWKV_APP --skill spec-sync -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install RWKV-APP/RWKV_APP spec-sync --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
spec-sync
GitHub stars
131
Token cost
~1.9k tokens
SKILL.md length
911 words
Files
2
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

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.

  • Works in 7 steps: Read docs/specification.md → Read docs/specs/00-inventory.md → Read docs/specs/01-authority-map.md → …
  • The user mentions Specification
  • SKILL.md covers Read First, Classify The Request, Use Root Mission Intake and Merge Or Record A Conflict, plus 3 more sections
  • Calls dart

What it does

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.

When your agent uses it

  • The user mentions Specification
  • Specification flow
  • Provides product behavior
  • Model expectations

Example prompts

  • “/spec-sync”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Read docs/specification.md
  2. Read docs/specs/00-inventory.md
  3. Read docs/specs/01-authority-map.md
  4. Read the relevant canonical owner and its required drift surfaces
  5. Search the exact relevant SPEC-* IDs under canonical owners, historical docs/product-inputs/, and docs/spec-process/, then read only the…
  6. Read all records under docs/spec-process/conflicts/current/
  7. Read docs/spec-process/rules.md when the input affects this workflow

What it can do on your machine

Read from SKILL.md and the folder at commit 34a862c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • dart

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~125
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

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.

Safety

Auto-check passed

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.

SKILL.md

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.

Download SKILL.mdSave it as .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.
name
spec-sync
description
Synchronize a private Root Harness Delivery Contract into rwkv_app 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.

Spec Sync

Turn the sanitized Root Delivery Contract into checked-in canonical project truth before changing behavior. Request provenance remains in the private Root Harness.

Read First

  1. Read docs/specification.md
  2. Read docs/specs/00-inventory.md
  3. Read docs/specs/01-authority-map.md
  4. Read the relevant canonical owner and its required drift surfaces
  5. Search the exact relevant SPEC-* 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 state
  6. Read all records under docs/spec-process/conflicts/current/
  7. Read docs/spec-process/rules.md when the input affects this workflow

Do 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.

Classify The Request

  • product: user-visible behavior, API contract, model or Prompt behavior, UI rules, privacy/data-flow promises, acceptance criteria, or stakeholder wording
  • process: Specification structure, state, authority, conflict handling, verification, or agent behavior
  • mixed: independently meaningful product and process assertions
  • implementation-only: mechanics that preserve current canonical behavior
  • general chat: explanation or brainstorming with no request to change project truth

Handle 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.

Use Root Mission Intake

  1. Confirm that the private Root Harness captured the source in a Mission and dispatched the smallest useful Delivery Contract
  2. Keep raw wording, copied chat, voice transcription, redactions, per-task Changes notes, planning, conflict provenance, and delivery evidence in that Root Mission
  3. Do not create a new docs/product-inputs/ record, Changes Markdown, standalone task brief, checked-in request plan, or PI/DEC/OBS/CF/ACC record for Root-routed work
  4. Remove credentials, tokens, signed URLs, personal data, machine-local attachment paths, private motivation, and unnecessary source wording from target-safe material
  5. Extract concise shareable assertions, identify stable SPEC-* IDs, and identify target-owned delivery surfaces
  6. Compare those assertions with the current canonical owner and applicable historical conflicts

If 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.

Merge Or Record A Conflict

For a compatible assertion:

  1. Update the canonical owner first
  2. Synchronize required derived, implementation, runtime, and durable product documentation surfaces
  3. Track current effect, validation, and acceptance in the Root Mission Result

For a semantic conflict:

  1. Record the competing assertions, stable SPEC-* IDs, affected surfaces, and narrow blocking scope in the private Root Mission
  2. Leave target canonical truth unchanged while the ruling is unresolved
  3. Stop only behavior changes that depend on the unresolved assertion
  4. Ask the user for the exact ruling needed through the Root task

Implementation 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.

Show full SKILL.md (391 more words)Show less

Resolve And Supersede

After an explicit human ruling:

  1. Record the ruling and supersession in the private Root Mission or Root Specification graph
  2. Synchronize the target canonical owner and required drift surfaces
  3. Preserve existing target-side historical records without creating a new request-provenance record

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.

Verify And Accept

Run the deterministic checker:

bash
dart run tools/bin/check_specification.dart

Then 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.

SPEC-SYNC-ACCEPTANCE-GUARDRAILS

Before changing business logic, Prompt rules, normalization, validation, or rejection behavior because a result looks wrong:

  1. Name the exact active SPEC-* assertion and acceptance criterion being enforced
  2. If none exists, record a Root observation and ask for a product ruling instead of inventing a restriction
  3. Do not turn one sample or reviewer preference into a keyword blacklist, regular-expression rejection, or generalized prohibition
  4. For a confirmed general defect, implement the narrow reusable rule and review the original case plus at least one independent holdout case
  5. Record the evidence boundary and remaining unverified behavior in Root acceptance

© 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

Files

SKILL.md and 1 other file in .agents/skills/spec-sync of RWKV-APP/RWKV_APP.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 34a862c

Compare with similar skills

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.

Spec Sync compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Spec Sync this skillRWKV-APP/RWKV_APP131—~1.9kAutomated safety check: PassApache-2.0
User Story Writerdeanpeters/Product-Manager-Skills7.2k2 repos~2.9kAutomated safety check: PassCustom licence
Ralph Tui Create Beadssubsy/ralph-tui2.5k1 repos~2.6kAutomated safety check: PassMIT
Agile Product Owneralirezarezvani/claude-skills28k3 repos~3.2kAutomated safety check: PassMIT
Ralph Tui Create Beads Rustsubsy/ralph-tui2.5k1 repos~2.8kAutomated safety check: PassMIT
To Specbestofjs/bestofjs3.1k22 repos~757Automated safety check: PassMIT

Similar skills

  • 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.

    7.2k GitHub starsUsed in 2 repos~2.9k tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create Beads

    subsy/ralph-tui

    Convert PRDs to beads for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed
  • Agile Product Owner

    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.

    28k GitHub starsUsed in 3 repos~3.2k tokens
    Product & Project ManagementAuto-check passed
  • Convert PRDs to beads for ralph-tui execution using beads-rust (br CLI).

    2.5k GitHub starsUsed in 1 repo~2.8k tokens
    Product & Project ManagementAuto-check passed
  • To Spec

    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.

    3.1k GitHub starsUsed in 22 repos~757 tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create JSON

    subsy/ralph-tui

    Convert PRDs to prd.json format for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed

Questions about Spec Sync

What does Spec Sync do?

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.

When should I use Spec Sync?

Spec Sync fits situations like: the user mentions Specification; specification flow; provides product behavior; model expectations.

How do I install Spec Sync in Claude Code?

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.

How do I install Spec Sync in Codex?

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.

Can I use Spec Sync in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Spec Sync need to run?

Going by SKILL.md and its folder, Spec Sync needs the command-line tools its instructions call (dart).

Does Spec Sync access the network?

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.

Is Spec Sync safe to install?

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.

What licence does Spec Sync use?

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.

How many tokens does Spec Sync use?

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.

What are the alternatives to Spec Sync?

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.

Who maintains Spec Sync?

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.