Skip to main content

implementing-code

Implement scientific analysis code with quality and correctness following research workflow standards. Use when writing research code, implementing algorithms, creating analysis scripts, or developing scientific computations. Triggers on: "implement", "write code", "code this up", "analysis script", "algorithm", "compute", "calculate", or any request to write or implement scientific/numerical code.

Informations de source

Dépôt
cailmdaley/skills
Dernière activité de la source
12 février 2026 à 07:55
Langue détectée de SKILL.md
anglais
Étoiles
5
Forks
2

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
implementing-code
description
Implement scientific analysis code with quality and correctness following research workflow standards. Use when writing research code, implementing algorithms, creating analysis scripts, or developing scientific computations. Triggers on: "implement", "write code", "code this up", "analysis script", "algorithm", "compute", "calculate", or any request to write or implement scientific/numerical code.
# Implementing Code **Core philosophy**: Write it right the first time — clean, concise, conceptually dense code that doesn't need editing afterward. Zero linting violations (ruff or project-specified tools). Check CLAUDE.md for project-specific standards. ## Conceptual Density Fit as many related operations into one line as possible, where each line has an understandable big-picture purpose. Each line = one complete concept. 88 char max (ruff default). ```python # Inline calculations in dict construction — not scattered assignments results = { "chi2_E": hartlap_factor * (En @ np.linalg.solve(cov_E, En)), "pte_B": 1 - stats.chi2.cdf(chi2_B, nmodes), "cov": np.cov(np.array(samples).T), } # Eliminate repetition with comprehensions chi_E, chi_B, chi_EB = [ np.sum(signal**2 / noise**2) for signal, noise in zip((ee, bb, eb), (noise_ee, noise_bb, noise_eb)) ] # Consolidate repeated plotting blocks into loops for ax, (cl, err, fmt, label) in zip(axes, plot_data): ax.errorbar(ell_bins, cl, yerr=err, fmt=fmt) ax.set(xlabel=r"$\ell$", ylabel=label, title=f"{label} Power Spectrum") ``` ### Concise conditionals ```python # One-line conditionals over verbose if/else blocks n_eff = n_samples if cov_path_int is not None else npatch version_results = results_list[idx] or self.calculate_pure_eb() output_path = user_path or generate_default_path() # Short-circuit execution (var_method == "semianalytic") and self.calculate_semianalytic_cov() ``` ### Natural line breaking When code exceeds 88 chars, break at logical boundaries: - Comprehensions: after `[` and before `for` - Function calls: at commas between argument groups - Dicts: one key-value pair per line - Chained operations: at method calls or operators ## Anti-Patterns - **Unnecessary intermediates**: `temp = solve(A, b); result = factor * temp` -- combine into one conceptual line - **Scattered dict assignments**: `results["a"] = a; results["b"] = b` -- use dict construction with inline calculations - **Verbose conditionals**: 4-line if/else for simple assignment -- use ternary or `or` - **Defensive `.get()` with defaults**: `config.get("key", default)` hides missing config -- use `config["key"]` to fail fast - **Unnecessary try/except**: let errors propagate; missing files and bad inputs are real problems - **Session-specific comments**: "per your request", "switched to new method" -- comments should be timeless ## Comment Philosophy Comments explain *why* and *context*, never *what*. Good: `# Hartlap correction for finite sample bias`. Bad: `# Create numpy array`. Remove artifacts like "change to scipy implementation" from library code. ## Error Handling Trust scientific libraries to validate their domains. Skip defensive programming. Let errors propagate -- failed fast is better than hidden bugs. Use defensive patterns only for known edge cases with clear scientific justification. ## Validation - Spot-check that code runs without crashing - Test with toy data where feasible - Extended validation (literature comparison, edge cases) only when requested - Focus on "does it work" over exhaustive test suites ## Working Agreements - Before implementing numerical algorithms, think through stability and convergence - Deliver working code, basic validation, and integration notes (if connecting to existing code)
Voir sur GitHub