Rules
111 rules — IDE-style rules across your playbooks
| Title | Slug | Playbook | Actions |
|---|---|---|---|
| Big Picture Before Detail | big-picture-before-detail |
Delivery Constraint & Opportunity Analysis | |
| Eliminate Before Automate Before Delegate | eliminate-before-automate-before-delegate |
Delivery Constraint & Opportunity Analysis | |
| Execute by Workflow Order | execute-by-step-labels |
Delivery Constraint & Opportunity Analysis | |
| Fix the Constraint, Not Everything | fix-the-constraint-not-everything |
Delivery Constraint & Opportunity Analysis | |
| GitHub OIDC Trust Both Sub Shapes | github-oidc-trust-both-sub-shapes |
Delivery Constraint & Opportunity Analysis | |
| Headcount Is an Assumptions Table | headcount-is-an-assumptions-table |
Delivery Constraint & Opportunity Analysis | |
| Infrastructure as Code First | infrastructure-as-code-first |
Delivery Constraint & Opportunity Analysis | |
| Least-Privilege IAM and Encryption by Default | least-privilege-iam-and-encryption-by-default |
Delivery Constraint & Opportunity Analysis | |
| Lifecycle Cold Data to Cheaper Tiers | lifecycle-cold-data-to-cheaper-tiers |
Delivery Constraint & Opportunity Analysis | |
| Never Name GitHub Actions Secrets GITHUB_* | never-name-gha-secrets-github-prefix |
Delivery Constraint & Opportunity Analysis | |
| No AI on Low Impact Just Because Easy | no-ai-on-low-impact-just-because-easy |
Delivery Constraint & Opportunity Analysis | |
| No EMR or Persistent Clusters for Ingestion | no-emr-or-persistent-clusters-for-ingestion |
Delivery Constraint & Opportunity Analysis | |
| No Huginn MCP Yet — Treat as Manual | no-huginn-mcp-yet-treat-as-manual |
Delivery Constraint & Opportunity Analysis | |
| Parquet Over Raw Formats | parquet-over-raw-formats |
Delivery Constraint & Opportunity Analysis | |
| Partition by Source and Date at Minimum | partition-by-source-and-date-at-minimum |
Delivery Constraint & Opportunity Analysis | |
| Partition Keys Stay Out of Parquet Body | partition-keys-out-of-parquet-body |
Delivery Constraint & Opportunity Analysis | |
| S3 Bucket Keys With SSE-KMS | s3-bucket-keys-with-sse-kms |
Delivery Constraint & Opportunity Analysis | |
| Streamlit Mart on ECS ALB Never App Runner | streamlit-mart-ecs-alb-not-apprunner |
Delivery Constraint & Opportunity Analysis | |
| Touch Time Is Not Wait Time | touch-time-is-not-wait-time |
Delivery Constraint & Opportunity Analysis | |
| Always check r together with its p-value | always-check-r-together-with-its-p-value |
EDA with Python, Pandas and Jupyter | |
| A non-significant linear correlation doesn't rule out a relationship | a-non-significant-linear-correlation-doesnt-rule-out-a-relationship |
EDA with Python, Pandas and Jupyter | |
| Avoid glyph-based multivariate displays | avoid-glyph-based-multivariate-displays |
EDA with Python, Pandas and Jupyter | |
| Bar-graph zero baseline | bar-graph-zero-baseline |
EDA with Python, Pandas and Jupyter | |
| Box plots beat all else for comparing distributions | box-plots-beat-all-else-for-comparing-distributions |
EDA with Python, Pandas and Jupyter | |
| Check for spurious or missed patterns before concluding | check-for-spurious-or-missed-patterns-before-concluding |
EDA with Python, Pandas and Jupyter | |
| Choose the right accuracy metric for the use case | choose-the-right-accuracy-metric-for-the-use-case |
EDA with Python, Pandas and Jupyter | |
| Colorblind-safe, non-black-midpoint heatmap coloring | colorblind-safe-non-black-midpoint-heatmap-coloring |
EDA with Python, Pandas and Jupyter | |
| Confirm statistics with a visualization | confirm-statistics-with-a-visualization |
EDA with Python, Pandas and Jupyter | |
| Correlation is not causation | correlation-is-not-causation |
EDA with Python, Pandas and Jupyter | |
| Data science is science first | data-science-is-science-first |
EDA with Python, Pandas and Jupyter | |
| Design for working-memory limits | design-for-working-memory-limits |
EDA with Python, Pandas and Jupyter | |
| Dot plot instead of narrowed bars | dot-plot-instead-of-narrowed-bars |
EDA with Python, Pandas and Jupyter | |
| Justify the imputation method by domain knowledge | justify-the-imputation-method-by-domain-knowledge |
EDA with Python, Pandas and Jupyter | |
| k is an analyst's judgment call | k-is-an-analysts-judgment-call |
EDA with Python, Pandas and Jupyter | |
| Log scale or % change for comparing growth rates | log-scale-or-change-for-comparing-growth-rates |
EDA with Python, Pandas and Jupyter | |
| map() is not vectorized | map-is-not-vectorized |
EDA with Python, Pandas and Jupyter | |
| Merge for complementary data, concat for similar data | merge-for-complementary-data-concat-for-similar-data |
EDA with Python, Pandas and Jupyter | |
| Missing values can't be dropped cell-by-cell | missing-values-cant-be-dropped-cell-by-cell |
EDA with Python, Pandas and Jupyter | |
| Model quality must be measured, not assumed | model-quality-must-be-measured-not-assumed |
EDA with Python, Pandas and Jupyter | |
| Never plot missing values as zero | never-plot-missing-values-as-zero |
EDA with Python, Pandas and Jupyter | |
| Never touch test data while building a model | never-touch-test-data-while-building-a-model |
EDA with Python, Pandas and Jupyter | |
| Over-plotting remedy order | over-plotting-remedy-order |
EDA with Python, Pandas and Jupyter | |
| pandas correlation lacks significance testing | pandas-correlation-lacks-significance-testing |
EDA with Python, Pandas and Jupyter | |
| Pie charts underperform bar graphs | pie-charts-underperform-bar-graphs |
EDA with Python, Pandas and Jupyter | |
| Precision hierarchy of pre-attentive attributes | precision-hierarchy-of-pre-attentive-attributes |
EDA with Python, Pandas and Jupyter | |
| Prefer scriptable, reproducible pipelines | prefer-scriptable-reproducible-pipelines |
EDA with Python, Pandas and Jupyter | |
| Recommended train/test split is 70:30 | recommended-traintest-split-is-7030 |
EDA with Python, Pandas and Jupyter | |
| Resistant statistics for skewed/outlier-prone data | resistant-statistics-for-skewedoutlier-prone-data |
EDA with Python, Pandas and Jupyter | |
| Round numbers on axes | round-numbers-on-axes |
EDA with Python, Pandas and Jupyter | |
| Running averages over single trend lines for time series | running-averages-over-single-trend-lines-for-time-series |
EDA with Python, Pandas and Jupyter | |
| Scale variables before clustering | scale-variables-before-clustering |
EDA with Python, Pandas and Jupyter | |
| Square scatterplot aspect ratio | square-scatterplot-aspect-ratio |
EDA with Python, Pandas and Jupyter | |
| Trellis consistency | trellis-consistency |
EDA with Python, Pandas and Jupyter | |
| Trend-line model matching | trend-line-model-matching |
EDA with Python, Pandas and Jupyter | |
| Validate regression by comparing train vs. test fit | validate-regression-by-comparing-train-vs-test-fit |
EDA with Python, Pandas and Jupyter | |
| Watch for duplicate keys after vertical concat | watch-for-duplicate-keys-after-vertical-concat |
EDA with Python, Pandas and Jupyter | |
| Add Todos For Incomplete Items | do-add-todos-for-incomplete-items |
Junior Edda | |
| Assert Agent Story | assert-agent-story |
Junior Edda | |
| Assert Log Story | assert-log-story |
Junior Edda | |
| Band → Ticket Type Mapping | band-ticket-type-mapping |
Junior Edda | |
| Cadence and Iteration Length by Team Maturity | cadence-and-iteration-length-by-team-maturity |
Junior Edda | |
| Charter Is Source of Truth for Variables | charter-is-source-of-truth-for-variables |
Junior Edda | |
| Check Before Deleting | do-check-before-deleting |
Junior Edda | |
| Check Previous Commits | do-check-previous-commits |
Junior Edda | |
| Continuous Testing | do-continuous-testing |
Junior Edda | |
| Diagrams Element By Element | do-diagrams-element-by-element |
Junior Edda | |
| Docstring Format | do-docstring-format |
Junior Edda | |
| Fan Out Independent Work | fan-out-independent-work |
Junior Edda | |
| Fix Tests | do-fix-tests |
Junior Edda | |
| Follow Commit Convention | do-follow-commit-convention |
Junior Edda | |
| Github Issues | do-github-issues |
Junior Edda | |
| Import On Module Level | do-import-on-module-level |
Junior Edda | |
| Informative Logging | do-informative-logging |
Junior Edda | |
| Keep Docstrings Consistent | keep-docstrings-consistent |
Junior Edda | |
| Look Via Human Eye | do-look-via-human-eye |
Junior Edda | |
| Never Delete Mindlessly | never-delete-mindlessly |
Junior Edda | |
| Not Go Into Debugging Loops | do-not-go-into-debugging-loops |
Junior Edda | |
| Not Mock In Integration Tests | do-not-mock-in-integration-tests |
Junior Edda | |
| One Ticket Per Concern | one-ticket-per-concern |
Junior Edda | |
| Plan Before Doing | do-plan-before-doing |
Junior Edda | |
| Pull Frequently | do-pull-frequently |
Junior Edda | |
| Pytest | pytest |
Junior Edda | |
| Release Roadmap Is Aspirational | release-roadmap-is-aspirational |
Junior Edda | |
| Runner | do-runner |
Junior Edda | |
| Semantic Versioning On Ui Elements | do-semantic-versioning-on-ui-elements |
Junior Edda | |
| Skeletons First | do-skeletons-first |
Junior Edda | |
| Small Increments | do-small-increments |
Junior Edda | |
| Test First | do-test-first |
Junior Edda | |
| Test Fixture Data Management | do-test-fixture-data-management |
Junior Edda | |
| Ticket Lifecycle Transitions | ticket-lifecycle-transitions |
Junior Edda | |
| Tooltips | tooltips |
Junior Edda | |
| Update Tests After Bugfixing | do-update-tests-after-bugfixing |
Junior Edda | |
| Validate Api Contracts | do-validate-api-contracts |
Junior Edda | |
| Variable Band Scale Flexibility | variable-band-scale-flexibility |
Junior Edda | |
| View Drawio Diagrams | do-view-drawio-diagrams |
Junior Edda | |
| Write Concise Methods | do-write-concise-methods |
Junior Edda | |
| Write Scenarios | do-write-scenarios |
Junior Edda | |
| Artifact types: use Document as universal fallback | artifact-types-use-document-as-universal-fallback |
Playbook for Playbooks | |
| Goals go in descriptions | goals-go-in-descriptions |
Playbook for Playbooks | |
| Granularity rule | granularity-rule |
Playbook for Playbooks | |
| Loose mapping for unmappable content | unmappable-content-becomes-a-rule |
Playbook for Playbooks | |
| Make implicit agents explicit — only when useful | make-implicit-agents-explicit |
Playbook for Playbooks | |
| Naming convention | naming-convention |
Playbook for Playbooks | |
| No release without intern test | no-release-without-intern-test |
Playbook for Playbooks | |
| Single-pass extraction preferred | single-pass-extraction-preferred |
Playbook for Playbooks | |
| Source fidelity | source-fidelity |
Playbook for Playbooks | |
| Always add backward edges | always-add-backward-edges |
Program Graphs for Code Analysis | |
| Code must be fully compilable | code-must-be-fully-compilable |
Program Graphs for Code Analysis | |
| Randomly sample supertypes during training | randomly-sample-supertypes-during-training |
Program Graphs for Code Analysis | |
| Split dataset by file, not by example | split-dataset-by-file-not-by-example |
Program Graphs for Code Analysis | |
| Use exactly 8 GGNN propagation steps | use-exactly-8-ggnn-propagation-steps |
Program Graphs for Code Analysis |