Agent Specification
ruvnet/ruflo
Agent skill for specification - invoke with $agent-specification
MANDATORY skill that activates whenever the OpenSpec specification phase begins.
$ npx skills add elastic/terraform-provider-elasticstack --skill openspec-plus-spec -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install elastic/terraform-provider-elasticstack openspec-plus-spec --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/elastic/terraform-provider-elasticstack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/openspec-plus-spec .claude/skills/openspec-plus-spec && 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 "openspec-plus-spec" agent skill from https://github.com/elastic/terraform-provider-elasticstack/tree/main/.agents/skills/openspec-plus-spec into .claude/skills/openspec-plus-spec/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openspec-plus-spec", 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/elastic/terraform-provider-elasticstack/tree/main/.agents/skills/openspec-plus-specType 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 elastic/terraform-provider-elasticstack --skill openspec-plus-spec -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install elastic/terraform-provider-elasticstack openspec-plus-spec --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elastic/terraform-provider-elasticstack.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/openspec-plus-spec .agents/skills/openspec-plus-spec && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "openspec-plus-spec" agent skill from https://github.com/elastic/terraform-provider-elasticstack/tree/main/.agents/skills/openspec-plus-spec into .agents/skills/openspec-plus-spec/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openspec-plus-spec", 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 elastic/terraform-provider-elasticstack --skill openspec-plus-spec -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install elastic/terraform-provider-elasticstack openspec-plus-spec --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elastic/terraform-provider-elasticstack.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/openspec-plus-spec .cursor/skills/openspec-plus-spec && 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 "openspec-plus-spec" agent skill from https://github.com/elastic/terraform-provider-elasticstack/tree/main/.agents/skills/openspec-plus-spec into .cursor/skills/openspec-plus-spec/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openspec-plus-spec", 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/elastic/terraform-provider-elasticstack.git --path .agents/skills/openspec-plus-spec--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 elastic/terraform-provider-elasticstack --skill openspec-plus-spec -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install elastic/terraform-provider-elasticstack openspec-plus-spec --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elastic/terraform-provider-elasticstack.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/openspec-plus-spec .gemini/skills/openspec-plus-spec && 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 "openspec-plus-spec" agent skill from https://github.com/elastic/terraform-provider-elasticstack/tree/main/.agents/skills/openspec-plus-spec into .gemini/skills/openspec-plus-spec/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openspec-plus-spec", 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 elastic/terraform-provider-elasticstack openspec-plus-specInstalls 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 elastic/terraform-provider-elasticstack --skill openspec-plus-spec -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/elastic/terraform-provider-elasticstack.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/openspec-plus-spec .github/skills/openspec-plus-spec && 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 "openspec-plus-spec" agent skill from https://github.com/elastic/terraform-provider-elasticstack/tree/main/.agents/skills/openspec-plus-spec into .github/skills/openspec-plus-spec/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openspec-plus-spec", 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 elastic/terraform-provider-elasticstack --skill openspec-plus-spec -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install elastic/terraform-provider-elasticstack openspec-plus-spec --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elastic/terraform-provider-elasticstack.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/openspec-plus-spec .opencode/skills/openspec-plus-spec && 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 "openspec-plus-spec" agent skill from https://github.com/elastic/terraform-provider-elasticstack/tree/main/.agents/skills/openspec-plus-spec into .opencode/skills/openspec-plus-spec/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openspec-plus-spec", 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.
openspec-plus-specMANDATORY skill that activates whenever the OpenSpec specification phase begins.
Openspec Plus Spec is an agent skill from elastic/terraform-provider-elasticstack, published by the product's own GitHub organization. MANDATORY skill that activates whenever the OpenSpec specification phase begins. Triggers: /opsx-new or /opsx-continue runs; openspec-new-change, openspec-continue-change, or openspec-explore is active; openspec instructions spec or openspec instructions specs is invoked; or the user wants to create, update, review, refine, or discuss an OpenSpec specification.
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Terraform provider for Elastic Stack. The licence is Apache-2.0.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2a6096e. 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.
Openspec Plus Spec loads about 4.7k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 2,123 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 elastic/terraform-provider-elasticstack at commit 2a6096e, republished under its Apache-2.0 licence (© elastic). 2,123 words, ~4,695 tokens.
.claude/skills/openspec-plus-spec/SKILL.md (or your agent's skills folder).Strengthen specification quality. Requirements complete, testable, unambiguous, expressed as Gherkin scenarios for behavioral correctness, aligned with approved proposal and any existing design. Improves requirement quality before design (spec-first) or aligns requirements with existing design boundaries (design-first).
This skill is RIGID. NEVER write any spec file before completing Phase 1, presenting analysis to user, passing pre-write alignment gate, and (after writing) running self-review subagent. Running analysis internally and writing immediately is a skill violation — even if you checked every gate.
Red flags — STOP, you are about to violate this skill:
settings.questionMode: batch — then it's the documented procedure, not a shortcut)batch mode)OpenSpec allows either order after proposal:
proposal → spec → design (no design yet)proposal → design → spec (design exists)When this skill runs:
Four phases. NEVER skip or merge.
Phase 0: Schema & Template Resolution
Phase 1: Interactive Analysis
Phase 2: Drift Check
Phase 3: Write & Self-ReviewDisplay workflow phases via task tool at start; update as each phase completes.
AGENTS.md, CLAUDE.md, GEMINI.md, equivalents) at Phase 1 start; spec MUST respect project conventions; conflicts → surface to user, never silently override.Spec describes WHAT, not HOW. Default: no code reading — proposal and any existing design provide behavioral context.
When code reading IS required (requirement explicitly references existing behavior to ground), MUST dispatch explore subagent. NEVER read code in root context. Prompt MUST scope to observable behavior only, never implementation.
Rigid rule. Root-context code reading during spec phase is a skill violation, regardless of file size. Cannot articulate why code reading required? Don't read code.
When dispatching explore subagent, prompt: "Describe the observable behavior of <X> grounded in <FILES_OR_PATHS>. Return only externally observable: inputs, outputs, state changes, side effects. No implementation, data structures, algorithms, or call paths." Use response only for grounding terminology and current-behavior references.
Run FIRST, before any analysis:
openspec instructions specs --change <name> --jsonspec instead of specs if the schema names the artifact spec — check openspec status --change <name> for the artifact id.) Extract: template (structural authority; sections you MUST fill), instruction (per-section guidance; what content each section needs), rules (project constraints to honor). Parse template sections (H2/H3/H4 headers + HTML comments) — these are your information requirements; Phase 1 analysis MUST collect enough substance to fill every section. If the template has sections the 7-step analysis doesn't naturally cover, add targeted questions for them.openspec/.plus/config.yaml (missing/unreadable/unrecognized → defaults): settings.questionMode (sequential default; batch groups steps 3-7's questions into fewer rounds — see Phase 1 below).Pre-existing answers: If recent conversation already answered any analysis points (requirements, ambiguities, edge cases, stakeholder concerns, scenarios) — via prior exploration, a detailed initial request, or any other source — incorporate those into your analysis and SKIP the corresponding question. Ask ONE question at a time only for genuinely unresolved gaps (batch mode: collect steps 3-7's questions into as few rounds as possible instead — same real answers, no assumptions). NEVER re-ask questions already answered.
Run every step. Where ambiguities or gaps require user decision, use question tool — one question at a time, with options. NEVER write any file during this phase.
Always include your recommended answer with rationale on every question — never a bare question without a recommendation. In sequential mode, if the user's answer introduces a new ambiguity or dependent decision, follow that branch before advancing to the next step or gap (batch: defer it to the next batch round instead). A gap or ambiguity is only resolved when no sub-decision within it remains open. If a fact can be determined from existing artifacts, project files, or the environment, look it up — do not ask the user for discoverable information.
Before analysis:
AGENTS.md, CLAUDE.md, GEMINI.md, equivalents at project root, .claude/, .opencode/, docs/. These capture standards: terminology, testing (test types, frameworks, naming), domain language. Spec MUST respect these.NEVER read source code unless requirement explicitly references current behavior to ground. When code reading IS required, dispatch via explore subagent (see Core Principles). Default: no code reading.
Extract all requirements from proposal (+ design if present). Normalize into clear statements. Output: list in plain language.
Look for gaps across user/system/admin/failure/integration flows. Output: gaps found, or "None found" explicitly. Gaps needing user decision → question tool, ONE at a time (batch: joins the combined round with steps 4-7).
Identify terms with multiple interpretations. For each, use question tool: plain language framing, 3-4 concrete options, one "(Recommended)", ONE question at a time. NEVER assume. In sequential mode never batch; in batch mode present these together with steps 3, 5, 6, 7's questions in as few rounds as the tool allows.
Review: invalid input, missing data, permissions, concurrency, retries, partial failures. Output: uncovered edges, or "None found." Decisions → question tool, ONE at a time (batch: joins the combined round).
Review from: end users, admins, operators, developers, integrators. Output: missing or conflicting requirements from any perspective.
Every functional or behavioral requirement MUST have at least one scenario in Gherkin syntax with uppercase keywords:
GIVEN <initial state or precondition>
WHEN <event or action taken>
THEN <observable outcome>
AND <continues prior keyword's category — use only when natural>
BUT <exclusion or counter-outcome — use only when natural>Rules:
Constructing scenarios surfaces ambiguity — a requirement that can't be expressed as Given/When/Then is not testable.
For each requirement lacking a scenario, with ambiguous scenario, or contradictory scenarios, use question tool. ONE question at a time (batch: joins the combined round).
Discover during analysis that proposal — or existing design, if present — is incomplete, contradictory, or inconsistent with what user is asking for:
STOP. Surface the issue. NEVER paper over with spec choices.
Resolutions:
Don't continue spec work until conflict resolved.
Once all answered, summarize resolved decisions:
In sequential mode, explicitly ask the user to confirm shared understanding before proceeding to Phase 2 — do NOT advance on silence or implied agreement. In batch mode, skip this extra question — the summary was already built from the user's combined replies; proceed to Phase 2.
Template coverage check: Verify every template section (from Phase 0) has collected substance to fill it. If any section lacks substance, ask targeted questions until covered (batch: combine into one round).
Rules compliance check: Review rules from Phase 0. If any rule constrains what can be specified (e.g., "all requirements must have Gherkin scenarios", "edge cases must be explicitly documented"), verify the requirements honor those constraints. If a rule is violated, surface the conflict to the user before proceeding (batch: fold multiple conflicts into one round).
Mark Phase 1 complete. Update task status. Proceed to Phase 2.
NEVER write any file until Phase 2 drift check passes.
Re-read approved proposal (and any existing design). If analysis results drift from proposal scope, goals, or non-goals — STOP. Surface the drift. Resolutions: revise spec, revise proposal/design, or split into separate change. NEVER silently reconcile.
Mark Phase 2 complete. Update task status.
Only begin writing after:
Use the template and outputPath from Phase 0. Use template structure EXACTLY. Never improvise sections, restructure, or invent format conventions. Apply instruction and rules as constraints — do NOT copy them into the file.
Structure is content — preserve the form. Gherkin scenarios, requirement lists, and any structured output from Phase 1 must carry through to the spec unchanged. Reducing structured content to prose loses meaning regardless of word count.
Before writing — 2 mandatory steps:
Step 1 — Map Phase 1 to template: Phase 1 outputs are in context — use them directly. Do NOT extract, summarize, or rephrase. For each template section (from Phase 0), map the full Phase 1 content — requirements, Gherkin scenarios, and any structured output — unchanged. Nothing left unmapped.
Step 2 — Density check: Spec must be at least as dense as Phase 1. Structural fidelity: every Gherkin scenario from Phase 1 must appear verbatim — prose replacement of any scenario fails this check.
Write from the mapping. Do NOT discard any Phase 1 content.
CRITICAL — Missing or underrepresented information propagates as blind spots into design, tasks, and implementation. Every Phase 1 output must appear with full weight and specificity intact.
Write to outputPath from Phase 0.
Every scenario in written spec MUST use Gherkin syntax:
Example:
GIVEN the user is authenticated
AND the user has admin role
WHEN the user requests the dashboard
THEN the response contains user metrics
AND the response status is 200
BUT no audit logs are exposedInline self-check before dispatching the compliance reviewer.
Re-read the written spec.md in full. Then scan the entire session — Phase 1 analysis, user inputs, resolved ambiguities, gap decisions, scenario discussions, and any pre-phase conversations. For each requirement, constraint, clarification, edge case decision, or behavioral detail surfaced for the agreed spec: verify it appears in the written spec.md with its original specificity intact. Discarded alternatives from Phase 1 Q&A are intentionally absent — do NOT flag their omission.
Pass: all agreed context captured → proceed to 3.4.
Fail: list each missing item with its session source → fix spec.md inline → re-verify all fixes before proceeding to 3.4.
Do NOT skip. Do NOT proceed to 3.4 with any agreed requirement or decision missing.
Dispatch subagent of type general-purpose (use your subagent/task tool) with reviewer prompt below. Subagent loads spec, proposal, design (if present) into its own context, returns structured findings list, exits.
type-general-purpose dispatch: Claude Code
Agent(general-purpose)· Devin/Windsurfrun_subagent(subagent_general)· OpenCode@general· Codexspawn_agent(multi_agent=true) · Antigravityinvoke_subagent(self)· Pisubagent· unlisted → self-assess; no dispatch tool → execute inline as self-check.
Discipline:
You are a spec document reviewer for an OpenSpec change. Verify the spec is
complete, consistent, and ready for user review.
Inputs:
- Spec file: <SPEC_PATH>
- Proposal file: <PROPOSAL_PATH>
- Design file (path if exists, else "NONE"): <DESIGN_PATH_OR_NONE>
- Template: <TEMPLATE_CONTENT_FROM_PHASE_0>
Read all inputs before reviewing. Check each category:
| Category | What to look for |
|---|---|
| Placeholders | TBD, TODO, "[fill in]", incomplete sections |
| Internal consistency | Two requirements that contradict each other |
| Scenario format | Every scenario uses uppercase GIVEN/WHEN/THEN; AND/BUT only when natural |
| Coverage | Functional/behavioral requirements have positive, negative, and edge scenarios where applicable |
| Implementation leaks | Requirements or scenarios describing HOW instead of WHAT |
| Terminology consistency | Same concept named consistently throughout |
| Proposal alignment | Every requirement traces to a proposal goal; no scope expansion; no relaxed non-goals; no contradictions |
| Design alignment (only if design path provided) | No requirement contradicts a design decision; no design detail leaks into the spec |
| Template compliance | Artifact sections match the provided template — no improvised, missing, or reordered sections |
Calibration: only flag issues that would mislead the user during review or
that would cause downstream phases to build the wrong thing. Minor wording
improvements and stylistic preferences are NOT issues.
Scenario keyword format (GIVEN/WHEN/THEN/AND/BUT) is defined by the skill,
not the template. If the template uses a simpler format (e.g., WHEN/THEN
only), the skill's format takes precedence — do NOT flag this as a template
compliance issue or scenario format issue.
Return format:
Status: Approved | Issues Found
Issues (if any):
- [Category]: [specific finding] — [why it matters]
Recommendations (advisory, do not block):
- [optional improvement suggestions]After receiving reviewer's response:
Mark Phase 3 complete. Update task status.
NEVER define architecture, services, components, schemas, APIs. NEVER choose technologies. NEVER create implementation plans or generate tasks. NEVER write free-form prose scenarios in place of Gherkin for functional/behavioral requirements. NEVER describe HOW in a scenario. Implementation details appear — redirect to design phase.
Succeeds: requirements clearer/more complete, ambiguities resolved WITH user, Gherkin scenarios for all functional requirements (positive/negative/edge), scenarios implementation-independent, aligned with proposal/design, code reading via explore subagent only, reviewer dispatched once with findings applied.
Fails: spec written before Phase 1 confirmed, drift check skipped, reviewer skipped/re-dispatched, scenarios in prose or describing implementation, code read in root, design/architecture/technology/implementation work appears.
© elastic, 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
Just SKILL.md in .agents/skills/openspec-plus-spec of elastic/terraform-provider-elasticstack.
Open the folder on GitHubat commit 2a6096e
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in elastic/terraform-provider-elasticstack, which our catalogue first saw on October 7, 2026.
Openspec Plus Spec 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 |
|---|---|---|---|---|---|---|
| Openspec Plus Spec this skillelastic/terraform-provider-elasticstack | 210 | 1 repos | ~4.7k | Automated safety check: Pass | Apache-2.0 | |
| Agent Specificationruvnet/ruflo | 74k | 3 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Openspec Verify ChangeFission-AI/OpenSpec | 71k | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Specificity Managementthedaviddias/Front-End-Checklist | 74k | — | ~477 | Automated safety check: Pass | MIT | |
| OpenSpec Guided OnboardingFission-AI/OpenSpec | 71k | 1 repos | ~4.5k | Automated safety check: Pass | MIT | |
| Create Specificationgithub/awesome-copilot | 40k | 2 repos | ~1.4k | Automated safety check: Pass | MIT |
ruvnet/ruflo
Agent skill for specification - invoke with $agent-specification
Fission-AI/OpenSpec
Verify implementation matches OpenSpec change artifacts. An agent skill from Fission-AI/OpenSpec.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing stylesheets, component styles, and responsive behavior related to Keep CSS specificity low and flat.
Fission-AI/OpenSpec
Walks you through a complete OpenSpec workflow cycle with narration while doing real work in your codebase.
github/awesome-copilot
Create a new specification file for the solution, optimized for Generative AI consumption.
github/awesome-copilot
Update an existing specification file for the solution, optimized for Generative AI consumption based on new requirements or updates to any existing code.
elastic/terraform-provider-elasticstack
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements.
elastic/terraform-provider-elasticstack
Implement tasks from an OpenSpec change. An agent skill from elastic/terraform-provider-elasticstack.
elastic/terraform-provider-elasticstack
Archive a completed change in the experimental workflow. An agent skill from elastic/terraform-provider-elasticstack.
elastic/terraform-provider-elasticstack
Monitor GitHub pull requests through a subagent-based loop that watches CI checks, review comments, PR comments, review state, merge conflicts, and branch freshness.
elastic/terraform-provider-elasticstack
MANDATORY skill that activates whenever the OpenSpec proposal phase begins.
elastic/terraform-provider-elasticstack
Propose a new change with all artifacts generated in one step.
MANDATORY skill that activates whenever the OpenSpec specification phase begins. Openspec Plus Spec is an agent skill from elastic/terraform-provider-elasticstack, published by the product's own GitHub organization. MANDATORY skill that activates whenever the OpenSpec specification phase begins.
Run `npx skills add elastic/terraform-provider-elasticstack --skill openspec-plus-spec -a claude-code`. Or copy the skill folder (.agents/skills/openspec-plus-spec in elastic/terraform-provider-elasticstack) into .claude/skills/openspec-plus-spec in your project. Claude Code loads it when a task matches its description.
Run `npx skills add elastic/terraform-provider-elasticstack --skill openspec-plus-spec -a codex`. Or copy the skill folder (.agents/skills/openspec-plus-spec in elastic/terraform-provider-elasticstack) into .agents/skills/openspec-plus-spec 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 elastic/terraform-provider-elasticstack --skill openspec-plus-spec -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openspec-plus-spec, .gemini/skills/openspec-plus-spec, .github/skills/openspec-plus-spec and .opencode/skills/openspec-plus-spec in your project.
SKILL.md names no scripts, command-line tools or credentials: Openspec Plus Spec 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.
Openspec Plus Spec 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 4.7k tokens (SKILL.md is roughly 19k 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 Openspec Plus Spec: Agent Specification (ruvnet/ruflo, 74k stars), Openspec Verify Change (Fission-AI/OpenSpec, 71k stars), Specificity Management (thedaviddias/Front-End-Checklist, 74k stars) and OpenSpec Guided Onboarding (Fission-AI/OpenSpec, 71k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
elastic (a GitHub organization, an official publisher) maintains it in elastic/terraform-provider-elasticstack, which has 210 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 7, 2026.
Source: elastic/terraform-provider-elasticstack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.