Skip to content

Conversation

@TabishB
Copy link
Contributor

@TabishB TabishB commented Jan 26, 2026

Summary

  • Removes schemas/tdd/ directory (internal test example not meant for users)
  • Removes all TDD references from user-facing documentation
  • Updates examples to use generic schema names instead

Test plan

  • Verify no TDD references remain in docs: grep -ri tdd docs/
  • Verify schema resolution still works: openspec schemas
  • Build passes

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Removed TDD workflow docs and examples; introduced Rapid Iteration workflow and updated artifact examples and CLI schema references
    • Added promotional/thread drafts describing v1 features and commands
  • Chores

    • Deleted deprecated TDD schema/templates and updated templates/examples to use the new/default schema
  • Tests

    • Updated and removed tests to reflect the new/default schema and remove TDD-specific scenarios

✏️ Tip: You can customize this high-level summary in your review settings.

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
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 26, 2026

📝 Walkthrough

Walkthrough

The 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

Cohort / File(s) Summary
Documentation - CLI / OpsX / Migration
docs/cli.md, docs/opsx.md, docs/migration-guide.md
Removed tdd examples from CLI flag descriptions and Available Schemas; replaced with generic <name> or rapid examples; adjusted error/help artifact listings.
Documentation - Concepts & Commands
docs/concepts.md, docs/commands.md
Deleted the tdd subsection and the example-with-schema block; updated built-in schemas docs to omit tdd.
Documentation - Customization
docs/customization.md
Reworked examples and YAML/markdown templates to present a "Rapid Iteration" flow (artifacts: proposal/tasks), added "Adding a Review Artifact" subsection, and renamed tdd-minimal → rapid in examples.
Schemas - Removal
schemas/tdd/schema.yaml, schemas/tdd/templates/docs.md, schemas/tdd/templates/implementation.md, schemas/tdd/templates/spec.md, schemas/tdd/templates/test.md
Deleted the entire tdd schema directory and all template files.
Source - Templates & Messaging
src/core/templates/skill-templates.ts
Removed tdd mentions from skill/command templates and examples; adjusted guidance to show spec-driven/default flows.
Source - Config & Utilities
src/core/project-config.ts, src/commands/workflow/instructions.ts, src/utils/change-utils.ts
Updated inline docs, comments, and JSDoc examples to remove tdd from examples and clarify schema messaging.
Tests - Schema name / coverage changes
test/commands/artifact-workflow.test.ts, test/core/artifact-graph/*.test.ts, test/core/project-config.test.ts, test/utils/*.test.ts, test/core/artifact-graph/workflow.integration.test.ts
Replaced many test literals from tddspec-driven/custom-schema; removed tests that assumed a built-in tdd workflow; updated expectations and fixtures accordingly.
New docs
twitter_thread_revised.md, v1-release-twitter-thread.md
Added two new marketing/social draft markdown files describing OpenSpec 1.0 features and release thread content.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Poem

🐰 I munched the old TDD map,

hopped to Rapid’s brighter lap.
Specs first, then tasks to do,
Templates fresh, the path feels new.
Hooray — a carrot-shaped commit for you! 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and accurately describes the main objective of the pull request: removing the TDD schema and its references throughout the codebase.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps
Copy link

greptile-apps bot commented Jan 26, 2026

Greptile Overview

Greptile Summary

Removes the internal TDD schema and all references from user-facing documentation and source code. The schema directory schemas/tdd/ and its templates have been completely removed, and documentation examples have been updated to use generic schema names like my-workflow and rapid instead of tdd.

Major changes:

  • Deleted entire schemas/tdd/ directory with schema.yaml and all template files
  • Updated 6 documentation files to remove TDD references and examples
  • Replaced TDD example in customization.md with a new "Rapid Iteration Workflow" example
  • Updated source code comments in 4 TypeScript files to use generic schema names
  • Removed TDD references from AI skill templates that guide agent behavior

Critical issue found:

  • Multiple test files still reference the deleted tdd schema and will fail when run
  • Affected files: test/core/artifact-graph/resolver.test.ts, test/core/artifact-graph/workflow.integration.test.ts, test/commands/artifact-workflow.test.ts, test/core/project-config.test.ts, test/utils/change-metadata.test.ts, test/utils/change-utils.test.ts, and test/core/artifact-graph/instruction-loader.test.ts

Confidence Score: 1/5

  • This PR will break the test suite due to removed schema references
  • Documentation and source code changes are thorough and correct, but the test suite has not been updated to remove references to the deleted tdd schema. Multiple test files will fail because they attempt to use resolveSchema('tdd') which will no longer find the schema files. The PR test plan mentions running tests, but this critical issue needs to be resolved first.
  • All test files that reference tdd schema must be updated: test/core/artifact-graph/resolver.test.ts, test/core/artifact-graph/workflow.integration.test.ts, test/commands/artifact-workflow.test.ts, test/core/project-config.test.ts, and several others

Important Files Changed

Filename Overview
docs/customization.md Replaced TDD example with "Rapid Iteration Workflow"
src/commands/workflow/instructions.ts Updated comment to be generic instead of TDD-specific
src/core/project-config.ts Removed TDD from schema examples in comments
src/core/templates/skill-templates.ts Removed all TDD references from AI skill templates

Sequence Diagram

sequenceDiagram
    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
Loading

@vibe-kanban-cloud
Copy link

Review Complete

Your review story is ready!

View Story

Comment !reviewfast on this PR to re-generate the story.

Copy link

@greptile-apps greptile-apps bot left a 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

Edit Code Review Agent Settings | Greptile

@greptile-apps
Copy link

greptile-apps bot commented Jan 26, 2026

Additional Comments (4)

test/core/artifact-graph/resolver.test.ts
test references deleted tdd schema - will fail since schemas/tdd/ was removed

    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);
Prompt To Fix With AI
This 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.

test/core/artifact-graph/workflow.integration.test.ts
entire test suite references deleted tdd schema - will fail

Either remove this test suite or replace with a different schema

Prompt To Fix With AI
This 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.

test/commands/artifact-workflow.test.ts
test uses deleted tdd schema on lines 443, 447-449 - will fail

Update to use spec-driven or another valid schema

Prompt To Fix With AI
This 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.

test/core/project-config.test.ts
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

Prompt To Fix With AI
This 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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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. Consider text for diagrams.

Proposed fix
-```
+```text

All tests that referenced the removed TDD schema have been updated
to use spec-driven or custom-schema names instead.
Copy link
Contributor

@coderabbitai coderabbitai bot left a 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-apply schema pattern used in lines 461-509) for the config and override it with spec-driven via CLI.

Comment on lines 3 to 100
### 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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

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.

Suggested change
### 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.

Comment on lines 6 to 183
```
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

```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

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.

Suggested change
```
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.

@TabishB TabishB merged commit 12a7224 into main Jan 26, 2026
9 checks passed
@TabishB TabishB deleted the chore/remove-tdd-references branch January 26, 2026 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants