cc-codeconductor 1.3.0 → 1.4.0

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.
Files changed (57) hide show
  1. package/README.md +21 -16
  2. package/dist/index.js +7039 -6289
  3. package/dist/library.js +167 -163
  4. package/docs/generated/cli.md +202 -0
  5. package/package.json +3 -1
  6. package/presets/agy/skills/android-ui-design/SKILL.md +119 -0
  7. package/presets/agy/skills/cc-feature/SKILL.md +22 -0
  8. package/presets/agy/skills/cc-fix/SKILL.md +22 -0
  9. package/presets/agy/skills/cc-review/SKILL.md +22 -0
  10. package/presets/agy/skills/openspec/SKILL.md +20 -0
  11. package/presets/agy/skills/using-cc-skills/SKILL.md +21 -0
  12. package/presets/agy/skills/web-design-engineering/SKILL.md +101 -0
  13. package/presets/agy/workflows/cc-feature.md +22 -0
  14. package/presets/agy/workflows/cc-fix.md +22 -0
  15. package/presets/agy/workflows/cc-openspec.md +22 -0
  16. package/presets/agy/workflows/cc-review.md +22 -0
  17. package/presets/claude/commands/cc/feature.md +22 -0
  18. package/presets/claude/commands/cc/fix.md +22 -0
  19. package/presets/claude/commands/cc/openspec.md +22 -0
  20. package/presets/claude/commands/cc/review.md +22 -0
  21. package/presets/claude/skills/android/SKILL.md +4 -0
  22. package/presets/claude/skills/android-ui-design/SKILL.md +119 -0
  23. package/presets/claude/skills/openspec/SKILL.md +20 -0
  24. package/presets/claude/skills/using-cc-skills/SKILL.md +21 -0
  25. package/presets/claude/skills/web-design-engineering/SKILL.md +101 -0
  26. package/presets/codex/skills/android/SKILL.md +4 -0
  27. package/presets/codex/skills/android-ui-design/SKILL.md +119 -0
  28. package/presets/codex/skills/cc-feature/SKILL.md +22 -0
  29. package/presets/codex/skills/cc-fix/SKILL.md +22 -0
  30. package/presets/codex/skills/cc-openspec/SKILL.md +22 -0
  31. package/presets/codex/skills/cc-review/SKILL.md +22 -0
  32. package/presets/codex/skills/openspec/SKILL.md +20 -0
  33. package/presets/codex/skills/using-cc-skills/SKILL.md +21 -0
  34. package/presets/codex/skills/web-design-engineering/SKILL.md +101 -0
  35. package/presets/cursor/commands/cc/feature.md +22 -0
  36. package/presets/cursor/commands/cc/fix.md +22 -0
  37. package/presets/cursor/commands/cc/openspec.md +22 -0
  38. package/presets/cursor/commands/cc/review.md +22 -0
  39. package/presets/cursor/skills/android/SKILL.md +4 -0
  40. package/presets/cursor/skills/android-ui-design/SKILL.md +119 -0
  41. package/presets/cursor/skills/openspec/SKILL.md +20 -0
  42. package/presets/cursor/skills/using-cc-skills/SKILL.md +21 -0
  43. package/presets/cursor/skills/web-design-engineering/SKILL.md +101 -0
  44. package/presets/gemini/commands/cc/feature.toml +22 -0
  45. package/presets/gemini/commands/cc/fix.toml +22 -0
  46. package/presets/gemini/commands/cc/openspec.toml +22 -0
  47. package/presets/gemini/commands/cc/review.toml +22 -0
  48. package/presets/opencode/commands/cc-feature.md +22 -0
  49. package/presets/opencode/commands/cc-fix.md +22 -0
  50. package/presets/opencode/commands/cc-openspec.md +22 -0
  51. package/presets/opencode/commands/cc-review.md +22 -0
  52. package/presets/opencode/skills/android/SKILL.md +4 -0
  53. package/presets/opencode/skills/android-ui-design/SKILL.md +119 -0
  54. package/presets/opencode/skills/openspec/SKILL.md +20 -0
  55. package/presets/opencode/skills/using-cc-skills/SKILL.md +21 -0
  56. package/presets/opencode/skills/web-design-engineering/SKILL.md +101 -0
  57. package/src/presets/shared-skills.yml +4 -0
