Co2 Skills — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Co2 Skills (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
Aggregate score unchanged between these scans.
The primary manifest — the file an agent reads to learn what this artifact does.
https://compound-context.com
| Logo | Description |
|---|---|
| co2.svg | an OPINIONATED approach to software development using AI coding agents. It emphasizes the importance of comprehensive and structured context to reduce AI hallucination and AI slop: |
📝 User Story to drive UI and UX design + Non-Functional Requirement to drive business logic and technical design + Constraints to drive technical design and implementation.
🔄 Versioning to keep track of the changes and updates in the context as the project progresses.
📦 Multi application support where each application will have its own context. This is to support:
🔗 Traceability from the generated code to the artifacts in the context to the User Stories, Non-Functional Requirements and Constraints.
🧠 Comprehensive context to reduce AI hallucination and AI slop, which includes:
To install the plugin: ~~~bash
/plugin marketplace add rashidee/co2-skills
/plugin install co2-skills@co2 ~~~
_This is the initial step where you want to ensure the AI coding agent has all the information needed to work._
💡 Bootstrapping a brand-new project? Use/util-projectinit "<one-paragraph brief>"or/util-projectinit <brief.md>to auto-generate skeletonCLAUDE.md,DEVTOOL.mdandENVIRONMENT.mdfrom a free-form prompt or markdown brief. The skill infers 3rd-party infrastructure, custom applications, system/business modules and the local toolchain. It is non-destructive — it refuses to overwrite an existingCLAUDE.md.
⚠️ Shared by the team - Checked in the repository
⚠️ Per developer - NOT CHECKED IN the repository
⚠️ Per developer - NOT CHECKED IN the repository
util-preparek8senv skillPRD.md is the main input for the development phase, which contains the User Stories, Non-Functional Requirements and Constraints. It is also the main reference for all the skills in this phase. The PRD.md should be updated and versioned as the project progresses.
Example of the PRD.md structure: ~~~markdown
[v1.0.0]
[v1.0.0]
[v1.0.1]
[v1.0.0]
[v1.0.0]
... ~~~
_Since PRD.md is based on human input, it may require some validation and each new points added need to be tagged with unique ID for traceability:_
The skills to invoke the clean-up process are:
| Skill | Example Skill Invocation | Objective | Output |
|---|---|---|---|
| util-projectinit | /util-projectinit "brief" | New Project Bootstrap | Generates root-level CLAUDE.md, DEVTOOL.md and ENVIRONMENT.md skeletons from a free-form prompt or markdown brief. Infers 3rd-party infrastructure, custom applications, system/business modules and the local toolchain. Non-destructive — refuses to overwrite an existing CLAUDE.md. |
| util-projectsync | /util-projectsync | Project Structure Sync & Validation | Validates dependencies (circular, missing, logical) across all applications in CLAUDE.md. Creates missing application folders, scaffolds PRD.md and BUG.md from templates, and adds missing module sections. Inserts [TODO] annotations in CLAUDE.md for validation failures. |
| util-usanalyzer | /util-usanalyzer app1 | Quality Check | Identify any quality issues in the PRD.md such as incomplete stories, bad references, contradictions and duplicates. Output a report with the identified issues and suggestions for improvement. Example: "User Story 1 is incomplete because it does not have the acceptance criteria." |
| util-ustagger | /util-ustagger app1 v1.0.3 | Traceability | Each newly added point in PRD.md will be tagged with a unique 9-character ID code, which can be used for traceability in the later stages of the development. Example: [USL000009], [NFRL000009], [CONL000009], [REFL000009] |
| util-preparek8senv | /util-preparek8senv [env] | K8s Infrastructure Preparation | Generates K8s StatefulSet manifests for all 3rd party supporting applications for a single target environment. Creates/updates ENVIRONMENT.md with per-environment configs. Output directly in environment/ folder (no per-environment subfolders — gitignored, each machine maintains its own copy). |
_The skill goal is to generate the data model for each module for you to review before proceeding to next step._
Example skill invocation for data model generation: ~~~bash /modelgen-relational <app_name> ## For relational database model (SQL) /modelgen-nosql <app_name> ## For NoSQL document database model (MongoDB, Couchbase, DynamoDB, Firestore, CosmosDB) ~~~
Example of the Model Markdown file structure: ~~~markdown
MODEL.md ## A summary of the data model for all the modules ~~~
_The skill goal is to generate the HTML mockup for each screen for you to review before proceeding to next step._
Example skill invocation for HTML mockup generation: ~~~bash /mockgen-tailwind <app_name> ## For generating HTML mockup using Node.js + Express + Tailwind CSS + HTMX /mockgen-shadcn <app_name> ## For generating React + shadcn/ui mockups served via Vite + React Router ~~~
Example of the HTML mockup output: ~~~markdown
MOCKUP.html ## A landing page for all the mockup screens ~~~
_The skill goal is to generate the technical specification for the application, which includes the architecture, components, APIs, etc. for you to review before proceeding to next step._
>⚠️ At this point, you should already have determined the technology stack as the technical specification generation will be based on the specific technology stack skill
Example skill invocation for technical specification generation: ~~~bash /specgen-spring-jpa-jtehtmx <app_name> ## For generating Spring Boot 3 web application technical specification with JTE, Tailwind and htmx. /specgen-spring-jpa-restapi <app_name> ## For generating Spring Boot 3 REST API technical specification. /specgen-laravel-eloquent-bladehtmx <app_name> ## For generating Laravel 12 web application technical specification with Blade, Tailwind and htmx /specgen-react-mui <app_name> ## For generating React 19 SPA technical specification with TypeScript, Vite, Material UI and more. /specgen-react-tailwind <app_name> ## For generating React 19 SPA technical specification with TypeScript, Vite, Tailwind CSS, Headless UI and more. /specgen-flutter-riverpod <app_name> ## For generating Flutter 3 mobile application technical specification with Riverpod, Hive, Dio, go_router and Firebase Messaging. /specgen-ts-cli <app_name> ## For generating Node.js CLI application technical specification with TypeScript, Commander.js and tsup. ~~~
Example of the technical specification output: ~~~markdown- context
SPECIFICATION.md ## A summary of the technical specification for all the modules ~~~
_The skill goal is to generate the test specification for the application, which includes the test cases and scenarios to validate the functionality and performance of the application, for you to review before proceeding to next step._
Example skill invocation for test specification generation: ~~~bash /testgen-functional <app_name> ## For generating Playwright E2E test plan and per-module test specifications as Markdown blueprints. ~~~
Example of the test specification output: ~~~markdown
TEST_PLAN.mmd ## A summary of all the test cases and scenarios in Mermaid syntax ~~~
_The skill goal is to prepare the Kubernetes infrastructure by generating K8s manifests for all 3rd party supporting applications (databases, message queues, caches, SSO, API gateways, etc.) across all environments defined in CLAUDE.md._
>⚠️ This step should be run before application development to ensure the infrastructure is ready.
Example skill invocation for K8s environment preparation: ~~~bash /util-preparek8senv [environment] ## Generates K8s manifests for all 3rd party apps for one target environment ~~~
namespace.yaml — Project namespace<service>.yaml — One StatefulSet-based manifest per 3rd party application (with PVC, ConfigMap, Secret, headless Service, NodePort Service)Example of the output: ~~~markdown
~~~
_The skill goal is to develop the application based on all the context generated above, and you can track the development progress using the output from this skill._
Example skill invocation for application development: ~~~bash /conductor-feature-develop <app_name> ## For orchestrating full-stack application development module-by-module using all generated artifacts. ~~~
_The skill goal is to generate deployment artifacts (Dockerfile and deployment specification) for the application, for you to review before deploying._
>⚠️ This step is automatically invoked by conductor-feature-develop after all modules are completed. You can also invoke it manually.
Example skill invocation for deployment artifact generation: ~~~bash /depgen-k8s <app_name> [environment] ## For generating Dockerfile and Kubernetes manifests ~~~
<app_folder>/k8s/ (gitignored, each machine maintains its own copy) containing:.env to Kubernetes ConfigMap/SecretExample of the deployment artifact output: ~~~markdown
~~~
| Skill | Technology Stack |
|---|---|
depgen-k8s | Kubernetes (Spring Boot, Laravel, Node.js) |
Report bugs in <app_folder>/context/BUG.md following the module-based structure: ~~~markdown
[v1.0.4]
~~~
Example skill invocation for bug fixing: ~~~bash /conductor-defect <app_name> ## For orchestrating bug fixing from BUG.md ~~~
[BUG-XXX] tags to new bug entries in BUG.mdBUG_TEST_SPEC.md with verification steps and expected resultsBUG_FIX_PLAN.md with fix checklist<app_folder>/context/bug/<module-slug>/<BUG-XXX>/) containing:reproduce.spec.ts — Playwright reproduction scriptscreenshot_reproduce.png — Pre-fix screenshotBUG_TEST_SPEC.md — Test specification for verificationBUG_FIX_PLAN.md — Fix plan with checklist, files to modify, and timestamped fix logscreenshot_fixed.png — Post-fix screenshotExample of the BUG_MASTER.md structure: ~~~markdown
...
... BUG_MASTER.md ## Master tracking file for all bugs in the application ~~~
~~~
MOCKUP.html
SPECIFICATION.md
TEST_PLAN.mmd
~~~
| Document | Description |
|---|---|
| CONTRIBUTING.md | Full contributor guide — repository structure, skill anatomy, development workflow, quality checklist, branch strategy and commit conventions |
| NEW_SKILL.md | Issue template for proposing a new skill before starting development |
| BUG_REPORT.md | Issue template for reporting incorrect behaviour in an existing skill |
| FEATURE_REQUEST.md | Issue template for suggesting improvements to the workflow or existing skills |
| PULL_REQUEST_TEMPLATE.md | PR template with checklists for structure, content, output contract and testing |
We welcome contributions from the community! Here are some ways you can contribute:
specgen-*)This is the highest impact area for contribution. The CO2 workflow is designed to be technology-agnostic, but each specgen-* skill targets a specific technology stack. We currently support:
| Skill | Technology Stack |
|---|---|
specgen-spring-jpa-jtehtmx | Spring Boot 3 + JTE + Tailwind + htmx |
specgen-spring-jpa-restapi | Spring Boot 3 REST API |
specgen-laravel-eloquent-bladehtmx | Laravel 12 + Blade + Tailwind + htmx |
specgen-react-mui | React 19 + TypeScript 5 + Vite 6 + Material UI v6 |
specgen-react-tailwind | React 19 + TypeScript 5 + Vite 6 + Tailwind CSS v3 + Headless UI v2 + Heroicons |
specgen-flutter-riverpod | Flutter 3 + Dart 3 + Riverpod 2 + Hive 2 + Dio 5 + go_router 14 + Firebase Messaging |
specgen-ts-cli | Node.js CLI + TypeScript + Commander.js + tsup + pkg |
specgen-sdk-java | Java SDK library — Maven Multi-Release fat JAR (JDK 8 baseline + JDK 11+ overlay) + OkHttp |
We are looking for contributors to create new specgen-* skills for other technology stacks, such as:
Each specgen-* skill takes the same inputs (PRD.md, data models, HTML mockups) and produces a SPECIFICATION.md summary and per-module SPEC.md files tailored to the target stack. If you are experienced in a technology stack not listed above, your contribution would help the community generate specifications for that stack.
depgen-*)We currently support:
| Skill | Deployment Stack |
|---|---|
depgen-k8s | Kubernetes (Spring Boot, Laravel, Node.js) |
We are looking for contributors to create new depgen-* skills for other deployment strategies, such as:
Each depgen-* skill takes the same inputs (SPECIFICATION.md, CLAUDE.md, application source code) and produces a Dockerfile and deployment manifests tailored to the target deployment strategy.
)** — Currently supports mockgen-tailwind (Node.js + Express + HTMX) and mockgen-shadcn` (React + Vite + shadcn/ui). Contributions welcome for alternative UI frameworks or design systems (e.g., Bootstrap, Material UI, Ant Design)Below are example applications developed using the CO2 workflow. More examples will be added over time to demonstrate the versatility of the workflow across different domains and technology stacks.:
🤖 Currently only Claude Code Agent is supported, but we are planning to support more AI coding agents in the future.
🪙 This workflow can consume a lot of tokens. It is designed to generate consistent and comprehensive context for the AI coding agent, which may require a large amount of tokens. Please be mindful of the token usage when using this workflow.
🆕 This workflow is currently designed for new application development, not maintenance of existing application. We are planning to support maintenance of existing application in the future, but for now please use this workflow for new application development only.
🚧 **THIS IS STILL A WORK IN PROGRESS**. We are continuously improving the workflow and the skills, so please expect some changes and updates in the future. We welcome any feedback and suggestions for improvement.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.