{"id":50673939,"url":"https://github.com/pasunboneleve/oiticica-style","last_synced_at":"2026-06-08T14:03:12.694Z","repository":{"id":359274150,"uuid":"1239384743","full_name":"pasunboneleve/oiticica-style","owner":"pasunboneleve","description":"A century-old style manual, converted into a taxonomy of Codex writing skills.","archived":false,"fork":false,"pushed_at":"2026-05-21T06:08:34.000Z","size":240,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-21T12:17:43.286Z","etag":null,"topics":["agents","codex","developer-tools","editing","llm-tools","oiticica","prose","skills","style-guide","writing-style"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pasunboneleve.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-15T03:29:41.000Z","updated_at":"2026-05-21T06:08:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pasunboneleve/oiticica-style","commit_stats":null,"previous_names":["pasunboneleve/oiticica-style"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/pasunboneleve/oiticica-style","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pasunboneleve%2Foiticica-style","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pasunboneleve%2Foiticica-style/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pasunboneleve%2Foiticica-style/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pasunboneleve%2Foiticica-style/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pasunboneleve","download_url":"https://codeload.github.com/pasunboneleve/oiticica-style/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pasunboneleve%2Foiticica-style/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34065354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","codex","developer-tools","editing","llm-tools","oiticica","prose","skills","style-guide","writing-style"],"created_at":"2026-06-08T14:03:10.962Z","updated_at":"2026-06-08T14:03:12.686Z","avatar_url":"https://github.com/pasunboneleve.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oiticica style skills\n\n[![Skill CI](https://github.com/pasunboneleve/oiticica-style/actions/workflows/skill-ci.yml/badge.svg)](https://github.com/pasunboneleve/oiticica-style/actions/workflows/skill-ci.yml?query=event%3Apull_request)\n[![Release](https://img.shields.io/github/v/tag/pasunboneleve/oiticica-style?label=release)](https://github.com/pasunboneleve/oiticica-style/tags)\n\nA catalogue of [Codex](https://developers.openai.com/codex/cli) writing skills\nadapted from José Oiticica’s *Manual de Estilo*.\n\nOiticica’s method is unusually agent-friendly: name one virtue or vice of\nstyle, define it sharply, then test prose against examples. This repository\ntranslates that method into modern English skills for Codex.\n\nThe result is not a single “write better” instruction. It is a working taxonomy\nof style: correctness, concision, clarity, harmony, originality, vigor, and the\nsmaller failures that damage them.\n\n\u003cbr\u003e\n\n\u003cp align=\"center\" style=\"margin: 0.35rem 0 0.35rem 0;\"\u003e\n  \u003cimg\n      src=\"assets/jose-oiticica-dops.jpg\"\n      alt=\"José Oiticica, DOPS prontuário photograph\"\n      style=\"width:58.5%;\"\n      /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\" style=\"margin: 0 0 1.25rem 0;\"\u003e\n    \u003csub\u003eJosé Oiticica, philologist, teacher, anarchist, and author of \u003cem\u003eManual de Estilo\u003c/em\u003e, in a 1924 police-archive photograph.\u003c/sub\u003e\n\u003c/p\u003e\n\n## Why this exists\n\nMost writing advice compresses too much. “Be clear” is true, but useless unless\nclarity is broken into inspectable failures: ambiguity, anacoluthon,\naccumulation, weak punctuation, bad rhythm, vague diction.\n\nOiticica’s method gives agents a better unit of work than a general prose\nsummary. Each skill isolates one writing operation so an agent can apply, test,\nand revise against it.\n\nA century-old style manual becomes a working taxonomy of Codex skills.\n\n## Quickstart\n\nLink the skills into Codex and Claude:\n\n```bash\nbash scripts/link_skills.sh\n```\n\nThis creates symlinks under:\n\n```bash\n~/.codex/skills\n~/.claude/skills\n```\n\nThe script links only skill directories. It does **not** install `AGENTS.md`,\n`CLAUDE.md`, or project-level instructions.\n\nAfter linking, start Codex and invoke a skill by name, for example:\n\n```text\nUse oiticica-style to diagnose and revise this paragraph.\n```\n\nor invoke a narrower principle directly:\n\n```text\nUse oiticica-concision to tighten this paragraph without losing meaning.\n```\n\nor:\n\n```text\nUse oiticica-ambiguity to find sentences that allow more than one reading.\n```\n\n## Skills\n\n### General router\n\n- [`oiticica-style`](src/oiticica-style/SKILL.md): Orchestrates the principle skills by identifying genre, eliminating defects, and applying qualities only where the passage needs them.\n\n### Forms of composition\n\n- [`oiticica-description`](src/oiticica-description/SKILL.md): Description is a sequence of aspects.\n- [`oiticica-narration`](src/oiticica-narration/SKILL.md): Narration is a sequence of facts or episodes.\n- [`oiticica-dissertation`](src/oiticica-dissertation/SKILL.md): Dissertation is a sequence of opinions.\n\n### Major qualities\n\n- [`oiticica-style-qualities`](src/oiticica-style-qualities/SKILL.md): Style has six essential qualities: correctness, concision, clarity, harmony, originality, and vigor.\n- [`oiticica-correctness`](src/oiticica-correctness/SKILL.md): Correctness observes the grammatical tradition of the language being used.\n- [`oiticica-concision`](src/oiticica-concision/SKILL.md): Concision expresses aspects, facts, or opinions with the fewest words compatible with the other qualities.\n- [`oiticica-clarity`](src/oiticica-clarity/SKILL.md): Clarity transmits thought in the form most easily understood.\n- [`oiticica-harmony`](src/oiticica-harmony/SKILL.md): Harmony is the euphonic adjustment of words in the phrase and phrases in the period.\n- [`oiticica-originality`](src/oiticica-originality/SKILL.md): Originality presents aspects, facts, or opinions personally, without imitating another's processes or mannerisms.\n- [`oiticica-vigor`](src/oiticica-vigor/SKILL.md): Vigor is energy of expression in aspects, episodes, or conceptions.\n\n### Faults of correctness\n\n- [`oiticica-solecism`](src/oiticica-solecism/SKILL.md): Solecism is an error of syntax.\n- [`oiticica-spelling`](src/oiticica-spelling/SKILL.md): Cacography is an error of writing; in English practice, treat it as spelling and orthographic error.\n- [`oiticica-word-formation`](src/oiticica-word-formation/SKILL.md): Deformation is an error in the form of a word.\n- [`oiticica-confused-words`](src/oiticica-confused-words/SKILL.md): Crossing is the exchange of similar words.\n- [`oiticica-foreignism`](src/oiticica-foreignism/SKILL.md): Barbarism is abusive use of foreign words or constructions.\n- [`oiticica-latinism`](src/oiticica-latinism/SKILL.md): Latinism is foreignness drawn from Latin diction or syntax.\n- [`oiticica-gallicism`](src/oiticica-gallicism/SKILL.md): Gallicism is foreignness drawn from French diction or syntax; in English, treat any imported construction by English idiom.\n- [`oiticica-archaism`](src/oiticica-archaism/SKILL.md): Archaism is use of an old word or construction now out of use.\n- [`oiticica-neologism`](src/oiticica-neologism/SKILL.md): Neologism is a recently created or introduced word or expression.\n\n### Faults of clarity\n\n- [`oiticica-ambiguity`](src/oiticica-ambiguity/SKILL.md): Ambiguity is a structure that allows more than one meaning when only one is intended.\n- [`oiticica-anacoluthon`](src/oiticica-anacoluthon/SKILL.md): Anacoluthon is a break in logical order, usually by changing the expected subject or construction.\n- [`oiticica-accumulation`](src/oiticica-accumulation/SKILL.md): Accumulation is excess and crossing of aspects, facts, or opinions in one period.\n- [`oiticica-brachylogy`](src/oiticica-brachylogy/SKILL.md): Brachylogy is the opposite vice of accumulation: too many short, disconnected phrases with forced pauses.\n- [`oiticica-precision`](src/oiticica-precision/SKILL.md): Precision uses the exact word or construction for an idea or emotion.\n- [`oiticica-semicolon`](src/oiticica-semicolon/SKILL.md): The semicolon separates related clauses where a comma is too weak and a period too final.\n- [`oiticica-comma`](src/oiticica-comma/SKILL.md): The comma marks coordination, interpolation, parenthesis, apposition, enumeration, ellipsis, inversion, and similar local relations.\n\n### Faults and resources of sound\n\n- [`oiticica-cacophony`](src/oiticica-cacophony/SKILL.md): Cacophony is an ugly or inconvenient sound produced by word contact.\n- [`oiticica-assonance`](src/oiticica-assonance/SKILL.md): Assonance is repetition of vowel sounds.\n- [`oiticica-alliteration`](src/oiticica-alliteration/SKILL.md): Alliteration is repetition of consonant sounds.\n- [`oiticica-hiatus`](src/oiticica-hiatus/SKILL.md): Hiatus is collision of vowel sounds in adjacent syllables or words.\n- [`oiticica-meter`](src/oiticica-meter/SKILL.md): Meter is measured language; Oiticica uses scansion to train the ear for rhythm.\n- [`oiticica-prose-rhythm`](src/oiticica-prose-rhythm/SKILL.md): Harmony in prose comes from varied rhythmic groups arranged to fit sense.\n\n### Force and figure\n\n- [`oiticica-image`](src/oiticica-image/SKILL.md): An image is an aesthetic relation between objects, phenomena, or actions.\n- [`oiticica-inversion`](src/oiticica-inversion/SKILL.md): Inversion alters logical word order to give relief, rhythm, or emphasis.\n- [`oiticica-antithesis`](src/oiticica-antithesis/SKILL.md): Antithesis is the opposition of two truths that clarify each other.\n\n## What is included\n\nEach skill contains:\n\n- `SKILL.md` — the rule, boundary, examples, and application notes.\n- `agents/openai.yaml` — agent UI metadata.\n- `references/notes.md` — source notes identifying the public-domain English texts used for positive and negative examples.\n\nPositive examples are sourced from public-domain English texts, such as\nShakespeare, the Federalist Papers, and other classic works. Source notes mark\nwhether each eval passage is quoted, paraphrased from a source model, or\ninvented as a weak contrast.\n\n## Development\n\nValidate the generated skills and README skill coverage:\n\n```bash\npython3 -m py_compile scripts/generate_skills.py\npython3 scripts/generate_skills.py --check\nbash -n scripts/link_skills.sh\ndirenv exec . bash scripts/validate_skills.sh oiticica-concision\n```\n\nUse `scripts/validate_skills.sh` with changed skill names so unrelated skill\nevals do not run. The wrapper downloads the latest released `skilpel`\nexecutable to `~/.local/bin/skilpel` and prints human-readable validation\nresults by default; set `SKILPEL_OUTPUT=json` when a machine-readable summary\nis needed.\n\n## Contributing\n\nThis repository is generated from structured source material. Do not edit\ngenerated skill files casually.\n\nSee [`docs/CONTRIBUTING.md`](docs/CONTRIBUTING.md) for how to add a skill,\nchoose public-domain English examples, regenerate files, and run validation.\n\n## License\n\nCode and original text in this repository are licensed under GPL-3.0-or-later.\n\nArchival images are not covered by the repository software license unless\nexplicitly stated. The José Oiticica DOPS image is reproduced as a historical\narchival document with source attribution.\n\nJosé Oiticica, police/prontuário photograph, 1924. Source: Arquivo Público do\nEstado do Rio de Janeiro (APERJ), Prontuário do Departamento de Ordem Política\ne Social (DOPS), via CeDInCI.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpasunboneleve%2Foiticica-style","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpasunboneleve%2Foiticica-style","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpasunboneleve%2Foiticica-style/lists"}