-
Notifications
You must be signed in to change notification settings - Fork 1.3k
chore: remove TDD schema and all references #586
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
TDD was an internal test example that should not be in user-facing docs. This removes: - The schemas/tdd directory and all its templates - All TDD references from documentation - TDD examples from skill templates and source code comments
📝 WalkthroughWalkthroughThe PR removes the built-in "tdd" schema and its templates, replaces tdd references in docs and templates with generic/spec-driven or "rapid" examples, updates CLI/docs examples and tests to use new schema names, and adds two new marketing docs. No public API signatures were changed. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile OverviewGreptile SummaryRemoves the internal TDD schema and all references from user-facing documentation and source code. The schema directory Major changes:
Critical issue found:
Confidence Score: 1/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Dev as Developer
participant PR as Pull Request
participant Docs as Documentation
participant Code as Source Code
participant Schema as Schema Directory
participant Tests as Test Suite
Dev->>PR: Remove TDD schema and references
PR->>Schema: Delete schemas/tdd/ directory
Schema-->>Schema: ✓ TDD schema removed
PR->>Docs: Update all documentation files
Docs->>Docs: Remove TDD references from cli.md
Docs->>Docs: Remove TDD references from commands.md
Docs->>Docs: Remove TDD references from concepts.md
Docs->>Docs: Replace TDD example with "rapid" in customization.md
Docs->>Docs: Remove TDD from migration-guide.md
Docs->>Docs: Remove TDD from opsx.md
Docs-->>Docs: ✓ All docs updated
PR->>Code: Update source code
Code->>Code: Update comments in instructions.ts
Code->>Code: Update comments in project-config.ts
Code->>Code: Remove TDD from skill-templates.ts
Code->>Code: Update JSDoc in change-utils.ts
Code-->>Code: ✓ All source updated
PR->>Tests: Check test suite
Tests-->>PR: ⚠️ Tests still reference TDD
Tests-->>PR: resolver.test.ts uses 'tdd'
Tests-->>PR: workflow.integration.test.ts uses 'tdd'
Tests-->>PR: artifact-workflow.test.ts uses 'tdd'
Tests-->>PR: project-config.test.ts uses 'tdd'
Tests-->>PR: ⚠️ Tests will fail
|
Review CompleteYour review story is ready! Comment !reviewfast on this PR to re-generate the story. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4 files reviewed, 4 comments
Additional Comments (4)
Prompt To Fix With AIThis is a comment left during a code review.
Path: test/core/artifact-graph/resolver.test.ts
Line: 83:88
Comment:
test references deleted `tdd` schema - will fail since `schemas/tdd/` was removed
```suggestion
it('should return built-in spec-driven schema', () => {
const schema = resolveSchema('spec-driven');
expect(schema.name).toBe('spec-driven');
expect(schema.version).toBe(1);
expect(schema.artifacts.length).toBeGreaterThan(0);
```
How can I resolve this? If you propose a fix, please make it concise.
Either remove this test suite or replace with a different schema Prompt To Fix With AIThis is a comment left during a code review.
Path: test/core/artifact-graph/workflow.integration.test.ts
Line: 134:140
Comment:
entire test suite references deleted `tdd` schema - will fail
Either remove this test suite or replace with a different schema
How can I resolve this? If you propose a fix, please make it concise.
Update to use Prompt To Fix With AIThis is a comment left during a code review.
Path: test/commands/artifact-workflow.test.ts
Line: 433:450
Comment:
test uses deleted `tdd` schema on lines 443, 447-449 - will fail
Update to use `spec-driven` or another valid schema
How can I resolve this? If you propose a fix, please make it concise.
Replace Prompt To Fix With AIThis is a comment left during a code review.
Path: test/core/project-config.test.ts
Line: 539:543
Comment:
test data includes deleted `tdd` schema - multiple tests will fail (lines 541, 558, 565, 572, 576)
Replace `tdd` references with a different schema or remove from test data
How can I resolve this? If you propose a fix, please make it concise. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/opsx.md (1)
25-35: Add a language identifier to fenced blocks (MD040).
This fence lacks a language specifier; markdownlint flags it. Considertextfor diagrams.Proposed fix
-``` +```text
All tests that referenced the removed TDD schema have been updated to use spec-driven or custom-schema names instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In `@twitter_thread_revised.md`:
- Around line 3-100: The markdown jumps from a top-level title to '###' headings
(MD001); update the section headings (e.g., "1 - Opener", "2 - Skills Support",
"3 - New Explore Command", etc.) from '###' to '##' so they form a proper
second-level hierarchy under the document title; ensure all current '###' lines
in twitter_thread_revised.md are converted to '##' consistently to satisfy
markdownlint.
In `@v1-release-twitter-thread.md`:
- Around line 100-104: The documentation still lists "tdd" as a built-in schema
though the PR removed it; update the prose that enumerates built-in schemas to
remove "tdd" so it matches current code. Locate the sentence containing
"Built-in: spec-driven, tdd" and change it to only list the actual built-in
schema(s) (e.g., "Built-in: spec-driven") and ensure any references to the
removed "tdd" elsewhere in v1-release-twitter-thread.md or the
"openspec/schemas/" guidance are deleted or updated to avoid mentioning the
stale "tdd" schema.
- Around line 6-183: All fenced code blocks in the document (e.g., the blocks
under headings like "1a", "1b", "2", "3a", etc.) are missing language
identifiers which triggers markdownlint MD040; update every triple-backtick
fence to include a language token (use "text" for plain copy blocks) so each
block becomes ```text ... ```, ensuring consistency across the file and fixing
the MD040 warnings.
🧹 Nitpick comments (3)
test/utils/change-utils.test.ts (1)
141-147: Test name no longer matches behavior.This test now passes the default schema explicitly, so it doesn’t exercise the non-default/custom schema path. Consider renaming the test (or introduce a real custom schema fixture if you want that coverage).
♻️ Proposed rename
- it('should create .openspec.yaml with custom schema', async () => { + it('should create .openspec.yaml with explicit schema', async () => {test/core/artifact-graph/instruction-loader.test.ts (1)
103-113: Override test no longer validates precedence.The explicit schema matches the metadata schema, so this test can’t fail if override logic regresses. Consider using a different valid schema (or a minimal custom schema fixture) to exercise the precedence path.
test/commands/artifact-workflow.test.ts (1)
678-697: Consider clarifying the test purpose or using a custom schema for the override test.The test is named "CLI schema overrides config schema" but both the config file (line 683) and the CLI argument (line 688) use
spec-driven. This doesn't effectively test the override behavior since both values are identical.If the intent is to verify that explicit CLI arguments work even when matching the config, consider updating the test name to reflect this. Alternatively, if you want to truly test override behavior, you could create a minimal custom schema (similar to the
no-applyschema pattern used in lines 461-509) for the config and override it withspec-drivenvia CLI.
twitter_thread_revised.md
Outdated
| ### 1 - Opener | ||
|
|
||
| We just shipped OpenSpec 1.0! | ||
|
|
||
| We've taken what we've learned from months of feedback and put it into one release. | ||
|
|
||
| Here's what's new 👇 | ||
|
|
||
| [Image] | ||
|
|
||
| --- | ||
|
|
||
| ### 2 - Skills Support | ||
|
|
||
| We've fully migrated to Skills. | ||
|
|
||
| Before skills were a thing, we were hacking it - injecting a note into CLAUDE.md or AGENTS.md telling AI this project runs on OpenSpec. | ||
|
|
||
| Now we generate proper skills for 21 coding agents: Claude Code, Cursor, Windsurf, Codex, GitHub Copilot, Amazon Q, and 15 more. | ||
|
|
||
| --- | ||
|
|
||
| ### 3 - New Explore Command | ||
|
|
||
| Think through an idea before committing to a change. | ||
|
|
||
| Investigate the codebase. Compare approaches. Clarify requirements. | ||
|
|
||
| When ready, flow into /opsx:new. | ||
|
|
||
| [Screenshot: /opsx:explore how should we add real-time notifications?] | ||
|
|
||
| --- | ||
|
|
||
| ### 4 - FF vs Continue | ||
|
|
||
| Two ways to create planning artifacts: | ||
|
|
||
| ff creates all artifacts at once - proposal, specs, design, tasks. | ||
| continue creates one artifact at a time. | ||
|
|
||
| ff when you have a clear picture. continue when you're still learning. | ||
|
|
||
| [Screenshot: /opsx:ff add-dark-mode and /opsx:continue add-dark-mode] | ||
|
|
||
| --- | ||
|
|
||
| ### 5 - New Verify Command | ||
|
|
||
| Checks that what you built matches what you planned. | ||
|
|
||
| • Completeness - all tasks done? | ||
| • Correctness - all requirements implemented? | ||
| • Coherence - code follows the design? | ||
|
|
||
| Run before you archive. | ||
|
|
||
| [Screenshot: /opsx:verify add-dark-mode] | ||
|
|
||
| --- | ||
|
|
||
| ### 6 - Dynamic Instructions | ||
|
|
||
| AI instructions are no longer static. | ||
|
|
||
| Assembled from 3 layers: | ||
| • Context - your project background | ||
| • Rules - artifact-specific constraints | ||
| • Template - output structure | ||
|
|
||
| Edit any layer. Changes take effect immediately. | ||
|
|
||
| --- | ||
|
|
||
| ### 7 - Plus More | ||
|
|
||
| Plus: | ||
| • Custom schemas - define your own artifact workflows | ||
| • Project config - openspec/config.yaml for context + rules | ||
| • Bulk archive - /opsx:bulk-archive for parallel changes | ||
|
|
||
| Full docs: github.com/Fission-AI/OpenSpec/blob/main/docs/ | ||
|
|
||
| --- | ||
|
|
||
| ### 8 - Onboard Command | ||
|
|
||
| New to OpenSpec? | ||
|
|
||
| Guided walkthrough of the full workflow using your actual codebase. | ||
|
|
||
| ~15 minutes to see it all in action. | ||
|
|
||
| [Screenshot: /opsx:onboard] | ||
|
|
||
| --- | ||
|
|
||
| ### 9 - Install |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix heading level jump (MD001).
The file jumps from # to ###. Converting the section headings to ## satisfies markdownlint and preserves hierarchy.
✏️ Suggested update
-### 1 - Opener
+## 1 - Opener
@@
-### 2 - Skills Support
+## 2 - Skills Support
@@
-### 3 - New Explore Command
+## 3 - New Explore Command
@@
-### 4 - FF vs Continue
+## 4 - FF vs Continue
@@
-### 5 - New Verify Command
+## 5 - New Verify Command
@@
-### 6 - Dynamic Instructions
+## 6 - Dynamic Instructions
@@
-### 7 - Plus More
+## 7 - Plus More
@@
-### 8 - Onboard Command
+## 8 - Onboard Command
@@
-### 9 - Install
+## 9 - Install📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ### 1 - Opener | |
| We just shipped OpenSpec 1.0! | |
| We've taken what we've learned from months of feedback and put it into one release. | |
| Here's what's new 👇 | |
| [Image] | |
| --- | |
| ### 2 - Skills Support | |
| We've fully migrated to Skills. | |
| Before skills were a thing, we were hacking it - injecting a note into CLAUDE.md or AGENTS.md telling AI this project runs on OpenSpec. | |
| Now we generate proper skills for 21 coding agents: Claude Code, Cursor, Windsurf, Codex, GitHub Copilot, Amazon Q, and 15 more. | |
| --- | |
| ### 3 - New Explore Command | |
| Think through an idea before committing to a change. | |
| Investigate the codebase. Compare approaches. Clarify requirements. | |
| When ready, flow into /opsx:new. | |
| [Screenshot: /opsx:explore how should we add real-time notifications?] | |
| --- | |
| ### 4 - FF vs Continue | |
| Two ways to create planning artifacts: | |
| ff creates all artifacts at once - proposal, specs, design, tasks. | |
| continue creates one artifact at a time. | |
| ff when you have a clear picture. continue when you're still learning. | |
| [Screenshot: /opsx:ff add-dark-mode and /opsx:continue add-dark-mode] | |
| --- | |
| ### 5 - New Verify Command | |
| Checks that what you built matches what you planned. | |
| • Completeness - all tasks done? | |
| • Correctness - all requirements implemented? | |
| • Coherence - code follows the design? | |
| Run before you archive. | |
| [Screenshot: /opsx:verify add-dark-mode] | |
| --- | |
| ### 6 - Dynamic Instructions | |
| AI instructions are no longer static. | |
| Assembled from 3 layers: | |
| • Context - your project background | |
| • Rules - artifact-specific constraints | |
| • Template - output structure | |
| Edit any layer. Changes take effect immediately. | |
| --- | |
| ### 7 - Plus More | |
| Plus: | |
| • Custom schemas - define your own artifact workflows | |
| • Project config - openspec/config.yaml for context + rules | |
| • Bulk archive - /opsx:bulk-archive for parallel changes | |
| Full docs: github.com/Fission-AI/OpenSpec/blob/main/docs/ | |
| --- | |
| ### 8 - Onboard Command | |
| New to OpenSpec? | |
| Guided walkthrough of the full workflow using your actual codebase. | |
| ~15 minutes to see it all in action. | |
| [Screenshot: /opsx:onboard] | |
| --- | |
| ### 9 - Install | |
| ## 1 - Opener | |
| We just shipped OpenSpec 1.0! | |
| We've taken what we've learned from months of feedback and put it into one release. | |
| Here's what's new 👇 | |
| [Image] | |
| --- | |
| ## 2 - Skills Support | |
| We've fully migrated to Skills. | |
| Before skills were a thing, we were hacking it - injecting a note into CLAUDE.md or AGENTS.md telling AI this project runs on OpenSpec. | |
| Now we generate proper skills for 21 coding agents: Claude Code, Cursor, Windsurf, Codex, GitHub Copilot, Amazon Q, and 15 more. | |
| --- | |
| ## 3 - New Explore Command | |
| Think through an idea before committing to a change. | |
| Investigate the codebase. Compare approaches. Clarify requirements. | |
| When ready, flow into /opsx:new. | |
| [Screenshot: /opsx:explore how should we add real-time notifications?] | |
| --- | |
| ## 4 - FF vs Continue | |
| Two ways to create planning artifacts: | |
| ff creates all artifacts at once - proposal, specs, design, tasks. | |
| continue creates one artifact at a time. | |
| ff when you have a clear picture. continue when you're still learning. | |
| [Screenshot: /opsx:ff add-dark-mode and /opsx:continue add-dark-mode] | |
| --- | |
| ## 5 - New Verify Command | |
| Checks that what you built matches what you planned. | |
| • Completeness - all tasks done? | |
| • Correctness - all requirements implemented? | |
| • Coherence - code follows the design? | |
| Run before you archive. | |
| [Screenshot: /opsx:verify add-dark-mode] | |
| --- | |
| ## 6 - Dynamic Instructions | |
| AI instructions are no longer static. | |
| Assembled from 3 layers: | |
| • Context - your project background | |
| • Rules - artifact-specific constraints | |
| • Template - output structure | |
| Edit any layer. Changes take effect immediately. | |
| --- | |
| ## 7 - Plus More | |
| Plus: | |
| • Custom schemas - define your own artifact workflows | |
| • Project config - openspec/config.yaml for context + rules | |
| • Bulk archive - /opsx:bulk-archive for parallel changes | |
| Full docs: github.com/Fission-AI/OpenSpec/blob/main/docs/ | |
| --- | |
| ## 8 - Onboard Command | |
| New to OpenSpec? | |
| Guided walkthrough of the full workflow using your actual codebase. | |
| ~15 minutes to see it all in action. | |
| [Screenshot: /opsx:onboard] | |
| --- | |
| ## 9 - Install |
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
3-3: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3
(MD001, heading-increment)
🤖 Prompt for AI Agents
In `@twitter_thread_revised.md` around lines 3 - 100, The markdown jumps from a
top-level title to '###' headings (MD001); update the section headings (e.g., "1
- Opener", "2 - Skills Support", "3 - New Explore Command", etc.) from '###' to
'##' so they form a proper second-level hierarchy under the document title;
ensure all current '###' lines in twitter_thread_revised.md are converted to
'##' consistently to satisfy markdownlint.
v1-release-twitter-thread.md
Outdated
| ``` | ||
| OpenSpec 1.0 is out. | ||
|
|
||
| The OPSX workflow is now the default. | ||
|
|
||
| Thread on what's new 👇 | ||
| ``` | ||
|
|
||
| ### 1b | ||
| ``` | ||
| Shipped OpenSpec 1.0 today. | ||
|
|
||
| Took what we learned from the experimental workflow and made it the default. | ||
|
|
||
| Here's what changed: | ||
| ``` | ||
|
|
||
| ### 1c | ||
| ``` | ||
| OpenSpec 1.0 just dropped. | ||
|
|
||
| TL;DR: Skills for 21 coding agents. Better workflow. Breaking changes (but migration is smooth). | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## SKILLS | ||
|
|
||
| ### 2 | ||
| ``` | ||
| Skills now generate for all major coding agents — Claude Code, Cursor, Windsurf, and 18 others. | ||
|
|
||
| Tools that don't support invocable skills get matching commands instead. | ||
|
|
||
| One `openspec init`, works everywhere. | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## WORKFLOW IMPROVEMENTS (mix and match) | ||
|
|
||
| ### 3a - Explore | ||
| ``` | ||
| /opsx:explore | ||
|
|
||
| Think through an idea before committing to a change. Good for unclear requirements or when you need to investigate first. | ||
| ``` | ||
|
|
||
| ### 3b - FF vs Continue | ||
| ``` | ||
| /opsx:ff vs /opsx:continue | ||
|
|
||
| ff = generate all planning artifacts at once | ||
| continue = one at a time | ||
|
|
||
| Pick what fits the situation. | ||
| ``` | ||
|
|
||
| ### 3c - Verify | ||
| ``` | ||
| /opsx:verify | ||
|
|
||
| Checks your implementation against your specs before you archive. Catches drift between what you planned and what you built. | ||
| ``` | ||
|
|
||
| ### 3d - Bulk Archive | ||
| ``` | ||
| /opsx:bulk-archive | ||
|
|
||
| Working on multiple changes in parallel? Archive them all at once. Detects spec conflicts and resolves in order. | ||
| ``` | ||
|
|
||
| ### 3e - Onboard | ||
| ``` | ||
| /opsx:onboard | ||
|
|
||
| Guided walkthrough of the full workflow. ~15 min, codebase-aware. Good starting point if you're new. | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## CUSTOMIZATION | ||
|
|
||
| ### 3f - Project Config | ||
| ``` | ||
| New: openspec/config.yaml | ||
|
|
||
| Set your default schema. Inject project context (tech stack, conventions). Add per-artifact rules. | ||
|
|
||
| AI gets the right context automatically. No more repeating yourself. | ||
| ``` | ||
|
|
||
| ### 3g - Custom Schemas | ||
| ``` | ||
| Teams can define their own artifact workflows. | ||
|
|
||
| Built-in: spec-driven, tdd | ||
| Custom: drop a schema.yaml in openspec/schemas/ and it just works. | ||
|
|
||
| Version control your workflow. | ||
| ``` | ||
|
|
||
| ### 3h - Dynamic Instructions | ||
| ``` | ||
| AI instructions are no longer static. | ||
|
|
||
| Now assembled from 3 layers: | ||
| • Context (project background) | ||
| • Rules (artifact-specific constraints) | ||
| • Template (output structure) | ||
|
|
||
| Edit any layer. No rebuild needed. | ||
| ``` | ||
|
|
||
| ### 3i - Schema Overrides (Power Users) | ||
| ``` | ||
| Override schemas at user level via XDG directories. | ||
|
|
||
| Your customizations persist across projects. Package updates don't overwrite them. | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## BREAKING CHANGES | ||
|
|
||
| ### 4 | ||
| ``` | ||
| Breaking: old /openspec:* commands are gone. Config files like CLAUDE.md are replaced by skills. | ||
|
|
||
| Migration preserves your active changes and specs. Run `openspec init` or `openspec upgrade`. | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## CLOSER (pick one) | ||
|
|
||
| ### 5a | ||
| ``` | ||
| Release notes: https://github.com/Fission-AI/OpenSpec/releases/tag/v1.0.0 | ||
|
|
||
| Migration guide: https://github.com/Fission-AI/OpenSpec/blob/main/docs/migration-guide.md | ||
|
|
||
| Issues? Open a GitHub issue or find me here. | ||
| ``` | ||
|
|
||
| ### 5b | ||
| ``` | ||
| Upgrade: | ||
|
|
||
| openspec init | ||
|
|
||
| Full release notes + migration guide in the replies. | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## SUGGESTED COMBINATIONS | ||
|
|
||
| **5-tweet thread:** | ||
| 1a → 2 → 3b → 4 → 5a | ||
|
|
||
| **Shorter 3-tweet version:** | ||
| 1c → 2 → 5a | ||
|
|
||
| **Feature-focused (6 tweets):** | ||
| 1a → 2 → 3a → 3c → 4 → 5a | ||
|
|
||
| **Customization-focused (6 tweets):** | ||
| 1a → 2 → 3f → 3g → 4 → 5a | ||
|
|
||
| **Full thread (8 tweets):** | ||
| 1b → 2 → 3b → 3f → 3g → 3c → 4 → 5a | ||
|
|
||
| --- | ||
|
|
||
| ## DISCORD ANNOUNCEMENT | ||
|
|
||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add language identifiers to fenced blocks (MD040).
markdownlint flags every fenced block without a language. Consider using text for all fences in this doc.
♻️ Example fix (apply to all fenced blocks)
-```
+```text
OpenSpec 1.0 is out.
```📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ``` | |
| OpenSpec 1.0 is out. | |
| The OPSX workflow is now the default. | |
| Thread on what's new 👇 | |
| ``` | |
| ### 1b | |
| ``` | |
| Shipped OpenSpec 1.0 today. | |
| Took what we learned from the experimental workflow and made it the default. | |
| Here's what changed: | |
| ``` | |
| ### 1c | |
| ``` | |
| OpenSpec 1.0 just dropped. | |
| TL;DR: Skills for 21 coding agents. Better workflow. Breaking changes (but migration is smooth). | |
| ``` | |
| --- | |
| ## SKILLS | |
| ### 2 | |
| ``` | |
| Skills now generate for all major coding agents — Claude Code, Cursor, Windsurf, and 18 others. | |
| Tools that don't support invocable skills get matching commands instead. | |
| One `openspec init`, works everywhere. | |
| ``` | |
| --- | |
| ## WORKFLOW IMPROVEMENTS (mix and match) | |
| ### 3a - Explore | |
| ``` | |
| /opsx:explore | |
| Think through an idea before committing to a change. Good for unclear requirements or when you need to investigate first. | |
| ``` | |
| ### 3b - FF vs Continue | |
| ``` | |
| /opsx:ff vs /opsx:continue | |
| ff = generate all planning artifacts at once | |
| continue = one at a time | |
| Pick what fits the situation. | |
| ``` | |
| ### 3c - Verify | |
| ``` | |
| /opsx:verify | |
| Checks your implementation against your specs before you archive. Catches drift between what you planned and what you built. | |
| ``` | |
| ### 3d - Bulk Archive | |
| ``` | |
| /opsx:bulk-archive | |
| Working on multiple changes in parallel? Archive them all at once. Detects spec conflicts and resolves in order. | |
| ``` | |
| ### 3e - Onboard | |
| ``` | |
| /opsx:onboard | |
| Guided walkthrough of the full workflow. ~15 min, codebase-aware. Good starting point if you're new. | |
| ``` | |
| --- | |
| ## CUSTOMIZATION | |
| ### 3f - Project Config | |
| ``` | |
| New: openspec/config.yaml | |
| Set your default schema. Inject project context (tech stack, conventions). Add per-artifact rules. | |
| AI gets the right context automatically. No more repeating yourself. | |
| ``` | |
| ### 3g - Custom Schemas | |
| ``` | |
| Teams can define their own artifact workflows. | |
| Built-in: spec-driven, tdd | |
| Custom: drop a schema.yaml in openspec/schemas/ and it just works. | |
| Version control your workflow. | |
| ``` | |
| ### 3h - Dynamic Instructions | |
| ``` | |
| AI instructions are no longer static. | |
| Now assembled from 3 layers: | |
| • Context (project background) | |
| • Rules (artifact-specific constraints) | |
| • Template (output structure) | |
| Edit any layer. No rebuild needed. | |
| ``` | |
| ### 3i - Schema Overrides (Power Users) | |
| ``` | |
| Override schemas at user level via XDG directories. | |
| Your customizations persist across projects. Package updates don't overwrite them. | |
| ``` | |
| --- | |
| ## BREAKING CHANGES | |
| ### 4 | |
| ``` | |
| Breaking: old /openspec:* commands are gone. Config files like CLAUDE.md are replaced by skills. | |
| Migration preserves your active changes and specs. Run `openspec init` or `openspec upgrade`. | |
| ``` | |
| --- | |
| ## CLOSER (pick one) | |
| ### 5a | |
| ``` | |
| Release notes: https://github.com/Fission-AI/OpenSpec/releases/tag/v1.0.0 | |
| Migration guide: https://github.com/Fission-AI/OpenSpec/blob/main/docs/migration-guide.md | |
| Issues? Open a GitHub issue or find me here. | |
| ``` | |
| ### 5b | |
| ``` | |
| Upgrade: | |
| openspec init | |
| Full release notes + migration guide in the replies. | |
| ``` | |
| --- | |
| ## SUGGESTED COMBINATIONS | |
| **5-tweet thread:** | |
| 1a → 2 → 3b → 4 → 5a | |
| **Shorter 3-tweet version:** | |
| 1c → 2 → 5a | |
| **Feature-focused (6 tweets):** | |
| 1a → 2 → 3a → 3c → 4 → 5a | |
| **Customization-focused (6 tweets):** | |
| 1a → 2 → 3f → 3g → 4 → 5a | |
| **Full thread (8 tweets):** | |
| 1b → 2 → 3b → 3f → 3g → 3c → 4 → 5a | |
| --- | |
| ## DISCORD ANNOUNCEMENT | |
| ``` |
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
6-6: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
15-15: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
24-24: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
35-35: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
48-48: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
55-55: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
65-65: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
72-72: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
79-79: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
90-90: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
99-99: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
109-109: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
121-121: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
132-132: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
143-143: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
152-152: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
183-183: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
In `@v1-release-twitter-thread.md` around lines 6 - 183, All fenced code blocks in
the document (e.g., the blocks under headings like "1a", "1b", "2", "3a", etc.)
are missing language identifiers which triggers markdownlint MD040; update every
triple-backtick fence to include a language token (use "text" for plain copy
blocks) so each block becomes ```text ... ```, ensuring consistency across the
file and fixing the MD040 warnings.
Summary
schemas/tdd/directory (internal test example not meant for users)Test plan
grep -ri tdd docs/openspec schemas🤖 Generated with Claude Code
Summary by CodeRabbit
Documentation
Chores
Tests
✏️ Tip: You can customize this high-level summary in your review settings.