Notre avis
Ce skill permet d'initialiser et de gérer des workflows de développement basés sur les spécifications en utilisant l'interface en ligne de commande acfm.
Points forts
- Structure claire avec répertoires .acfm/ et openspec/
- Prise en charge complète des changements (création, suivi, archivage)
- Instructions détaillées pour chaque artefact de spécification
Limites
- Nécessite que l'outil acfm soit installé et configuré
- Le workflow est rigide et peut ne pas convenir à tous les projets
- La migration depuis openspec/ vers .acfm/ n'est pas automatisée
Lorsque vous commencez un nouveau projet ou une nouvelle fonctionnalité et que vous voulez suivre un processus formel de spécifications avant le développement.
Pour des modifications très simples ou des corrections de bugs où la rédaction de spécifications complètes serait une surcharge inutile.
Analyse de sécurité
SûrThe skill provides instructions for using a development CLI tool (acfm) without any destructive, exfiltrating, or obfuscated commands. No risky operations like arbitrary code execution, secret transmission, or safety disabling are present.
Aucun point d'attention détecté
Exemples
Check if this project has the AC Framework spec workflow initialized. If not, initialize it. Then create a new change called 'user-authentication' and show me the instructions for writing the proposal.Using the AC Framework spec workflow, create a new change named 'add-search-feature' and then get the instructions for the design artifact.Check the spec workflow status of this project using acfm. If there are any existing changes, list them and tell me which ones are still active.name: acfm-spec-workflow description: Initialize and manage AC Framework spec-driven workflows using acfm CLI. Use when setting up spec workflows, checking project status, creating changes, or understanding the .acfm/ vs openspec/ directory structures. Essential first step before using any OpenSpec skills.
AC Framework Spec-Driven Workflow
Guide for initializing and managing spec-driven development workflows using the AC Framework CLI (acfm).
When to use this skill
Use this skill when:
- Starting a new project and need to initialize the spec workflow
- Working on an existing project and need to check if specs are initialized
- Creating a new change/feature using the spec-driven workflow
- Unsure whether to use
.acfm/oropenspec/directories - Need to understand CLI commands for spec management
- Migrating from legacy openspec/ to new .acfm/ structure
Quick start
# Check if project is initialized
acfm spec status --json
# Initialize new project (creates .acfm/)
acfm spec init
# Create a new change
acfm spec new my-feature --json
# Get instructions for next artifact
acfm spec instructions proposal --change my-feature --json
Directory Structure
NEW (Default): .acfm/ directory
project-root/
├── .acfm/ # NEW: Default spec directory
│ ├── config.yaml # Project configuration
│ ├── specs/ # Shared specs
│ └── changes/ # Active changes
│ ├── archive/ # Archived changes
│ └── my-feature/ # Individual change
│ ├── .openspec.yaml
│ ├── proposal.md
│ ├── design.md
│ ├── tasks.md
│ └── specs/
LEGACY: openspec/ directory
project-root/
├── openspec/ # LEGACY: Still fully supported
│ ├── config.yaml
│ ├── specs/
│ └── changes/
Priority: CLI automatically uses .acfm/ if it exists, otherwise falls back to openspec/.
Instructions
Step 1: Check initialization status
Always start by checking if the project is initialized:
acfm spec status --json
If not initialized ("initialized": false):
- Proceed to Step 2 to initialize
If initialized ("initialized": true):
- Note the
dirNamefield (either.acfmoropenspec) - Proceed to Step 3 to create changes
Step 2: Initialize the project
For new projects:
acfm spec init
This creates:
.acfm/config.yaml- Project configuration.acmf/specs/- Shared specifications.acfm/changes/- Active changes directory
Legacy support: If the project already has openspec/, it will be detected automatically. No need to migrate unless desired.
Step 3: Create a change
acfm spec new <change-name> --json
Example:
acfm spec new user-authentication --json
Output:
{
"changeDir": "/project/.acfm/changes/user-authentication",
"schemaName": "spec-driven",
"artifacts": ["proposal", "specs", "design", "tasks"]
}
Step 4: Get instructions for artifacts
Each artifact has specific instructions:
# Get instructions for proposal
acfm spec instructions proposal --change <name> --json
# Get instructions for design
acfm spec instructions design --change <name> --json
# Get instructions for tasks
acfm spec instructions tasks --change <name> --json
# Get apply instructions (when ready to implement)
acfm spec instructions apply --change <name> --json
Step 5: Check status
Monitor progress:
# Status of specific change
acfm spec status --change <name> --json
# List all changes
acfm spec list --json
Step 6: Archive completed changes
acfm spec archive <change-name>
CLI Command Reference
Initialization
acfm spec init [--json]- Initialize spec directoryacfm spec status [--json]- Check initialization status
Change Management
acfm spec new <name> [--json]- Create new changeacfm spec list [--json]- List all changesacfm spec status --change <name> [--json]- Check change statusacfm spec archive <name> [--json]- Archive completed change
Instructions
acfm spec instructions <artifact> --change <name> [--json]- Get artifact instructionsacfm spec schemas [--json]- List available schemasacfm spec validate <name> [--json]- Validate change structure
Common scenarios
Scenario: New project setup
# 1. Check status
acfm spec status --json
# 2. Initialize
acfm spec init
# 3. Create first change
acfm spec new initial-setup --json
# 4. Get proposal instructions
acfm spec instructions proposal --change initial-setup --json
Scenario: Legacy project (openspec/)
# CLI automatically detects openspec/ directory
acfm spec status --json
# Output: { "initialized": true, "dirName": "openspec", ... }
# Create change in openspec/
acfm spec new legacy-feature --json
# Creates: openspec/changes/legacy-feature/
Scenario: Mixed directories
If both .acfm/ and openspec/ exist:
- CLI uses
.acfm/(higher priority) - Changes are created in
.acfm/changes/
To use openspec/ temporarily:
mv .acfm/ .acfm-backup/
# Now CLI will use openspec/
Best practices
- Always use CLI commands - Don't manually create directories
- Use
--jsonflag for programmatic parsing - Check initialization first - Before creating changes
- Let CLI handle paths - Don't hardcode
.acfm/oropenspec/ - Archive completed changes - Keeps active list clean
Troubleshooting
"Spec system not initialized"
# Solution
acfm spec init
Changes not appearing
# Check which directory is being used
acfm spec status --json
# Look at "dirName" field
# List both directories
ls -la .acfm/changes/ 2>/dev/null || echo "No .acfm/"
ls -la openspec/changes/ 2>/dev/null || echo "No openspec/"
Wrong directory detected
# Force use of openspec/ by renaming .acfm/
mv .acfm/ .acfm-backup/
# Or force use of .acfm/ by renaming openspec/
mv openspec/ openspec-backup/
Requirements
- AC Framework CLI (
acfm) must be installed - Node.js >= 18.0.0
Compatibility
- ✅ Works with both
.acfm/(new) andopenspec/(legacy) - ✅ All existing OpenSpec skills continue to work
- ✅ No migration required for legacy projects
- ✅ Optional migration path available
See also
- Use
openspec-new-changeskill after initialization to create structured changes - Use
openspec-continue-changeto work on existing changes - Use
openspec-apply-changeto implement tasks
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.