openspec-aware-chorus

Scaffolds OpenSpec change folders and mirrors Markdown documents into Chorus proposal drafts.

1.2k|104|Updated Feb 4, 2026
One-click install
npx skills add https://github.com/Chorus-AIDLC/Chorus --skill openspec-aware-chorus
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: openspec-aware-chorus
Source: https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/chorus-dsh/skills/openspec-aware-chorus
Command: npx skills add https://github.com/Chorus-AIDLC/Chorus --skill openspec-aware-chorus

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Teams using Chorus for AI-driven project management who also author specs with the OpenSpec CLI face duplicated effort: documents live in local openspec/changes/ folders but must be re-typed into Chorus document drafts, burning tokens and risking content drift. This skill automates detection, scaffolding, and byte-exact mirroring between the two systems.

Core Features & Use Cases

  • Three-check OpenSpec detection: Reads the precomputed CHORUS_OPENSPEC_ACTIVE value or runs inline checks for the openspec CLI, an openspec/ directory, and the opt-out environment variable.
  • Byte-exact document mirroring: Fills the content field of Chorus document drafts from local file bytes via chorus mcp call --arg-file (or a package-local wrapper fallback), never re-typed by the LLM.
  • Full lifecycle coverage: Scaffolds openspec/changes/<slug>/, maps proposal.md/design.md/spec.md to prd/tech_design/spec document types, and runs openspec archive with spec mirror-back after the last task is verified.
  • Use Case: A product manager asks their dsh agent to draft a proposal for a new CSV export feature; the skill detects OpenSpec mode, scaffolds the change folder, creates the Chorus proposal with a slug provenance line, and mirrors all spec documents into Chorus drafts without re-typing content.

Quick Start

Ask your agent to draft a Chorus proposal for your feature idea using OpenSpec mode, and it will detect the openspec CLI, scaffold the change folder, and mirror the documents into Chorus drafts automatically.

Frequently Asked Questions about openspec-aware-chorus

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I mirror OpenSpec markdown files into Chorus document drafts?

Use chorus mcp call chorus_pm_add_document_draft with --arg-file content=<file> so the CLI injects the file's raw bytes as the JSON content string. If the chorus CLI is not on PATH, fall back to the package-local chorus-mcp-call.mjs wrapper with a json_encode_file helper.

How does OpenSpec mode detection work in Chorus dsh skills?

Detection requires three signals: CHORUS_OPENSPEC_MODE is not set to off, an openspec/ directory exists at the project root, and the openspec CLI is on PATH. The chorus-dsh bundle precomputes CHORUS_OPENSPEC_ACTIVE at plugin load; otherwise the skill recomputes the checks inline.

Can I use this skill without the openspec CLI installed?

No. Without the openspec CLI on PATH, detection returns inactive and the skill becomes a no-op, returning to the calling skill's free-form authoring path. If an openspec/ directory exists but the CLI is missing, it suggests installing with npm i -g @fission-ai/openspec.

Why must document content come from file bytes instead of LLM output?

Re-typing long markdown through the LLM costs tens of thousands of tokens and risks byte-level drift in tables, code fences, and escapes. Filling content from the file via --arg-file or JSON.stringify guarantees byte-equality and keeps the local file as the single source of truth.

When does the OpenSpec archive step run in Chorus workflows?

The archive runs only after the last task of an OpenSpec-mode idea is verified, meaning every task across all approved proposals is done and the proposal description carries an OpenSpec change slug line. The agent then runs openspec archive --yes and mirrors updated specs back to Chorus documents.