package/dist/library.js CHANGED
@@ -1,11 +1,15 @@
1
1
  var __defProp = Object.defineProperty;
2
+ var __returnValue = (v) => v;
3
+ function __exportSetter(name, newValue) {
4
+ this[name] = __returnValue.bind(null, newValue);
5
+ }
2
6
  var __export = (target, all) => {
3
7
  for (var name in all)
4
8
  __defProp(target, name, {
5
9
  get: all[name],
6
10
  enumerable: true,
7
11
  configurable: true,
8
- set: (newValue) => all[name] = () => newValue
12
+ set: __exportSetter.bind(all, name)
9
13
  });
10
14
  };
11
15
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
@@ -1042,9 +1046,9 @@ function err(error) {
1042
1046
  // src/core/goal/goal-state.ts
1043
1047
  var exports_goal_state = {};
1044
1048
  __export(exports_goal_state, {
1045
- writeGoal: () => writeGoal,
1049
+ loadGoal: () => loadGoal,
1046
1050
  markTaskBlocked: () => markTaskBlocked,
1047
- loadGoal: () => loadGoal
1051
+ writeGoal: () => writeGoal
1048
1052
  });
1049
1053
  import { mkdir as mkdir2, readFile as readFile2, writeFile as writeFile2 } from "node:fs/promises";
1050
1054
  import { resolve } from "node:path";
@@ -2669,165 +2673,165 @@ async function runLoopForProject(projectRoot, options) {
2669
2673
  // src/index.ts
2670
2674
  init_schemas();
2671
2675
  export {
2672
- validateWorkflowProfile,
2673
- validateTaskOutcome,
2674
- validateTargetCapabilities,
2675
- validateSkillsRegistry,
2676
- validateSkillFrontmatter,
2677
- validateScorecardRecord,
2678
- validateRunnerTarget,
2679
- validateReviewerOutput,
2680
- validateProjectProfile,
2681
- validateProductGraph,
2682
- validateProductEvent,
2683
- validatePlannerOutput,
2684
- validateOpenspecState,
2685
- validateOpenCodeAgentFile,
2686
- validateModelConfig,
2687
- validateMemoryPointer,
2688
- validateMemoryIndex,
2689
- validateKnowledgeEntity,
2690
- validateImplementerOutput,
2691
- validateHarnessSuite,
2692
- validateHarnessOverlay,
2693
- validateHarnessExperiment,
2694
- validateHarnessCatalog,
2695
- validateGoalGraph,
2696
- validateExecutionContext,
2697
- validateEvidenceIds,
2698
- validateEvidence,
2699
- validateDecision,
2700
- validateCouncilVerdictInput,
2701
- validateCouncilVerdict,
2702
- validateCouncilSpec,
2703
- validateConsensusConfig,
2704
- validateConfig,
2705
- validateCommandFrontmatter,
2706
- validateCommandEnvelope,
2707
- validateClaudeAgentFile,
2708
- validateCanonicalTaskCard,
2709
- validateBacklogDocument,
2710
- validateAgentOutput,
2711
- validateAgentContract,
2712
- tddCycleStateMachine,
2713
- startTask,
2714
- shouldRunAgentLoop,
2715
- runVerification,
2716
- runLoopForProject,
2717
- runLoop,
2718
- rollbackTaskStatus,
2719
- loopStateMachine,
2720
- loadTddSuiteEvidence,
2721
- hasTddRunnerEvidence,
2722
- goalTaskToCanonicalCard,
2723
- getReadyTasks,
2724
- getNextTask,
2725
- gateTaskCompletion,
2726
- formatGoalStatus,
2727
- formatFeedback,
2728
- createInitialTddState,
2729
- createInitialState,
2730
- completeTask,
2731
- captureTddSuiteEvidence,
2732
- buildTaskEnvelope,
2733
- advanceTddPhase,
2734
- WorkflowRiskRuleSchema,
2735
- WorkflowProfileSchema,
2736
- WorkflowPhaseSchema,
2737
- WorkflowCommandSchema,
2738
- VerificationReportSchema,
2739
- ToolProviderNamesSchema,
2740
- TechnicalPlanOutputSchema,
2741
- TaskOutcomeStatusSchema,
2742
- TaskOutcomeSourceSchema,
2743
- TaskOutcomeSchema,
2744
- TargetCapabilitiesSchema,
2745
- StrategicMemorySchema,
2746
- SpecAnalyzeReportSchema,
2747
- SpecAnalyzeFindingSchema,
2748
- SkillsRegistrySchema,
2749
- SkillFrontmatterSchema,
2750
- SentryWebhookSchema,
2751
- SentryStackFrameSchema,
2752
- ScorecardVerdictSchema,
2753
- ScorecardRecordSchema,
2754
- ScorecardCriterionSchema,
2755
- ScorecardCriterionIdSchema,
2756
- RunnerTargetSchema,
2757
- ReviewerOutputSchema,
2758
- ReviewFindingSchema,
2759
- ReviewAxisSchema,
2760
- ProjectProfileSchema,
2761
- ProductNodeTypeSchema,
2762
- ProductMetaSchema,
2763
- ProductGraphSchema,
2764
- ProductGraphNodeSchema,
2765
- ProductGraphEdgeSchema,
2766
- ProductEventTypeSchema,
2767
- ProductEventSchema,
2768
- PlannerOutputSchema,
2769
- PermissionProviderNamesSchema,
2770
- OperationalStateSchema,
2771
- OpenspecTaskCardStatusSchema,
2772
- OpenspecTaskCardSchema,
2773
- OpenspecTaskCardPhaseSchema,
2774
- OpenspecStateSchema,
2775
- OpenCodeAgentFileSchema,
2776
- ModelConfigSchema,
2777
- MemoryPointerSchema,
2778
- MemoryIndexSchema,
2779
- ManifestEntrySchema,
2780
- LoopEngine,
2781
- LoopConfigSchema,
2782
- KnowledgeEntitySchema,
2783
- InstallStrategySchema,
2784
- InstallManifestSchema,
2785
- ImplementerTestsSchema,
2786
- ImplementerOutputSchema,
2787
- ImpactReportSchema,
2788
- HarnessToggleKindSchema,
2789
- HarnessSuiteTaskSchema,
2790
- HarnessSuiteSchema,
2791
- HarnessOverlaySchema,
2792
- HarnessExperimentSchema,
2793
- HarnessComponentLayerSchema,
2794
- HarnessComponentIdSchema,
2795
- HarnessCatalogSchema,
2796
- HarnessCatalogEntrySchema,
2797
- GraphRelationSchema,
2798
- GoalTaskSchema,
2799
- GoalGraphSchema,
2800
- ExecutionProfileSchema,
2801
- ExecutionProfileNameSchema,
2802
- ExecutionContextSchema,
2803
- EvidenceSchema,
2804
- EvaluationIndexSchema,
2805
- DecisionSchema,
2806
- CouncilVerdictSchema,
2807
- CouncilVerdictInputSchema,
2808
- CouncilSpecSchema,
2809
- CouncilFindingSchema,
2810
- CouncilAgentSpecSchema,
2811
- ContractTargetSchema,
2812
- ContractFormatSchema,
2813
- ConsensusConfigSchema,
2814
- ConfidenceLevelSchema,
2815
- CompileCheckConfigSchema,
2816
- CommandFrontmatterSchema,
2817
- CommandEnvelopeSchema,
2818
- CodeConductorConfigSchema,
2819
- ClaudeAgentFileSchema,
2820
- CcepOutputFormatSchema,
2821
- CanonicalTaskCardStatusSchema,
2822
- CanonicalTaskCardSchema,
2823
- BusinessReviewOutputSchema,
2824
- BacklogTypeSchema,
2825
- BacklogStatusSchema,
2826
- BacklogPrioritySchema,
2827
- BacklogItemSchema,
2828
- BacklogGlobalSchema,
2829
- BacklogDocumentSchema,
2830
- AgentOutputSchema,
2676
+ AgentArtifactSchema,
2831
2677
  AgentContractSchema,
2832
- AgentArtifactSchema
2678
+ AgentOutputSchema,
2679
+ BacklogDocumentSchema,
2680
+ BacklogGlobalSchema,
2681
+ BacklogItemSchema,
2682
+ BacklogPrioritySchema,
2683
+ BacklogStatusSchema,
2684
+ BacklogTypeSchema,
2685
+ BusinessReviewOutputSchema,
2686
+ CanonicalTaskCardSchema,
2687
+ CanonicalTaskCardStatusSchema,
2688
+ CcepOutputFormatSchema,
2689
+ ClaudeAgentFileSchema,
2690
+ CodeConductorConfigSchema,
2691
+ CommandEnvelopeSchema,
2692
+ CommandFrontmatterSchema,
2693
+ CompileCheckConfigSchema,
2694
+ ConfidenceLevelSchema,
2695
+ ConsensusConfigSchema,
2696
+ ContractFormatSchema,
2697
+ ContractTargetSchema,
2698
+ CouncilAgentSpecSchema,
2699
+ CouncilFindingSchema,
2700
+ CouncilSpecSchema,
2701
+ CouncilVerdictInputSchema,
2702
+ CouncilVerdictSchema,
2703
+ DecisionSchema,
2704
+ EvaluationIndexSchema,
2705
+ EvidenceSchema,
2706
+ ExecutionContextSchema,
2707
+ ExecutionProfileNameSchema,
2708
+ ExecutionProfileSchema,
2709
+ GoalGraphSchema,
2710
+ GoalTaskSchema,
2711
+ GraphRelationSchema,
2712
+ HarnessCatalogEntrySchema,
2713
+ HarnessCatalogSchema,
2714
+ HarnessComponentIdSchema,
2715
+ HarnessComponentLayerSchema,
2716
+ HarnessExperimentSchema,
2717
+ HarnessOverlaySchema,
2718
+ HarnessSuiteSchema,
2719
+ HarnessSuiteTaskSchema,
2720
+ HarnessToggleKindSchema,
2721
+ ImpactReportSchema,
2722
+ ImplementerOutputSchema,
2723
+ ImplementerTestsSchema,
2724
+ InstallManifestSchema,
2725
+ InstallStrategySchema,
2726
+ KnowledgeEntitySchema,
2727
+ LoopConfigSchema,
2728
+ LoopEngine,
2729
+ ManifestEntrySchema,
2730
+ MemoryIndexSchema,
2731
+ MemoryPointerSchema,
2732
+ ModelConfigSchema,
2733
+ OpenCodeAgentFileSchema,
2734
+ OpenspecStateSchema,
2735
+ OpenspecTaskCardPhaseSchema,
2736
+ OpenspecTaskCardSchema,
2737
+ OpenspecTaskCardStatusSchema,
2738
+ OperationalStateSchema,
2739
+ PermissionProviderNamesSchema,
2740
+ PlannerOutputSchema,
2741
+ ProductEventSchema,
2742
+ ProductEventTypeSchema,
2743
+ ProductGraphEdgeSchema,
2744
+ ProductGraphNodeSchema,
2745
+ ProductGraphSchema,
2746
+ ProductMetaSchema,
2747
+ ProductNodeTypeSchema,
2748
+ ProjectProfileSchema,
2749
+ ReviewAxisSchema,
2750
+ ReviewFindingSchema,
2751
+ ReviewerOutputSchema,
2752
+ RunnerTargetSchema,
2753
+ ScorecardCriterionIdSchema,
2754
+ ScorecardCriterionSchema,
2755
+ ScorecardRecordSchema,
2756
+ ScorecardVerdictSchema,
2757
+ SentryStackFrameSchema,
2758
+ SentryWebhookSchema,
2759
+ SkillFrontmatterSchema,
2760
+ SkillsRegistrySchema,
2761
+ SpecAnalyzeFindingSchema,
2762
+ SpecAnalyzeReportSchema,
2763
+ StrategicMemorySchema,
2764
+ TargetCapabilitiesSchema,
2765
+ TaskOutcomeSchema,
2766
+ TaskOutcomeSourceSchema,
2767
+ TaskOutcomeStatusSchema,
2768
+ TechnicalPlanOutputSchema,
2769
+ ToolProviderNamesSchema,
2770
+ VerificationReportSchema,
2771
+ WorkflowCommandSchema,
2772
+ WorkflowPhaseSchema,
2773
+ WorkflowProfileSchema,
2774
+ WorkflowRiskRuleSchema,
2775
+ advanceTddPhase,
2776
+ buildTaskEnvelope,
2777
+ captureTddSuiteEvidence,
2778
+ completeTask,
2779
+ createInitialState,
2780
+ createInitialTddState,
2781
+ formatFeedback,
2782
+ formatGoalStatus,
2783
+ gateTaskCompletion,
2784
+ getNextTask,
2785
+ getReadyTasks,
2786
+ goalTaskToCanonicalCard,
2787
+ hasTddRunnerEvidence,
2788
+ loadTddSuiteEvidence,
2789
+ loopStateMachine,
2790
+ rollbackTaskStatus,
2791
+ runLoop,
2792
+ runLoopForProject,
2793
+ runVerification,
2794
+ shouldRunAgentLoop,
2795
+ startTask,
2796
+ tddCycleStateMachine,
2797
+ validateAgentContract,
2798
+ validateAgentOutput,
2799
+ validateBacklogDocument,
2800
+ validateCanonicalTaskCard,
2801
+ validateClaudeAgentFile,
2802
+ validateCommandEnvelope,
2803
+ validateCommandFrontmatter,
2804
+ validateConfig,
2805
+ validateConsensusConfig,
2806
+ validateCouncilSpec,
2807
+ validateCouncilVerdict,
2808
+ validateCouncilVerdictInput,
2809
+ validateDecision,
2810
+ validateEvidence,
2811
+ validateEvidenceIds,
2812
+ validateExecutionContext,
2813
+ validateGoalGraph,
2814
+ validateHarnessCatalog,
2815
+ validateHarnessExperiment,
2816
+ validateHarnessOverlay,
2817
+ validateHarnessSuite,
2818
+ validateImplementerOutput,
2819
+ validateKnowledgeEntity,
2820
+ validateMemoryIndex,
2821
+ validateMemoryPointer,
2822
+ validateModelConfig,
2823
+ validateOpenCodeAgentFile,
2824
+ validateOpenspecState,
2825
+ validatePlannerOutput,
2826
+ validateProductEvent,
2827
+ validateProductGraph,
2828
+ validateProjectProfile,
2829
+ validateReviewerOutput,
2830
+ validateRunnerTarget,
2831
+ validateScorecardRecord,
2832
+ validateSkillFrontmatter,
2833
+ validateSkillsRegistry,
2834
+ validateTargetCapabilities,
2835
+ validateTaskOutcome,
2836
+ validateWorkflowProfile
2833
2837
  };
@@ -0,0 +1,202 @@
1
+ # CodeConductor CLI
2
+
3
+ ## setup
4
+
5
+ Configure and install CodeConductor.
6
+
7
+ ```text
8
+ cc setup [--target <target>] [--locale en|es] [--yes] [--dry-run]
9
+ ```
10
+
11
+ ## detect
12
+
13
+ Inspect the project stack and recommended presets.
14
+
15
+ ```text
16
+ cc detect
17
+ ```
18
+
19
+ ## init
20
+
21
+ Initialize low-level CodeConductor configuration.
22
+
23
+ ```text
24
+ cc init [--locale en|es]
25
+ ```
26
+
27
+ ## install
28
+
29
+ Install harness components.
30
+
31
+ ```text
32
+ cc install preset --target <target>
33
+ ```
34
+
35
+ ## version
36
+
37
+ Show CLI and project harness versions.
38
+
39
+ ```text
40
+ cc version [--json]
41
+ ```
42
+
43
+ ## status
44
+
45
+ Show installed harness state.
46
+
47
+ ```text
48
+ cc status [--json]
49
+ ```
50
+
51
+ ## doctor
52
+
53
+ Diagnose the installation.
54
+
55
+ ```text
56
+ cc doctor
57
+ ```
58
+
59
+ ## update
60
+
61
+ Safely reconcile managed harness files.
62
+
63
+ ```text
64
+ cc update [--dry-run] [--force]
65
+ ```
66
+
67
+ ## migrate
68
+
69
+ Apply compatibility migrations.
70
+
71
+ ```text
72
+ cc migrate [--dry-run]
73
+ ```
74
+
75
+ ## docs
76
+
77
+ Read bundled command documentation.
78
+
79
+ ```text
80
+ cc docs [command]
81
+ ```
82
+
83
+ ## completion
84
+
85
+ Generate shell completion.
86
+
87
+ ```text
88
+ cc completion <bash|zsh|fish|powershell>
89
+ ```
90
+
91
+ ## hook
92
+
93
+ Run installed agent hooks.
94
+
95
+ ```text
96
+ cc hook <pre-tool|post-tool|session-start>
97
+ ```
98
+
99
+ ## cc-help
100
+
101
+ Show a target preset inventory.
102
+
103
+ ```text
104
+ cc cc-help --target <target>
105
+ ```
106
+
107
+ ## ask
108
+
109
+ Recommend a slash-command workflow.
110
+
111
+ ```text
112
+ cc ask "problem"
113
+ ```
114
+
115
+ ## goal
116
+
117
+ Plan a goal into dependent tasks.
118
+
119
+ ```text
120
+ cc goal "objective"
121
+ ```
122
+
123
+ ## ingest
124
+
125
+ Ingest repository knowledge into the product graph.
126
+
127
+ ```text
128
+ cc ingest
129
+ ```
130
+
131
+ ## product
132
+
133
+ Explore the product graph and memory.
134
+
135
+ ```text
136
+ cc product <subcommand>
137
+ ```
138
+
139
+ ## ccep
140
+
141
+ Run CCEP contract workflows.
142
+
143
+ ```text
144
+ cc ccep <subcommand>
145
+ ```
146
+
147
+ ## openspec
148
+
149
+ Run the OpenSpec delivery loop.
150
+
151
+ ```text
152
+ cc openspec <subcommand>
153
+ ```
154
+
155
+ ## scorecard
156
+
157
+ Record and aggregate outcomes.
158
+
159
+ ```text
160
+ cc scorecard <subcommand>
161
+ ```
162
+
163
+ ## orchestrate
164
+
165
+ Run goal execution orchestration.
166
+
167
+ ```text
168
+ cc orchestrate <subcommand>
169
+ ```
170
+
171
+ ## impact
172
+
173
+ Analyze change impact.
174
+
175
+ ```text
176
+ cc impact [--files <paths>]
177
+ ```
178
+
179
+ ## verify
180
+
181
+ Verify task completion with evidence.
182
+
183
+ ```text
184
+ cc verify --task <id>
185
+ ```
186
+
187
+ ## seo
188
+
189
+ Audit SEO and generate llms.txt.
190
+
191
+ ```text
192
+ cc seo audit --url <url>
193
+ ```
194
+
195
+ ## debt-harvest
196
+
197
+ Scan source files for deferred debt.
198
+
199
+ ```text
200
+ cc debt-harvest
201
+ ```
202
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cc-codeconductor",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "A multi-agent orchestration framework for AI-assisted software engineering workflows.",
5
5
  "keywords": [
6
6
  "ai",
@@ -18,6 +18,7 @@
18
18
  "dist/index.js",
19
19
  "dist/library.js",
20
20
  "dist/**/*.d.ts",
21
+ "docs/generated/",
21
22
  "policy.yml",
22
23
  "presets/",
23
24
  "src/presets/"
@@ -48,6 +49,7 @@
48
49
  "build:cli": "bun build src/cli/main.ts --target=node --outfile=dist/index.js",
49
50
  "build:lib": "bun build src/index.ts --target=node --outfile=dist/library.js --packages=external",
50
51
  "build:types": "tsc -p tsconfig.lib.json --emitDeclarationOnly",
52
+ "generate:cli-docs": "bun run scripts/generate-cli-docs.ts",
51
53
  "test": "bun test",
52
54
  "test:fast": "bun run scripts/test-fast.ts",
53
55
  "typecheck": "tsc --noEmit",
@@ -0,0 +1,119 @@
1
+ ---
2
+ name: android-ui-design
3
+ description: >-
4
+ Design, implement, review, and audit Android Jetpack Compose UI/UX for phone
5
+ interfaces. Use when a request concerns concrete Compose layout, components,
6
+ interaction, accessibility, or visual behavior. Do not activate for framework
7
+ or dependency presence alone; non-UI Android work is excluded.
8
+ ---
9
+
10
+ # Android UI design
11
+
12
+ Apply this specialized guidance to Android phone interfaces built with Jetpack
13
+ Compose. Keep the active `cc-feature`, `cc-fix`, `cc-review`, or `cc-openspec`
14
+ workflow and its gates; this skill contributes UI/UX criteria, not a separate
15
+ workflow. Use the general `android` skill for architecture, dependency injection,
16
+ Media3, performance, testing, and other non-UI Android engineering.
17
+
18
+ ## Intake and boundaries
19
+
20
+ Identify the user goal, phone surface, affected interaction, supported Android
21
+ versions, and observable outcomes. Inspect the existing Compose components,
22
+ design tokens, navigation conventions, installed versions, tests, previews, and
23
+ available emulator or device tooling before proposing changes.
24
+
25
+ Preserve the established product visual system, including its components, color,
26
+ type, shape, spacing, and motion tokens. Material 3 is advisory guidance, not a
27
+ mandate to replace a deliberate product language. Suggest Material 3 changes with
28
+ their accessibility or usability benefit and wait for scope approval when they
29
+ would alter the visual direction.
30
+
31
+ The initial scope is phones. Do not invent tablet, foldable, desktop, or wearable
32
+ layouts. Still account for phone portrait and landscape orientation, window size
33
+ changes, display cutouts, system bars, and the soft keyboard or IME.
34
+
35
+ ## Design mode
36
+
37
+ Turn the request into a small interaction contract before implementation:
38
+
39
+ - Define hierarchy, content, spacing, phone layout, scroll and overflow behavior,
40
+ navigation, focus entry and return, gestures, and predictive back behavior.
41
+ - Specify applicable default, pressed, focused, disabled, pending or loading,
42
+ empty, success, error or failure, and offline states. State what changes and
43
+ what the user can do next; never imply success before it is known.
44
+ - Name the state owner. Prefer state hoisting, a single source of truth, and
45
+ unidirectional data flow (UDF); keep transient visual state local only when no
46
+ external owner needs to observe or control it.
47
+ - Design edge-to-edge intentionally with WindowInsets and system bars. Define IME
48
+ resize, pan, focus, dismissal, and restoration behavior for editable surfaces.
49
+ - Require at least 48dp touch targets, meaningful semantics, TalkBack labels and
50
+ actions, logical traversal or focus order, sufficient contrast, and usable font
51
+ scaling without clipped or hidden actions.
52
+ - Add motion only when it has a purpose such as continuity, spatial orientation,
53
+ feedback, or state change. Define start/end state, interruption, cancellation
54
+ or reversal, repeated or rapid input, and reduced-motion or reduced-animation
55
+ behavior that preserves essential information.
56
+
57
+ Use existing components and platform/Compose primitives before adding code or a
58
+ dependency. When alternatives are requested, compare only scoped options and make
59
+ the product-system and Material 3 tradeoffs explicit.
60
+
61
+ ## Implementation mode
62
+
63
+ Implement the accepted contract without expanding the visual language. Keep
64
+ composables focused, pass immutable UI state and event callbacks, and preserve
65
+ unidirectional data flow. Hoist state to the lowest common owner that needs to
66
+ read or write it. Do not duplicate navigation, loading, or failure truth across
67
+ the composition.
68
+
69
+ Prefer semantic Material/Compose controls over raw pointer input. When a custom
70
+ gesture is necessary, preserve accessible actions, minimum touch targets, visual
71
+ feedback, cancellation, and interoperability with scrolling. Consume insets once
72
+ at the correct boundary and verify that edge-to-edge content and IME transitions
73
+ do not obscure controls.
74
+
75
+ Write tests for observable behavior and state outcomes rather than modifier or
76
+ implementation details. Cover the relevant state transition, duplicate or rapid
77
+ input, disabled behavior, semantics, navigation/back behavior, and state
78
+ restoration. Use previews as design aids, not as proof of runtime interaction.
79
+
80
+ ## Review mode
81
+
82
+ Review the agreed surface against the interaction contract and existing Review
83
+ Report rules. Each finding needs a location, reproduction or evidence, user
84
+ impact, and proposed resolution. Treat contract and accessibility failures as
85
+ defects; classify unsupported aesthetic preferences as suggestions. Do not create
86
+ a new review axis or elevate a Material 3 preference over the product system.
87
+
88
+ Check state completeness, TalkBack semantics and traversal, 48dp touch targets,
89
+ contrast and font scaling, focus/IME behavior, edge-to-edge insets, gestures,
90
+ predictive back, orientation changes, state ownership/UDF, motion interruption,
91
+ reduced animation, and rapid repeated interaction as applicable.
92
+
93
+ ## Audit mode
94
+
95
+ A requested audit is read-only. Inspect only the agreed Compose phone surface and
96
+ report prioritized, evidence-backed findings; an audit is not permission to edit,
97
+ implement, modify, or automatically fix the UI. Keep out-of-scope improvements as
98
+ suggestions and create backlog work only when requested through the existing
99
+ workflow.
100
+
101
+ Distinguish code inspection, semantics tests, screenshots, and live emulator or
102
+ device interaction because they prove different things. If required visual,
103
+ emulator, or device evidence is unavailable, mark that validation pending with
104
+ the surface, steps, expected result, and limitation. Do not claim visual
105
+ validation or a completed acceptance criterion without executing the check.
106
+
107
+ ## Evidence and delivery
108
+
109
+ Report the observable outcomes checked, commands or tools used, results, and
110
+ limitations. A screenshot cannot prove TalkBack traversal, gesture interruption,
111
+ IME recovery, predictive back, or repeated-input behavior. Prefer a real phone or
112
+ phone emulator for those checks; otherwise leave precise pending verification.
113
+
114
+ Primary Android references: [Compose semantics](https://developer.android.com/develop/ui/compose/accessibility/semantics),
115
+ [accessibility defaults](https://developer.android.com/develop/ui/compose/accessibility/api-defaults),
116
+ [state and hoisting](https://developer.android.com/develop/ui/compose/state),
117
+ [window insets](https://developer.android.com/develop/ui/compose/system/insets),
118
+ [predictive back](https://developer.android.com/develop/ui/compose/system/predictive-back),
119
+ and [Compose accessibility testing](https://developer.android.com/develop/ui/compose/accessibility/testing).