Note: This is an adaptation of the original GitHub Skills lesson that has been modified to demonstrate SpecOps principles. SpecOps is a methodology for using AI to modernize legacy systems by focusing on knowledge preservation and verified specifications rather than direct code translation.
- Who is this for: Developers looking to update and improve their legacy codebases using specification-driven development.
- What you'll learn: How to leverage GitHub Copilot to extract specifications from legacy code and generate modern implementations from those specifications.
- What you'll build: A software specification and a modern Node.js application that implements it.
- Prerequisites:
- Skills exercise: Getting Started with GitHub Copilot
- Familiarity with VS Code
- Basic coding principles
- How long: This exercise takes less than 30 minutes to complete.
In this exercise, you will:
- Analyze legacy COBOL code to understand its behavior.
- Generate a software specification that captures business rules in plain language.
- Create a test plan derived from the specification.
- Implement a modern Node.js application from the specification—not by translating code.
- Validate the implementation against the specification using tests.
This repository includes standard SpecOps components that you can reuse in your own projects:
| Component | Description |
|---|---|
| AGENTS.md | Instructions for AI agents working on this codebase. Encodes the SpecOps methodology—specification-driven development where the spec is the source of truth. Configure this file to guide AI assistants in your own projects. |
| .github/instructions/cobol.instructions.md | COBOL comprehension instructions that automatically apply when Copilot analyzes .cob files. Helps AI understand COBOL structure and extract specifications in plain language. |
| .github/workflows/spec-change-issues.yml | GitHub Actions workflow using the SpecOps Action to automatically create issues when specification files are modified. This ensures spec changes generate trackable work items for implementation review. |
Simply copy the exercise to your account, then give your favorite Octocat (Mona) about 20 seconds to prepare the first lesson, then refresh the page.
Having trouble? 🤷
When copying the exercise, we recommend the following settings:
- For owner, choose your personal account or an organization to host the repository.
- We recommend creating a public repository, since private repositories will use Actions minutes.
If the exercise isn't ready in 20 seconds, please check the Actions tab.
- Check to see if a job is running. Sometimes it simply takes a bit longer.
- If the page shows a failed job, please submit an issue. Nice, you found a bug! 🐛
