cci-orchestration

Configure and run CumulusCI tasks and flows for Salesforce Revenue Cloud org builds.

33|12|Updated Sep 24, 2024
One-click install
npx skills add https://github.com/bgaldino/rlm-base-dev --skill cci-orchestration-bgaldino
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cci-orchestration
Source: https://github.com/bgaldino/rlm-base-dev/tree/main/.cursor/skills/cci-orchestration
Command: npx skills add https://github.com/bgaldino/rlm-base-dev --skill cci-orchestration-bgaldino

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires cumulusci, requests, and includes references (resource) components.

What problem does it solve? Automating a Salesforce Revenue Cloud environment requires coordinating hundreds of CumulusCI tasks, flows, feature flags, and org aliases, where small mistakes like mixing CCI and SF CLI aliases or misplacing a when: clause cause silent failures and broken builds. ## Core Features & Use Cases - CCI CLI and org identity guidance: Explains task, flow, and org commands plus the critical distinction between CCI aliases (beta) and SF CLI aliases (rlm-base__beta) to prevent "org not found" errors. - Project configuration reference: Documents the cumulusci.yml structure including 41 feature flags, YAML anchors, ~197 tasks, and the 34-step prepare_rlm_org flow hierarchy with correct when: clause placement on task steps only. - Custom task authoring patterns: Provides base class selection rules (BaseTask, SFDXBaseTask, SFDXOrgTask), the salesforce_task = True requirement, REST API patterns, and Robot Framework wrapper conventions for writing Python CCI tasks. - Use Case: When adding a new deployment step to the build, use this Skill to register the task in cumulusci.yml with proper group and description, gate it with the right feature flag, and regenerate the auto-generated reference files. ## Quick Start Ask the agent to read the cci-orchestration skill and explain how to add a new feature-flagged task to the prepare_rlm_org flow in cumulusci.yml.

Frequently Asked Questions about cci-orchestration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a CumulusCI task or flow against a Salesforce org?

Use `cci task run <task_name> --org <alias>` for single tasks and `cci flow run <flow_name> --org <alias>` for flows. The main entry point for full org setup is `cci flow run prepare_rlm_org --org beta`.

Why does sf CLI fail with org not found when using my CCI alias?

CCI and the sf CLI maintain separate org registries with different alias formats. CCI registers orgs with sf using a prefixed alias like `rlm-base__beta`, so `sf data query --target-org beta` fails; use the prefixed alias or the full username instead.

How do I gate a CumulusCI flow step with a feature flag?

Add a `when:` clause referencing `project_config.project__custom__<flag>`, but only on `task:` steps. CCI silently discards `when:` on `flow:` steps, so gate each child task step of the sub-flow instead.

Which base class should I use when writing a custom CCI Python task?

Use `BaseTask` for local tasks, Robot wrappers, and direct REST API calls via `self.org_config`. Use `SFDXOrgTask` for sf CLI commands against an org; bare `SFDXBaseTask` is the no-org variant and drops `--org` unless you set `salesforce_task = True`.

Can I pass an access token to sf CLI commands in a CCI task?

No, never pass `access_token` to sf CLI commands because it fails authentication and leaks secrets in logs. Use `self.org_config.username` for CLI `--target-org` arguments and reserve `access_token` plus `instance_url` for direct REST API calls.

How do I update the CCI reference docs after editing cumulusci.yml?

Run `python scripts/ai/generate_cci_reference.py` to regenerate the auto-generated reference files. Subset options include `--tasks-only`, `--flows-only`, `--flags-only`, and `--dry-run`.