Skip to content
cccskills
FreePublished on GitHub

code

Implement or modify Python, JavaScript, SCSS, templates, CLI, HTTP, logging, or tests. Use for code changes that require architecture, style, testing, and verification conventions.

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

See how to install

Files included (1)

  • SKILL.md3.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Code in junior.guru

Design and style

  • Aim for Clean Architecture (textual slides): imperative shell wrapping functional core.
  • Use Python type hints everywhere.
  • Keep cyclomatic complexity low.
  • Order module functions from highest-level entry points to progressively smaller helpers. Exception: functions that must exist earlier because module import uses them.
  • Use httpx2 for HTTP requests. Do not add direct use of requests or plain httpx; those remain transitive dependencies.
  • Use click for CLI definitions.
  • Modern Python and walrus operators are welcome. Follow Ruff UP rules.
  • Keep Ruff target version compatible with requires-python.
  • In key= callbacks such as sorted(), max(), and min(), prefer attrgetter or itemgetter over lambda when applicable.
  • Do not use if TYPE_CHECKING: blocks. Prefer direct imports and annotations.
  • Do not place imports inside functions or methods. Keep them at module level.
  • When a comment at the start of a function documents the whole function, write it as a docstring, not a leading # comment block. Keep # comments for individual steps inside the function.
  • In SCSS, prefer $spacer over equivalent map.get($spacers, 3).

Tests

  • Develop using red-green TDD.
  • Favor many fast unit tests for functional core and few integration tests for imperative shell.
  • Tests must not depend on network, current time, or similar external state. Networked smoke/e2e tests must not run by default.
  • For remote HTML, download representative pages as fixtures under tests and test against those fixtures. Add multiple fixtures for meaningful edge cases.
  • Aim for one descriptive assertion per test function unless impractical, such as checking several small parts of one complex structure.
  • For stub objects, prefer types.SimpleNamespace over named tuples. Exception: use a named tuple when the stub must be hashable, e.g. when collected into a set.
  • Use @pytest.mark.parametrize when applicable. Include spaces after commas in parameter names, for example "secondary_school, university, expected".

Logging

  • Set LOG_LEVEL=debug to show DEBUG logs. Default level is INFO; selected muted loggers default to WARNING. Configuration lives in loggers.py.
  • Log potentially sensitive diagnostic details only at DEBUG because CI normally logs INFO.
  • Never log actual secrets or other data unsafe for CI output. CI may temporarily enable DEBUG while diagnosing failures that cannot be reproduced locally.

Verification

  • After any code changes, run uv run jg tidy --code before finishing.
  • Run uv run jg test only after substantial Python or JavaScript changes.
  • After major SCSS or JavaScript changes, consider uv run jg web build-static to catch asset build failures.
  • After template, context.py, or related rendering changes, consider uv run jg web build to verify site generation.

Sync safety

Never run uv run jg sync ... without asking user first. When authorized and necessary, use uv run jg sync --no-deps ... to avoid triggering full dependency pipeline.

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

Look up junior.guru web analytics (traffic, pageviews, visitors, top pages, referrers, countries, UTM sources, devices, events) via public Simple Analytics, and Google search performance (queries, impressions, clicks, positions, CTR) from Search Console data saved in the repo. Use whenever a task needs data about website visits, page popularity, SEO, or what people search for.

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

juniorguru/junior.guru45Updated Oct 20, 2026

Diagnose CircleCI failures for a branch, PR, and scheduled nightly builds. Use when asked to check CI, a build, or nightly; report evidence and suggested fixes without opening a PR.

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

juniorguru/junior.guru45Updated Oct 20, 2026

Write or edit Czech junior.guru handbook content under src/jg/coop/web/docs/handbook. Use for drafting, rewriting, structuring, or reviewing handbook pages while preserving their voice, inclusivity, practical focus, and brand style.

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

juniorguru/junior.guru45Updated Oct 20, 2026

images

Free

Add, edit, generate, or organize image assets under src/jg/coop/images. Use for avatars, logos, posters, thumbnails, interest icons, project images, image formats, dimensions, cropping, or generated-image directories.

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

juniorguru/junior.guru45Updated Oct 20, 2026

Add or edit junior.guru interview stories and participant photos under src/jg/coop/web/docs/stories and src/jg/coop/images/avatars-participants. Use for importing an interview from Google Docs, formatting story Markdown, or preparing its portrait.

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

juniorguru/junior.guru45Updated Oct 20, 2026

tips

Free

Create or edit Czech club-member tips in src/jg/coop/data/tips for Discord synchronization. Use for tip content, filenames, headings, emoji identity, symbolic Discord references, voice, or parser compatibility.

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

juniorguru/junior.guru45Updated Oct 20, 2026

See all skills by juniorguru

Report a problem with this skill