ac-framework 1.9.4 → 1.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -0
- package/README.md +21 -1
- package/bin/postinstall.js +2 -0
- package/framework/mobile_development/.agent/workflows/ac-lite.md +70 -179
- package/framework/mobile_development/.agent/workflows/ac.md +273 -404
- package/framework/mobile_development/.amazonq/prompts/ac-lite.md +70 -179
- package/framework/mobile_development/.amazonq/prompts/ac.md +273 -404
- package/framework/mobile_development/.antigravity/workflows/ac-lite.md +70 -179
- package/framework/mobile_development/.antigravity/workflows/ac.md +273 -404
- package/framework/mobile_development/.augment/commands/ac-lite.md +70 -179
- package/framework/mobile_development/.augment/commands/ac.md +273 -404
- package/framework/mobile_development/.claude/commands/opsx/ac-lite.md +70 -179
- package/framework/mobile_development/.claude/commands/opsx/ac.md +273 -404
- package/framework/mobile_development/.cline/commands/opsx/ac-lite.md +70 -179
- package/framework/mobile_development/.cline/commands/opsx/ac.md +273 -404
- package/framework/mobile_development/.clinerules/workflows/ac-lite.md +70 -179
- package/framework/mobile_development/.clinerules/workflows/ac.md +273 -404
- package/framework/mobile_development/.codebuddy/commands/opsx/ac-lite.md +70 -179
- package/framework/mobile_development/.codebuddy/commands/opsx/ac.md +273 -404
- package/framework/mobile_development/.continue/prompts/ac-lite.md +70 -179
- package/framework/mobile_development/.continue/prompts/ac.md +273 -404
- package/framework/mobile_development/.cospec/openspec/commands/ac-lite.md +70 -179
- package/framework/mobile_development/.cospec/openspec/commands/ac.md +273 -404
- package/framework/mobile_development/.crush/commands/opsx/ac-lite.md +70 -179
- package/framework/mobile_development/.crush/commands/opsx/ac.md +273 -404
- package/framework/mobile_development/.cursor/commands/ac-lite.md +70 -179
- package/framework/mobile_development/.cursor/commands/ac.md +273 -404
- package/framework/mobile_development/.factory/commands/ac-lite.md +70 -179
- package/framework/mobile_development/.factory/commands/ac.md +273 -404
- package/framework/mobile_development/.gemini/commands/opsx/ac-lite.md +70 -179
- package/framework/mobile_development/.gemini/commands/opsx/ac.md +273 -404
- package/framework/mobile_development/.github/prompts/ac-lite.md +70 -179
- package/framework/mobile_development/.github/prompts/ac.md +273 -404
- package/framework/mobile_development/.github/prompts/ac.prompt.md +282 -177
- package/framework/mobile_development/.iflow/commands/ac-lite.md +70 -179
- package/framework/mobile_development/.iflow/commands/ac.md +273 -404
- package/framework/mobile_development/.kilocode/workflows/ac-lite.md +70 -179
- package/framework/mobile_development/.kilocode/workflows/ac.md +273 -404
- package/framework/mobile_development/.kimi/workflows/ac-lite.md +70 -179
- package/framework/mobile_development/.kimi/workflows/ac.md +273 -404
- package/framework/mobile_development/.opencode/command/ac-lite.md +70 -179
- package/framework/mobile_development/.opencode/command/ac.md +273 -404
- package/framework/mobile_development/.qoder/commands/opsx/ac-lite.md +70 -179
- package/framework/mobile_development/.qoder/commands/opsx/ac.md +273 -404
- package/framework/mobile_development/.qwen/commands/ac-lite.md +70 -179
- package/framework/mobile_development/.qwen/commands/ac.md +273 -404
- package/framework/mobile_development/.roo/commands/ac-lite.md +70 -179
- package/framework/mobile_development/.roo/commands/ac.md +273 -404
- package/framework/mobile_development/.windsurf/workflows/ac-lite.md +70 -179
- package/framework/mobile_development/.windsurf/workflows/ac.md +273 -404
- package/framework/mobile_development/AGENTS.md +205 -416
- package/framework/mobile_development/CLAUDE.md +205 -416
- package/framework/mobile_development/GEMINI.md +205 -416
- package/framework/mobile_development/copilot-instructions.md +205 -416
- package/framework/new_project/.agent/workflows/ac.md +39 -0
- package/framework/new_project/.amazonq/prompts/ac.md +39 -0
- package/framework/new_project/.antigravity/workflows/ac.md +39 -0
- package/framework/new_project/.augment/commands/ac.md +39 -0
- package/framework/new_project/.claude/commands/opsx/ac.md +39 -0
- package/framework/new_project/.cline/commands/opsx/ac.md +39 -0
- package/framework/new_project/.clinerules/workflows/ac.md +39 -0
- package/framework/new_project/.codebuddy/commands/opsx/ac.md +39 -0
- package/framework/new_project/.continue/prompts/ac.md +39 -0
- package/framework/new_project/.cospec/openspec/commands/ac.md +39 -0
- package/framework/new_project/.crush/commands/opsx/ac.md +39 -0
- package/framework/new_project/.cursor/commands/ac.md +39 -0
- package/framework/new_project/.factory/commands/ac.md +39 -0
- package/framework/new_project/.gemini/commands/opsx/ac.md +39 -0
- package/framework/new_project/.github/prompts/ac.md +39 -0
- package/framework/new_project/.iflow/commands/ac.md +39 -0
- package/framework/new_project/.kilocode/workflows/ac.md +39 -0
- package/framework/new_project/.kimi/workflows/ac.md +39 -0
- package/framework/new_project/.opencode/command/ac.md +39 -0
- package/framework/new_project/.qoder/commands/opsx/ac.md +39 -0
- package/framework/new_project/.qwen/commands/ac.md +39 -0
- package/framework/new_project/.roo/commands/ac.md +39 -0
- package/framework/new_project/.windsurf/workflows/ac.md +39 -0
- package/framework/new_project/AGENTS.md +27 -0
- package/framework/web_development/.agent/workflows/ac.md +39 -0
- package/framework/web_development/.amazonq/prompts/ac.md +39 -0
- package/framework/web_development/.antigravity/workflows/ac.md +39 -0
- package/framework/web_development/.augment/commands/ac.md +39 -0
- package/framework/web_development/.claude/commands/opsx/ac.md +39 -0
- package/framework/web_development/.cline/commands/opsx/ac.md +39 -0
- package/framework/web_development/.clinerules/workflows/ac.md +39 -0
- package/framework/web_development/.codebuddy/commands/opsx/ac.md +39 -0
- package/framework/web_development/.continue/prompts/ac.md +39 -0
- package/framework/web_development/.cospec/openspec/commands/ac.md +39 -0
- package/framework/web_development/.crush/commands/opsx/ac.md +39 -0
- package/framework/web_development/.cursor/commands/ac.md +39 -0
- package/framework/web_development/.factory/commands/ac.md +39 -0
- package/framework/web_development/.gemini/commands/opsx/ac.md +39 -0
- package/framework/web_development/.github/prompts/ac.md +39 -0
- package/framework/web_development/.iflow/commands/ac.md +39 -0
- package/framework/web_development/.kilocode/workflows/ac.md +39 -0
- package/framework/web_development/.kimi/workflows/ac.md +39 -0
- package/framework/web_development/.opencode/command/ac.md +39 -0
- package/framework/web_development/.qoder/commands/opsx/ac.md +39 -0
- package/framework/web_development/.qwen/commands/ac.md +39 -0
- package/framework/web_development/.roo/commands/ac.md +39 -0
- package/framework/web_development/.windsurf/workflows/ac.md +39 -0
- package/framework/web_development/AGENTS.md +27 -0
- package/package.json +1 -1
- package/src/agents/config-store.js +48 -0
- package/src/agents/model-selection.js +38 -0
- package/src/agents/opencode-client.js +3 -2
- package/src/agents/orchestrator.js +10 -3
- package/src/agents/runtime.js +80 -0
- package/src/agents/state-store.js +3 -0
- package/src/commands/agents.js +301 -85
- package/src/commands/init.js +33 -0
- package/src/mcp/collab-server.js +299 -0
- package/src/services/dependency-installer.js +20 -1
- package/src/services/mcp-installer.js +82 -54
|
@@ -10,132 +10,88 @@ If you attempt to proceed without completing a required step, you MUST STOP and
|
|
|
10
10
|
|
|
11
11
|
## Available Skills
|
|
12
12
|
|
|
13
|
-
###
|
|
13
|
+
### AC Framework Core Skills
|
|
14
14
|
|
|
15
15
|
| Skill | Description | Primary Use | Required Before |
|
|
16
16
|
|-------|-------------|-------------|-----------------|
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
| `test-generator` | Generate comprehensive test suites (Unit, Integration, E2E) ensuring requirements are met. | Test Driven Development | `openspec-continue-change` |
|
|
17
|
+
| `acfm-spec-workflow` | **START HERE - MANDATORY**. Understand spec-driven workflow, `.acfm/` vs `openspec/`, and required CLI commands. | Foundation | **ANYTHING ELSE** |
|
|
18
|
+
| `acfm-memory` | **PERSISTENT MEMORY PROTOCOL**. Recall project context on session start and save reusable decisions/patterns after significant work. | Knowledge persistence | Session start and after significant work |
|
|
19
|
+
|
|
20
|
+
### OpenSpec Workflow Skills
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
| Skill | Description | Primary Use | Required Before |
|
|
23
|
+
|-------|-------------|-------------|-----------------|
|
|
24
|
+
| `openspec-explore` | Explore architecture, constraints, and integration points before committing implementation details. | Pre-analysis | `acfm-spec-workflow` |
|
|
25
|
+
| `openspec-new-change` | Start a new change with structured artifacts. | Structured start | `brainstorming` |
|
|
26
|
+
| `openspec-ff-change` | Fast-forward artifact creation when speed is needed and scope is clear. | Accelerated start | `brainstorming` |
|
|
27
|
+
| `openspec-continue-change` | Continue artifact generation in sequence (proposal/specs/design/tasks). | Workflow continuation | `openspec-new-change` OR `microtask-decomposition` |
|
|
28
|
+
| `openspec-apply-change` | Implement tasks from artifacts. | Implementation | `openspec-continue-change` |
|
|
29
|
+
| `openspec-verify-change` | Verify implementation against artifacts. | Validation | `openspec-apply-change` |
|
|
30
|
+
| `openspec-sync-specs` | Merge delta specs to main specs without archiving. | Spec synchronization | `openspec-verify-change` |
|
|
31
|
+
| `openspec-archive-change` | Archive completed change. | Change closure | `openspec-verify-change` |
|
|
32
|
+
| `openspec-bulk-archive-change` | Archive multiple completed changes. | Batch closure | `openspec-verify-change` |
|
|
33
|
+
| `openspec-onboard` | Guided walkthrough to learn full OpenSpec lifecycle. | Learning | `acfm-spec-workflow` |
|
|
34
|
+
|
|
35
|
+
### Spec and Planning Skills
|
|
24
36
|
|
|
25
37
|
| Skill | Description | Primary Use | Required Before |
|
|
26
38
|
|-------|-------------|-------------|-----------------|
|
|
27
|
-
| `project-constitution` |
|
|
28
|
-
| `
|
|
29
|
-
| `
|
|
30
|
-
| `
|
|
39
|
+
| `project-constitution` | Define and maintain core project principles. | Governance | **PHASE 1 START** |
|
|
40
|
+
| `project-index` | Map codebase structure and document domains/agent guidance. | Context mapping | `project-constitution` |
|
|
41
|
+
| `context-synthesizer` | Maintain continuity in long sessions and multi-change efforts. | Context management | `project-constitution` |
|
|
42
|
+
| `research-retrieval` | Pull external references and technical docs. | Research | `openspec-explore` |
|
|
43
|
+
| `brainstorming` | Generate all key questions up front to reduce hidden assumptions. | Design thinking | `openspec-explore` |
|
|
44
|
+
| `spec-clarification` | Resolve ambiguity in specs with targeted clarifications. | Requirement clarity | `openspec-new-change` |
|
|
45
|
+
| `spec-analysis` | Check consistency across proposal/specs/design/tasks. | Consistency check | `openspec-continue-change` |
|
|
46
|
+
| `microtask-decomposition` | Split complex tasks into smaller executable microtasks (only when needed). | Advanced decomposition | `openspec-continue-change` |
|
|
31
47
|
|
|
32
|
-
###
|
|
48
|
+
### Mobile Platform and Stack Skills
|
|
33
49
|
|
|
34
50
|
| Skill | Description | Primary Use | Required Before |
|
|
35
51
|
|-------|-------------|-------------|-----------------|
|
|
36
|
-
| `
|
|
37
|
-
| `
|
|
38
|
-
| `
|
|
52
|
+
| `mobile-design` | Mobile-first doctrine: touch, performance, offline, platform behavior. | Baseline mobile standards | `project-constitution` |
|
|
53
|
+
| `mobile-ios-design` | iOS HIG-driven UI/UX guidance and SwiftUI-oriented patterns. | iOS interface design | `spec-clarification` [IF iOS UI] |
|
|
54
|
+
| `mobile-android-design` | Material 3 and Android UX patterns. | Android interface design | `spec-clarification` [IF Android UI] |
|
|
55
|
+
| `react-native-design` | React Native layout, animation, navigation, and mobile UX design. | RN UI design | `spec-clarification` [IF React Native] |
|
|
56
|
+
| `react-native-architecture` | React Native architecture, native modules, offline/data boundaries. | RN architecture | `spec-clarification` [IF React Native] |
|
|
57
|
+
| `react-state-management` | Choose and implement robust state strategy (Redux Toolkit/Zustand/Jotai/etc.). | RN/React state design | `spec-clarification` [IF complex state] |
|
|
58
|
+
| `flutter-expert` | Flutter/Dart architecture and implementation guidance. | Flutter implementation | `spec-clarification` [IF Flutter] |
|
|
59
|
+
| `ios-developer` | Native iOS engineering (Swift/SwiftUI/UIKit, platform integration). | Native iOS implementation | `spec-clarification` [IF native iOS] |
|
|
39
60
|
|
|
40
|
-
###
|
|
61
|
+
### Delivery and Support Skills
|
|
41
62
|
|
|
42
63
|
| Skill | Description | Primary Use | Required Before |
|
|
43
64
|
|-------|-------------|-------------|-----------------|
|
|
44
|
-
| `
|
|
45
|
-
| `
|
|
65
|
+
| `systematic-debugging` | Structured bug isolation and root-cause resolution. | Debugging | When bugs appear |
|
|
66
|
+
| `documentation` | Generate technical docs, architecture notes, and usage guidance. | Documentation | `openspec-verify-change` |
|
|
67
|
+
| `sync-index` | Keep project index and generated guidance synchronized with implementation. | Documentation sync | `openspec-apply-change` |
|
|
68
|
+
| `changelog-generator` | Create user-facing release notes from implementation changes. | Release communication | `openspec-archive-change` |
|
|
69
|
+
|
|
70
|
+
---
|
|
46
71
|
|
|
47
|
-
|
|
72
|
+
## Persistent Memory Protocol (Mandatory)
|
|
48
73
|
|
|
49
74
|
The AC Framework includes a persistent memory system that agents must use proactively.
|
|
50
75
|
|
|
51
76
|
**Session-start requirement (always):**
|
|
52
|
-
1. At the start of every new chat/session, consult the available persistent memory tool or MCP before planning
|
|
77
|
+
1. At the start of every new chat/session, consult the available persistent memory tool or MCP before planning or implementing.
|
|
53
78
|
2. Recall project-level context first, then search for task-specific decisions, conventions, bugfixes, and architecture notes.
|
|
54
|
-
3. Treat recalled memory as active project context unless
|
|
55
|
-
4. If memory tooling is unavailable, continue with repository inspection and use
|
|
56
|
-
|
|
57
|
-
**What gets saved automatically:**
|
|
58
|
-
- Architectural decisions from proposals/designs
|
|
59
|
-
- Bugfix patterns and solutions
|
|
60
|
-
- Performance optimizations
|
|
61
|
-
- Refactoring techniques
|
|
62
|
-
- Security fixes
|
|
63
|
-
- API patterns and conventions
|
|
64
|
-
- Reusable workflow conventions and project constraints
|
|
65
|
-
|
|
66
|
-
**How to use memory:**
|
|
67
|
-
```text
|
|
68
|
-
Preferred: use the available persistent memory tool or MCP for recall, search, save, and project-scoped context.
|
|
69
|
-
Fallback: use the AC Framework memory CLI commands when direct tool access is not available.
|
|
70
|
-
```
|
|
71
|
-
```bash
|
|
72
|
-
# Recall relevant context before starting work
|
|
73
|
-
acfm memory recall "implementing authentication"
|
|
74
|
-
|
|
75
|
-
# Search for specific patterns
|
|
76
|
-
acfm memory search "JWT token refresh"
|
|
77
|
-
|
|
78
|
-
# Get full context for current project
|
|
79
|
-
acfm memory recall
|
|
79
|
+
3. Treat recalled memory as active project context unless current repository state or explicit user instruction supersedes it.
|
|
80
|
+
4. If memory tooling is unavailable, continue with repository inspection and use AC Framework CLI fallback.
|
|
80
81
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
2. After fixing bugs (solutions are stored)
|
|
88
|
-
3. After refactoring (techniques are recorded)
|
|
89
|
-
4. After optimizations (performance insights)
|
|
90
|
-
5. After any significant decision with confidence > 0.7
|
|
91
|
-
6. After identifying conventions, constraints, or reusable operating rules worth preserving
|
|
82
|
+
**What gets saved automatically (only reusable context):**
|
|
83
|
+
- Architectural decisions from proposal/design artifacts
|
|
84
|
+
- Bugfix patterns and repeated solutions
|
|
85
|
+
- Performance and optimization insights
|
|
86
|
+
- Refactoring techniques and conventions
|
|
87
|
+
- Reusable workflow constraints and team rules
|
|
92
88
|
|
|
93
89
|
**Memory hygiene rules:**
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
-
|
|
97
|
-
- Prefer concise titles, the correct memory type, clear tags, and realistic confidence scores.
|
|
98
|
-
|
|
99
|
-
**User communication:** "Memory saved: [brief description]" when auto-saving occurs.
|
|
90
|
+
- Never save secrets, credentials, tokens, or sensitive one-off values
|
|
91
|
+
- Redact content inside `<private>...</private>` before saving
|
|
92
|
+
- Use concise titles, correct memory type, useful tags, realistic confidence
|
|
100
93
|
|
|
101
|
-
|
|
102
|
-
### OpenSpec Skills (The heart of the framework)
|
|
103
|
-
|
|
104
|
-
| Skill | Description | Primary Use | Required Before |
|
|
105
|
-
|-------|-------------|-------------|-----------------|
|
|
106
|
-
| `openspec-explore` | Exploration mode to investigate problems, map architecture, find integration points before implementing. | Pre-analysis | `acfm-spec-workflow` |
|
|
107
|
-
| `openspec-new-change` | Creates a new change with step-by-step workflow (proposal → specs → design → tasks). | Structured start | `brainstorming` |
|
|
108
|
-
| `openspec-ff-change` | Fast-forward: creates all artifacts at once to start implementation quickly. | Quick start | `brainstorming` |
|
|
109
|
-
| `openspec-continue-change` | Continues an existing change by creating the next artifact in the sequence. | Continue workflow | `openspec-new-change` OR `microtask-decomposition` |
|
|
110
|
-
| `openspec-apply-change` | Implements tasks from a change (applies code according to specs and tasks). | Change execution | `test-generator` |
|
|
111
|
-
| `openspec-verify-change` | Verifies that implementation matches artifacts (specs, tasks, design). | Validation | `openspec-apply-change` |
|
|
112
|
-
| `openspec-archive-change` | Archives a completed change by moving it to `{specDir}/changes/archive/`. | Change closure | `openspec-verify-change` |
|
|
113
|
-
| `openspec-onboard` | Guided tutorial to learn OpenSpec with a complete example workflow. | Learning | `acfm-spec-workflow` |
|
|
114
|
-
| `openspec-sync-specs` | Synchronizes delta specs to main specs (intelligent merge). | Update specs | `openspec-verify-change` |
|
|
115
|
-
| `openspec-bulk-archive-change` | Archives multiple completed changes at once. | Bulk cleanup | `openspec-verify-change` |
|
|
116
|
-
|
|
117
|
-
### Documentation and Debugging Skills
|
|
118
|
-
|
|
119
|
-
| Skill | Description | Primary Use | Required Before |
|
|
120
|
-
|-------|-------------|-------------|-----------------|
|
|
121
|
-
| `project-index` | Generates structured project documentation: structure analysis, domains, agent guides. | Indexing and context | `project-constitution` |
|
|
122
|
-
| `sync-index` | Keep project documentation (`project-index` and sub-skills) in sync with codebase changes. | Documentation Sync | `openspec-apply-change` |
|
|
123
|
-
| `systematic-debugging` | Structured debugging in 4 phases: root cause investigation, pattern analysis, hypothesis, implementation. | Problem resolution | When bugs found |
|
|
124
|
-
| `changelog-generator` | Creates automated changelogs from git commits, translating technical to user language. | Version history | `openspec-archive-change` |
|
|
125
|
-
| `skill-writer` | Guide to create new skills for Claude Code with correct structure and frontmatter. | Create new skills | Anytime |
|
|
126
|
-
| `vercel-react-best-practices` | React and Next.js performance optimization guidelines from Vercel Engineering. | React/Next.js optimization | [IF REACT] |
|
|
127
|
-
|
|
128
|
-
### AC Framework Enhancement Skills
|
|
129
|
-
|
|
130
|
-
| Skill | Description | Primary Use | Required Before |
|
|
131
|
-
|-------|-------------|-------------|-----------------|
|
|
132
|
-
| `microtask-decomposition` | **LEVEL 2+ DECOMPOSITION** - Use when a single task from tasks.md is still too complex (affects 3+ files or requires multiple logic blocks). Breaks tasks into MICROTASKS (1 file/function each) for granular implementation. NOT for initial task breakdown. | Microtask planning & delegation | `openspec-continue-change` |
|
|
133
|
-
| `testing-qa` | Automate generation and maintenance of unit, integration, and E2E tests; generate test data and debugging. | Quality assurance | `openspec-apply-change` |
|
|
134
|
-
| `code-review` | Review generated code for style, security, and architecture issues; suggest refactorings and performance improvements. | Code quality & security | `openspec-apply-change` |
|
|
135
|
-
| `documentation` | Generate clear documentation for each task: technical descriptions, architecture diagrams, usage guides. | Documentation & communication | `openspec-verify-change` |
|
|
136
|
-
| `research-retrieval` | Search external documentation (web pages, API docs, papers) and generate useful summaries for development. | Research & context gathering | `openspec-explore` |
|
|
137
|
-
| `context-synthesizer` | Manage memory in long projects and summarize current state to prevent agent context loss. | Memory & context management | `project-constitution` |
|
|
138
|
-
| `ci-deploy` | Automate continuous integration, deployment, and post-deployment verification of developed solutions. | CI/CD automation | `openspec-verify-change` |
|
|
94
|
+
**User communication:** `Memory saved: [brief description]`
|
|
139
95
|
|
|
140
96
|
---
|
|
141
97
|
|
|
@@ -146,363 +102,196 @@ acfm memory stats
|
|
|
146
102
|
**Rule 1: Phase Completion Checkpoint**
|
|
147
103
|
After EACH phase, you MUST confirm completion:
|
|
148
104
|
```
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
105
|
+
+------------------------------------------------------------+
|
|
106
|
+
| PHASE [X] COMPLETION CHECKPOINT |
|
|
107
|
+
+------------------------------------------------------------+
|
|
108
|
+
| Have you COMPLETED ALL skills in Phase [X]? |
|
|
109
|
+
| [ ] Yes - I read and executed every required skill |
|
|
110
|
+
| [ ] No - I must go back and complete missing skills |
|
|
111
|
+
+------------------------------------------------------------+
|
|
156
112
|
```
|
|
157
113
|
**IF NO: STOP. Go back and complete missing skills.**
|
|
158
114
|
|
|
159
115
|
**Rule 2: Skill Dependency Chain**
|
|
160
|
-
Each skill table above shows
|
|
116
|
+
Each skill table above shows `Required Before`. You CANNOT use a skill before satisfying its dependency.
|
|
161
117
|
|
|
162
118
|
**Rule 3: Output Verification**
|
|
163
|
-
Before proceeding to next phase, verify
|
|
119
|
+
Before proceeding to next phase, verify outputs exist:
|
|
164
120
|
|
|
165
121
|
| Phase | Required Outputs | Check |
|
|
166
|
-
|
|
167
|
-
| Phase 0 | `acfm spec status`
|
|
168
|
-
| Phase 1 | project-constitution
|
|
169
|
-
| Phase 2 |
|
|
170
|
-
| Phase 3 | proposal.md
|
|
171
|
-
| Phase 4 |
|
|
172
|
-
| Phase 5 |
|
|
122
|
+
|-------|------------------|-------|
|
|
123
|
+
| Phase 0 | `acfm spec status` validated + memory recall completed | [ ] |
|
|
124
|
+
| Phase 1 | `project-constitution` defined + mobile baseline declared | [ ] |
|
|
125
|
+
| Phase 2 | exploration notes + platform/stack decision recorded | [ ] |
|
|
126
|
+
| Phase 3 | `proposal.md`, `specs/`, `design.md`, `tasks.md` + `spec-analysis` review | [ ] |
|
|
127
|
+
| Phase 4 | implementation done + tasks updated + issues debugged | [ ] |
|
|
128
|
+
| Phase 5 | verification passed + docs/index synced + archive/sync complete | [ ] |
|
|
173
129
|
|
|
174
130
|
**Rule 4: Pre-Implementation Safety Check**
|
|
175
131
|
Before `openspec-apply-change`, ALL must be TRUE:
|
|
176
|
-
- [ ] tasks.md exists and
|
|
177
|
-
- [ ]
|
|
178
|
-
- [ ]
|
|
179
|
-
- [ ] spec-analysis
|
|
132
|
+
- [ ] `tasks.md` exists and contains actionable checkboxes
|
|
133
|
+
- [ ] Target platform(s) and stack (Flutter / React Native / Native iOS) are explicit
|
|
134
|
+
- [ ] Required mobile skills for selected stack/platform have been applied
|
|
135
|
+
- [ ] `design.md` and `spec-analysis` were reviewed
|
|
180
136
|
|
|
181
137
|
**IF ANY IS FALSE: STOP. Complete missing items.**
|
|
182
138
|
|
|
183
139
|
---
|
|
184
140
|
|
|
185
|
-
## Workflow: New Project
|
|
141
|
+
## Workflow: New Mobile Project
|
|
186
142
|
|
|
187
|
-
When starting a project **from scratch**, follow this **MANDATORY** workflow:
|
|
143
|
+
When starting a mobile project **from scratch**, follow this **MANDATORY** workflow:
|
|
188
144
|
|
|
189
145
|
```
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
║ [ ] project-index.md exists
|
|
258
|
-
║ [ ] Exploration notes documented
|
|
259
|
-
║ [ ] Brainstorming questions answered
|
|
260
|
-
║
|
|
261
|
-
║ YES ▼
|
|
262
|
-
▼
|
|
263
|
-
╔══════════════════════════════════════════════╗
|
|
264
|
-
║ PHASE 3: REQUIREMENTS & DESIGN ║
|
|
265
|
-
╠══════════════════════════════════════════════╣
|
|
266
|
-
║ 10. spec-clarification (CRITICAL) ║
|
|
267
|
-
║ └─ CLARIFY requirements first ║
|
|
268
|
-
║ 11. openspec-new-change ║
|
|
269
|
-
║ └─ Create proposal ║
|
|
270
|
-
║ 12. microtask-decomposition ║
|
|
271
|
-
║ └─ ONLY if task is still too complex ║
|
|
272
|
-
║ └─ Break into MICROTASKS (1 file each) ║
|
|
273
|
-
║ 13. openspec-continue-change ║
|
|
274
|
-
║ └─ Draft Specs, Design, Tasks ║
|
|
275
|
-
║ 14. spec-analysis ║
|
|
276
|
-
║ └─ Verify consistency ║
|
|
277
|
-
║ 15. requirement-checklist ║
|
|
278
|
-
║ └─ "Unit test" the specs ║
|
|
279
|
-
║ 16. api-design-principles [IF APIs] ║
|
|
280
|
-
║ └─ Design REST/GraphQL APIs ║
|
|
281
|
-
║ 17. interface-design [IF UI] ║
|
|
282
|
-
║ └─ Design dashboards/apps interface ║
|
|
283
|
-
╚════════════════════╬═════════════════════════╝
|
|
284
|
-
║
|
|
285
|
-
║ CHECKPOINT: Phase 3 Complete?
|
|
286
|
-
║ [ ] proposal.md created
|
|
287
|
-
║ [ ] specs/ directory with specs
|
|
288
|
-
║ [ ] design.md written
|
|
289
|
-
║ [ ] tasks.md with checkboxes
|
|
290
|
-
║ [ ] spec-analysis passed
|
|
291
|
-
║
|
|
292
|
-
║ YES ▼
|
|
293
|
-
▼
|
|
294
|
-
╔══════════════════════════════════════════════╗
|
|
295
|
-
║ PHASE 4: IMPLEMENTATION ║
|
|
296
|
-
╠══════════════════════════════════════════════╣
|
|
297
|
-
║ SAFETY CHECK - ALL MUST BE TRUE: ║
|
|
298
|
-
║ [ ] tasks.md exists ║
|
|
299
|
-
║ [ ] Tests from test-generator written ║
|
|
300
|
-
║ [ ] design.md reviewed ║
|
|
301
|
-
║ [ ] spec-analysis shows consistency ║
|
|
302
|
-
╠══════════════════════════════════════════════╣
|
|
303
|
-
║ 18. test-generator ║
|
|
304
|
-
║ └─ TDD: Write tests first ║
|
|
305
|
-
║ 19. openspec-apply-change ║
|
|
306
|
-
║ └─ Implement code to pass tests ║
|
|
307
|
-
║ 20. testing-qa ║
|
|
308
|
-
║ └─ Automate test maintenance ║
|
|
309
|
-
║ 21. code-review ║
|
|
310
|
-
║ └─ Review for style/security/arch ║
|
|
311
|
-
║ 22. secure-coding-cybersecurity ║
|
|
312
|
-
║ └─ Audit code for security ║
|
|
313
|
-
║ 23. error-handling-patterns ║
|
|
314
|
-
║ └─ Verify robust error handling ║
|
|
315
|
-
║ 24. performance-optimizer ║
|
|
316
|
-
║ └─ Optimize critical paths ║
|
|
317
|
-
╚════════════════════╬═════════════════════════╝
|
|
318
|
-
║
|
|
319
|
-
║ CHECKPOINT: Phase 4 Complete?
|
|
320
|
-
║ [ ] All tasks in tasks.md marked [x]
|
|
321
|
-
║ [ ] Tests passing
|
|
322
|
-
║ [ ] Code reviewed
|
|
323
|
-
║ [ ] Security audited
|
|
324
|
-
║
|
|
325
|
-
║ YES ▼
|
|
326
|
-
▼
|
|
327
|
-
╔══════════════════════════════════════════════╗
|
|
328
|
-
║ PHASE 5: VALIDATION & CLOSURE ║
|
|
329
|
-
╠══════════════════════════════════════════════╣
|
|
330
|
-
║ 25. systematic-debugging ║
|
|
331
|
-
║ └─ Resolve any issues ║
|
|
332
|
-
║ 26. openspec-verify-change ║
|
|
333
|
-
║ └─ Validate against specs ║
|
|
334
|
-
║ 27. documentation ║
|
|
335
|
-
║ └─ Generate technical docs & diagrams ║
|
|
336
|
-
║ 28. sync-index ║
|
|
337
|
-
║ └─ Update project documentation ║
|
|
338
|
-
║ 29. changelog-generator ║
|
|
339
|
-
║ └─ Generate release notes ║
|
|
340
|
-
║ 30. ci-deploy ║
|
|
341
|
-
║ └─ Deploy and verify solution ║
|
|
342
|
-
║ 31. openspec-archive-change ║
|
|
343
|
-
║ └─ Archive the change ║
|
|
344
|
-
╚══════════════════════════════════════════════╝
|
|
146
|
+
+--------------------------------------------------------------------------+
|
|
147
|
+
| WORKFLOW: NEW MOBILE PROJECT - ZERO SKIP |
|
|
148
|
+
+--------------------------------------------------------------------------+
|
|
149
|
+
|
|
150
|
+
START
|
|
151
|
+
|
|
|
152
|
+
v
|
|
153
|
+
PHASE 0 - AC FRAMEWORK SETUP (BLOCKING)
|
|
154
|
+
1) acfm-spec-workflow
|
|
155
|
+
- verify initialization and workflow mode
|
|
156
|
+
- run `acfm spec init` if missing
|
|
157
|
+
2) acfm-memory
|
|
158
|
+
- perform session-start memory recall
|
|
159
|
+
|
|
160
|
+
CHECKPOINT: initialized + memory recall complete
|
|
161
|
+
|
|
|
162
|
+
v
|
|
163
|
+
PHASE 1 - FOUNDATIONS AND MOBILE BASELINE
|
|
164
|
+
3) project-constitution
|
|
165
|
+
4) mobile-design (mandatory baseline doctrine)
|
|
166
|
+
5) context-synthesizer
|
|
167
|
+
6) project-index (if not created)
|
|
168
|
+
|
|
169
|
+
CHECKPOINT: constitution + baseline mobile rules documented
|
|
170
|
+
|
|
|
171
|
+
v
|
|
172
|
+
PHASE 2 - DISCOVERY AND REQUIREMENTS
|
|
173
|
+
7) openspec-explore
|
|
174
|
+
8) research-retrieval
|
|
175
|
+
9) brainstorming (single comprehensive question set)
|
|
176
|
+
10) openspec-new-change (or openspec-ff-change if explicitly chosen)
|
|
177
|
+
11) spec-clarification
|
|
178
|
+
|
|
179
|
+
CHECKPOINT: scope clarified + platform/stack chosen
|
|
180
|
+
|
|
|
181
|
+
v
|
|
182
|
+
PHASE 3 - DESIGN AND TASK PLANNING
|
|
183
|
+
12) openspec-continue-change (proposal/specs/design/tasks)
|
|
184
|
+
13) spec-analysis
|
|
185
|
+
14) microtask-decomposition [IF tasks are still too complex]
|
|
186
|
+
15) platform/stack skills as required:
|
|
187
|
+
- mobile-ios-design [IF iOS UI]
|
|
188
|
+
- mobile-android-design [IF Android UI]
|
|
189
|
+
- react-native-design [IF RN UI]
|
|
190
|
+
- react-native-architecture [IF RN architecture]
|
|
191
|
+
- react-state-management [IF complex state]
|
|
192
|
+
- flutter-expert [IF Flutter]
|
|
193
|
+
- ios-developer [IF native iOS]
|
|
194
|
+
|
|
195
|
+
CHECKPOINT: proposal/spec/design/tasks coherent and implementation-ready
|
|
196
|
+
|
|
|
197
|
+
v
|
|
198
|
+
PHASE 4 - IMPLEMENTATION
|
|
199
|
+
16) openspec-apply-change
|
|
200
|
+
17) systematic-debugging [IF issues/regressions appear]
|
|
201
|
+
18) update tasks progress in tasks.md continuously
|
|
202
|
+
|
|
203
|
+
CHECKPOINT: implementation complete and stable
|
|
204
|
+
|
|
|
205
|
+
v
|
|
206
|
+
PHASE 5 - VALIDATION AND CLOSURE
|
|
207
|
+
19) openspec-verify-change
|
|
208
|
+
20) documentation
|
|
209
|
+
21) sync-index
|
|
210
|
+
22) openspec-sync-specs [IF syncing specs without archive]
|
|
211
|
+
23) openspec-archive-change OR openspec-bulk-archive-change
|
|
212
|
+
24) changelog-generator
|
|
345
213
|
```
|
|
346
214
|
|
|
347
|
-
**Conditional
|
|
348
|
-
-
|
|
349
|
-
- `
|
|
350
|
-
- `
|
|
351
|
-
- `microtask-decomposition`: Use ONLY when a single task from tasks.md is still too complex (3+ files). NOT for initial breakdown.
|
|
215
|
+
**Conditional Skill Notes:**
|
|
216
|
+
- Use only skills that match selected platform/stack and risk profile.
|
|
217
|
+
- `mobile-design` is mandatory for all mobile work regardless of stack.
|
|
218
|
+
- `microtask-decomposition` is only for complex tasks after tasks.md exists.
|
|
352
219
|
|
|
353
220
|
---
|
|
354
221
|
|
|
355
|
-
## Workflow: Existing Project
|
|
222
|
+
## Workflow: Existing Mobile Project
|
|
356
223
|
|
|
357
|
-
When working on an **existing codebase** (
|
|
224
|
+
When working on an **existing mobile codebase** (feature, bugfix, refactor):
|
|
358
225
|
|
|
359
226
|
```
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
║ └─ Ideate on feature/fix ║
|
|
400
|
-
╚════════════════════╬═════════════════════════╝
|
|
401
|
-
║ CHECKPOINT
|
|
402
|
-
▼
|
|
403
|
-
╔══════════════════════════════════════════════╗
|
|
404
|
-
║ PHASE 2: DISCOVERY & CLARIFICATION ║
|
|
405
|
-
╠══════════════════════════════════════════════╣
|
|
406
|
-
║ 7. spec-clarification (CRITICAL) ║
|
|
407
|
-
║ └─ CLARIFY requirements first ║
|
|
408
|
-
║ 8. openspec-new-change ║
|
|
409
|
-
║ └─ Initialize change artifact ║
|
|
410
|
-
║ 9. microtask-decomposition ║
|
|
411
|
-
║ └─ If task too complex ║
|
|
412
|
-
╚════════════════════╬═════════════════════════╝
|
|
413
|
-
║ CHECKPOINT
|
|
414
|
-
▼
|
|
415
|
-
╔══════════════════════════════════════════════╗
|
|
416
|
-
║ PHASE 3: DESIGN & PLANNING ║
|
|
417
|
-
╠══════════════════════════════════════════════╣
|
|
418
|
-
║ 10. openspec-continue-change ║
|
|
419
|
-
║ └─ Draft Specs, Design, Tasks ║
|
|
420
|
-
║ 11. spec-analysis ║
|
|
421
|
-
║ └─ Check consistency with existing ║
|
|
422
|
-
║ 12. requirement-checklist ║
|
|
423
|
-
║ └─ Validate requirements ║
|
|
424
|
-
║ 13. api-design-principles [IF APIs] ║
|
|
425
|
-
║ └─ Design API changes ║
|
|
426
|
-
║ 14. interface-design [IF UI] ║
|
|
427
|
-
║ └─ Design interface changes ║
|
|
428
|
-
╚════════════════════╬═════════════════════════╝
|
|
429
|
-
║ CHECKPOINT
|
|
430
|
-
▼
|
|
431
|
-
╔══════════════════════════════════════════════╗
|
|
432
|
-
║ PHASE 4: IMPLEMENTATION ║
|
|
433
|
-
╠══════════════════════════════════════════════╣
|
|
434
|
-
║ SAFETY CHECK REQUIRED ║
|
|
435
|
-
╠══════════════════════════════════════════════╣
|
|
436
|
-
║ 15. test-generator ║
|
|
437
|
-
║ └─ Generate tests for new feature ║
|
|
438
|
-
║ 16. openspec-apply-change ║
|
|
439
|
-
║ └─ Implement code ║
|
|
440
|
-
║ 17. testing-qa ║
|
|
441
|
-
║ └─ Automate test maintenance ║
|
|
442
|
-
║ 18. code-review ║
|
|
443
|
-
║ └─ Review for style/security/arch ║
|
|
444
|
-
║ 19. secure-coding-cybersecurity ║
|
|
445
|
-
║ └─ Audit new code ║
|
|
446
|
-
║ 20. error-handling-patterns ║
|
|
447
|
-
║ └─ Verify error handling ║
|
|
448
|
-
║ 21. performance-optimizer ║
|
|
449
|
-
║ └─ Ensure no perf degradation ║
|
|
450
|
-
╚════════════════════╬═════════════════════════╝
|
|
451
|
-
║ CHECKPOINT
|
|
452
|
-
▼
|
|
453
|
-
╔══════════════════════════════════════════════╗
|
|
454
|
-
║ PHASE 5: OPTIMIZATION & VERIFICATION ║
|
|
455
|
-
╠══════════════════════════════════════════════╣
|
|
456
|
-
║ 22. systematic-debugging ║
|
|
457
|
-
║ └─ Fix regressions ║
|
|
458
|
-
║ 23. openspec-verify-change ║
|
|
459
|
-
║ └─ Final verification ║
|
|
460
|
-
║ 24. documentation ║
|
|
461
|
-
║ └─ Generate technical docs & diagrams ║
|
|
462
|
-
║ 25. sync-index (IMPORTANT) ║
|
|
463
|
-
║ └─ Update docs with new changes ║
|
|
464
|
-
║ 26. changelog-generator ║
|
|
465
|
-
║ └─ Generate release notes ║
|
|
466
|
-
║ 27. ci-deploy ║
|
|
467
|
-
║ └─ Deploy and verify solution ║
|
|
468
|
-
║ 28. openspec-archive-change ║
|
|
469
|
-
║ └─ Archive change ║
|
|
470
|
-
╚══════════════════════════════════════════════╝
|
|
227
|
+
+--------------------------------------------------------------------------+
|
|
228
|
+
| WORKFLOW: EXISTING MOBILE PROJECT - ZERO SKIP |
|
|
229
|
+
+--------------------------------------------------------------------------+
|
|
230
|
+
|
|
231
|
+
START CHANGE
|
|
232
|
+
|
|
|
233
|
+
v
|
|
234
|
+
PHASE 0 - SETUP (BLOCKING)
|
|
235
|
+
1) acfm-spec-workflow (status, current changes, initialization)
|
|
236
|
+
2) acfm-memory (session-start recall)
|
|
237
|
+
|
|
238
|
+
PHASE 1 - CONTEXT AND DISCOVERY
|
|
239
|
+
3) context-synthesizer
|
|
240
|
+
4) project-index [if missing/stale]
|
|
241
|
+
5) openspec-explore
|
|
242
|
+
6) research-retrieval
|
|
243
|
+
7) brainstorming
|
|
244
|
+
|
|
245
|
+
PHASE 2 - CLARIFICATION AND CHANGE INIT
|
|
246
|
+
8) openspec-new-change
|
|
247
|
+
9) spec-clarification
|
|
248
|
+
|
|
249
|
+
PHASE 3 - DESIGN, CONSISTENCY, AND PLATFORM FIT
|
|
250
|
+
10) openspec-continue-change
|
|
251
|
+
11) spec-analysis
|
|
252
|
+
12) microtask-decomposition [if needed]
|
|
253
|
+
13) apply required mobile platform/stack skills
|
|
254
|
+
|
|
255
|
+
PHASE 4 - IMPLEMENTATION
|
|
256
|
+
14) openspec-apply-change
|
|
257
|
+
15) systematic-debugging [if needed]
|
|
258
|
+
|
|
259
|
+
PHASE 5 - VALIDATION AND CLOSURE
|
|
260
|
+
16) openspec-verify-change
|
|
261
|
+
17) documentation
|
|
262
|
+
18) sync-index
|
|
263
|
+
19) openspec-sync-specs [if needed]
|
|
264
|
+
20) openspec-archive-change / openspec-bulk-archive-change
|
|
265
|
+
21) changelog-generator
|
|
471
266
|
```
|
|
472
267
|
|
|
473
|
-
**Conditional Skills Notes:**
|
|
474
|
-
- `[IF APIs]`: Use api-design-principles only if modifying/creating REST/GraphQL APIs
|
|
475
|
-
- `[IF UI]`: Use interface-design only if modifying dashboards, admin panels, or apps
|
|
476
|
-
- `project-index`: Run only if you haven't indexed the project yet or need to refresh context
|
|
477
|
-
|
|
478
268
|
---
|
|
479
269
|
|
|
480
270
|
## Skill Loading Reference
|
|
481
271
|
|
|
482
272
|
All skills are located in: `skills/`
|
|
483
273
|
|
|
484
|
-
To load a skill, read its SKILL.md file:
|
|
485
|
-
- Example:
|
|
486
|
-
- Example:
|
|
274
|
+
To load a skill, read its `SKILL.md` file:
|
|
275
|
+
- Example: `skills/spec-clarification/SKILL.md`
|
|
276
|
+
- Example: `skills/mobile-design/SKILL.md`
|
|
277
|
+
- Example: `skills/react-native-architecture/SKILL.md`
|
|
487
278
|
|
|
488
279
|
### MANDATORY SKILL EXECUTION CHECKLIST
|
|
489
280
|
|
|
490
|
-
Before claiming a skill is
|
|
491
|
-
- [ ] I
|
|
492
|
-
- [ ] I
|
|
493
|
-
- [ ] I
|
|
494
|
-
- [ ] I can
|
|
495
|
-
|
|
496
|
-
**Remember**: Skills are documentation-based workflows with ZERO SKIP policy. Load them by reading the SKILL.md files, execute CLI commands when instructed, and NEVER proceed without completing all steps.
|
|
281
|
+
Before claiming a skill is done, verify:
|
|
282
|
+
- [ ] I read the entire `SKILL.md`
|
|
283
|
+
- [ ] I executed all required steps
|
|
284
|
+
- [ ] I produced required artifacts/checkpoints
|
|
285
|
+
- [ ] I can explain exactly what the skill produced
|
|
497
286
|
|
|
498
287
|
---
|
|
499
288
|
|
|
500
289
|
## VIOLATION CONSEQUENCES
|
|
501
290
|
|
|
502
|
-
If you
|
|
503
|
-
1.
|
|
504
|
-
2.
|
|
505
|
-
3. You MUST
|
|
506
|
-
4. No
|
|
291
|
+
If you skip a skill or phase:
|
|
292
|
+
1. Workflow integrity is compromised
|
|
293
|
+
2. Mobile quality and consistency are no longer guaranteed
|
|
294
|
+
3. You MUST return and complete the missing steps
|
|
295
|
+
4. No shortcuts. No exceptions.
|
|
507
296
|
|
|
508
297
|
**Quality over speed. Documentation before code. Planning before execution.**
|