Skip to content
cccskills
FreePublished on GitHub

ci-spend

The CI cost rules ($100/week of real money, all CI). Use when editing .github/workflows, adding a schedule or cron, dispatching a workflow, publishing a package version, hitting a billing block, or seeing a CI SPEND OFF TRACK line, ci-breaker issue or spend alert.

The English summary is being prepared. Showing the original description.

Works withGitHub
See how to install

Files included (1)

  • SKILL.md4.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

<!-- SYNCED COPY — do not edit here. Canonical: common-docs/skills/ci-spend/SKILL.md This file is distributed to every consuming repo by common-docs/meta/scripts/sync_skills.py. Edit the canonical, run the sync, and commit each repo. Edits made here are overwritten and lost. -->

ci-spend

<!-- rules:stamp -->

Rules from common-docs/policies/ci-spend.md — edit there, never here (python3 common-docs/meta/scripts/one_home.py --write).

  1. Ceiling: $100 a week of real money for building and shipping software. One total, never one service judged alone:
    • GitHub Actions actually billed (netAmount; organization AI-Matrix-Engine and personal armanisadeghi), never list price;
    • RunsOn's AWS cost (Cost Explorer, tag stack=runs-on);
    • CI subscriptions as a weekly share, 52 weeks a year (monthly x 12 / 52, yearly / 52): GitHub Enterprise seats (count and price read from GitHub), GitHub Pro, the RunsOn license (from its start date). Each line shows its $/week and its share of the total. Every price and the cap are billing.ci_spend.* knobs; no lane raises the cap. List price only forecasts when the free GitHub minutes run out: that is a future-billing alarm, never "off track".
  2. Cadence. Only aidream and ai-matrx ride the ~30-minute train. Every other app releases on meaningful change. Matrx Desktop: macOS builds only on Arman's Mac (never on GitHub), Windows/Linux at most twice a week. Matrx Local: paused, no builds. Overnight releases run hourly when main changed. No package version without a real content change. Waste to hunt first: cascading package republishes from small changes.
  3. Every workflow change states its cost. Each workflow has an entry in the repo's .github/ci-cost.json (trigger, runs/week, minutes, OS, $/week, benefit). check_workflow_runner_cost.py fails a workflow without one or with a stale one.
  4. Cost without benefit is a defect. Recognize it by these shapes:
    • Red runs repeated without a fix. The ci-breaker label pauses a workflow after 3 reds in a row.
    • Mac or Windows runners on push.
    • A schedule more frequent than the thing it watches changes.
    • Republishing or rebuilding unchanged artifacts.
    • Duplicate workflows doing one job (in one repo or across repos).
    • Polling or waiting on a paid runner.
    • A job with no timeout-minutes.
    • Manual dispatch loops. Every dispatch carries requested_by.
  5. Never work around a billing or spending block. No moving the job to another repo, account or runner. Stop and tell Arman in plain English.
  6. A spend report is the weekly total, then each component with its $/week and % of total, then the waste found and fixed (cascading package republishes from small changes first). The agent-facing notice stays silent unless the 7-day GitHub list-price figure (week_usd) is at least $200; below that only Arman and the owner session see alarms.
<!-- rules:stamp-end -->

The law is ci-spend.md; read it, it is short. How to apply it:

  1. Before touching a workflow, write its .github/ci-cost.json entry first (trigger, runs/week, minutes, OS, $/week, benefit). Run python3 scripts/check_workflow_runner_cost.py. If $/week has no benefit you can name, do not add the workflow.
  2. Prefer paths: filters, Linux runners, timeout-minutes, concurrency with cancel-in-progress, and a path or content-hash check before publishing.
  3. Dispatching a workflow: pass requested_by; never loop a dispatch; if a run goes red, fix it before dispatching again.
  4. Billing or spending block: stop. Do not move the job elsewhere. Tell Arman in plain English.
  5. Seen cost without benefit (any shape in the policy): fix it if it is yours, else one plain sentence to Arman: what, roughly how much, no benefit.
  6. Check spend: GET /ci-spend/status (the weekly total, each component's $/week and share, the cap), or the one-liner in the policy for GitHub alone. Off track means the weekly total of real money is over the cap; free minutes running out is future billing.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Admin debug system wiring for the floating AdminIndicator's live debug data and Copy Full Context. Use when adding debug visibility to a route or feature, wiring useDebugContext or the debug panel, capturing console errors, or enabling the copy-context workflow for a page.

The English summary is being prepared. Showing the original description.

armanisadeghi/ai-matrx3Updated Oct 22, 2026

Compact two-icon Copy / Copy-for-AI controls (components/agent-copy). Use when adding copy buttons to a row, card, list, or record; merging duplicate Copy/JSON/AI controls; continuing the copy rollout; or writing a Copy-for-AI payload. NOT for markdown content actions (use rich-document-actions).

The English summary is being prepared. Showing the original description.

armanisadeghi/ai-matrx3Updated Oct 22, 2026

Disclosing a surface's existing fixed AI jobs in the shell's top Agents menu. Use when a page, panel, overlay, or window already runs a mandate behind a button, assist, automatic action, or mode; when the agent-disclosure guard names a file; or during a surface check.

The English summary is being prepared. Showing the original description.

armanisadeghi/ai-matrx3Updated Oct 22, 2026

The watch-fix-rerun method for making an existing platform agent or automated process efficient and correct: baseline its ledger, run one unit yourself, fix the class behind every wasted call, rerun, record. Use when asked to improve, optimize, watch, or 'make efficient' an agent, a sandbox session, a sync job, or any recurring automated process.

The English summary is being prepared. Showing the original description.

armanisadeghi/ai-matrx3Updated Oct 22, 2026

Redux state for agent execution and firing agent shortcuts. Use when editing features/agents/redux/, building agent UI, creating a conversation, touching assembleRequest or NDJSON stream state, wiring agent-state selectors, adding a per-conversation capability, or triggering a shortcut from a button, menu, or code (useShortcutTrigger, launchAgentExecution).

The English summary is being prepared. Showing the original description.

armanisadeghi/ai-matrx3Updated Oct 22, 2026

The provision for a call site: the exhaustive menu of values that place in the code can realistically produce. Use before creating or fixing a mandate or agent that reasons about more than its own input, when deciding whether an agent can answer at all with what it is sent, or when its output 'looks right' but nobody checked it could be. NOT for building the agent (use create-agent).

The English summary is being prepared. Showing the original description.

armanisadeghi/ai-matrx3Updated Oct 22, 2026

See all skills by armanisadeghi

Report a problem with this skill