This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a Claude Code plugin, not an application. It contains no runtime code, build system, or test suite — the "source" is a set of Markdown skill definitions bundled into a plugin. The plugin (agentic-support-workflow) packages the spec-driven development workflow skills used across Open Elements projects, extracted from claude-base.
When you edit this repo you are authoring prompts/instructions for future Claude Code sessions, not writing executable code. Treat each SKILL.md as a prompt whose quality is judged by whether another Claude instance can follow it unambiguously.
There is no build or test command. The one check is plugin validation:
claude plugin validate ./ --strict
.claude-plugin/plugin.json— plugin manifest (name, version, metadata).claude-plugin/marketplace.json— self-containedopen-elementsmarketplace catalog listing this plugin (source: "./")skills/<name>/SKILL.md— one skill per directory; the frontmatterdescriptionis what Claude matches a user request against, so it must precisely enumerate trigger phrases and when-to-use conditionsskills/_workflow-shared/spec-driven-development.md— shared reference read by the spec skills; defines the canonicaldocs/specs/structure,INDEX.mdformat, Drift Log, and TODO backlog conventionsconventions/software-quality.md,conventions/security.md— convention documents thatquality-reviewandproject-quality-auditread and enforce against target projects
Note: skills reference the shared doc with a relative path (../_workflow-shared/spec-driven-development.md) and reference each other by slash command (e.g. /spec-implement). Preserve both when moving or renaming files.
These skills are not independent tools — they form a spec-driven pipeline where each stage produces durable Markdown under a target project's docs/ that the next stage consumes:
/vision → docs/vision.md
→ /proposal-create → docs/proposals/<id>-<slug>.md (non-technical stakeholder, plain language)
→ /spec-create → docs/specs/<id>-<slug>/{design.md, behaviors.md} (engineer, technical)
→ /spec-implement → steps.md
→ /spec-flow (orchestrates: issue → branch → implement → spec-review + quality-review loop → PR)
/proposal-create is the non-technical rung: a stakeholder describes what they want in business language and every technical decision is parked under Open questions for engineering rather than answered. /spec-create then consumes the proposal, resolves those questions with an engineer, and freezes the proposal as an input record (status promoted).
Key invariants that hold across skills (defined in _workflow-shared/spec-driven-development.md):
docs/specs/INDEX.mdis the source of truth for which specs exist and their status (open/in progress/done). Any skill that creates or advances a spec updates this index.- A
donespec is frozen —design.mdandbehaviors.mdare historical records. Later divergence is not edited into them; it is appended as a Drift Log section, and only/spec-reviewwrites those entries. design.mdalways starts with a self-contained## Summaryso an agent canheadthe file to decide relevance without loading the whole thing.behaviors.mduses given-when-then scenarios that map 1:1 to tests —/spec-reviewverifies every scenario has a corresponding test.- All spec documents are written in English, regardless of the conversation language.
/roadmap-executeruns the whole pipeline autonomously over adocs/roadmap.md, delegating each step to a fresh sub-agent to keep the orchestrator's context lean./grill-meis a dependency of/visionand/adr-create, which invoke it to stress-test thinking before writing.
The quality skills enforce Open Elements thresholds against target projects: backend ≥80% / frontend ≥70% test coverage, reproducible builds, and the rules in conventions/.
- Frontmatter must include
name,license: Apache-2.0,metadata(source,author), and adescription. Thedescriptionis load-bearing for skill matching — write it as an exhaustive trigger list, following the style of the existing skills. - Keep the pipeline vocabulary consistent (
design.md,behaviors.md,steps.md,INDEX.md, Drift Log, TODO backlog). Skills cross-reference these by exact name.
Bump version in both .claude-plugin/plugin.json and the plugin's entry in .claude-plugin/marketplace.json (they must match), add a CHANGELOG.md entry, tag the release, and run claude plugin validate ./ --strict. Users only receive an update when the version is bumped.