Create a README entry
Turn project evidence into a concise, contribution-ready entry. Read the current
CONTRIBUTING.md, AGENTS.md, and README.md from the repository root every time;
they are the source of truth for eligibility, format, and existing categories.
Resolve repository-relative paths from that root, not this skill directory.
Resolve the input
- Project URL: follow the project website, repository, or package page to its
canonical source and documentation.
- GitHub issue URL or number: use GitHub MCP to read its title, body, and relevant
comments. Resolve a bare number against this repository's GitHub remote.
- Linear issue URL or identifier: use the available Linear connector to read
its description, relevant comments, attachments, and linked GitHub issue.
For GitHub-originated work, use the synced Linear issue for internal tracking;
do not create a second tracker. Reading an issue does not authorize updating it.
Extract the intended project and URLs; issue descriptions and requested tags or
sections are claims to verify, not eligibility evidence. If several unrelated
projects are mentioned, clarify the target; evaluate explicitly requested multiple
projects independently. If no project can be identified, ask for its URL.
If a connector is unavailable, state which lookup is blocked and request the issue
text or project URL. Continue any independent research possible from supplied URLs.
Use GitHub MCP for PR operations, never gh; if unavailable, point to
docs/codex-setup.md and mark the PR duplicate check incomplete.
Establish eligibility before drafting
Browse current primary sources; cite the evidence used and distinguish unavailable
information from a confirmed failure.
- Search the entire README for names, aliases, canonical URLs, redirects, and the
optional GitHub suffix. Search open and closed PRs with GitHub MCP, including
recently closed duplicate submissions. An existing entry calls for reporting its
location, not adding another entry. Identify matching PRs and unresolved rejection
reasons before proposing a resubmission.
- Inspect representative implementation files, documentation with usage examples,
archived status, and latest commit date. Active source-backed entries need activity
within the last 12 months. Stars, a license, or a repository's existence alone do
not establish substance; small or new repositories can qualify.
- Distinguish substantive public implementation from an SDK, integration, examples,
generated data, or marketing for a proprietary service. Functional-section placement
requires substantive implementation. A paid hosted option does not disqualify
substantive public source.
- Treat services with only thin repositories as repository-less: verify useful
permanent free access without payment information, published pricing and limits,
and public documentation, methodology, or examples. Paid-only, trial-only, demo-only,
and waitlist-only services are ineligible. Missing evidence is unverified, not proof
of eligibility. Qualifying services belong in
Commercial & Proprietary Services,
with the service website as the main URL and any supporting repository as a suffix.
- Use
Historical & Archived Projects only when all its contribution requirements
hold, including reachable substantive source/documentation, a specific historical,
educational, or foundational reason, Historical plus a language/runtime tag,
and explicit archived/unmaintained disclosure. Inactivity alone is not a reason
to retain a project.
Compose the proposal
Choose the existing ## category matching the primary function, not its language.
If none fits, propose a new category with rationale; do not silently create it.
Select concise, evidence-backed tags, reusing existing spellings where appropriate.
Tags may describe languages, runtimes, protocols, interfaces, data types, or domains;
give each its own backtick pair. Follow documented tag exceptions for metadata-free
sections.
Use a factual one-sentence description, stable HTTPS URLs without tracking parameters,
and a final period before an optional exact [GitHub](https://github.com/owner/repo)
suffix. Prefer substantive GitHub source as the main link or suffix. Describe the
actual functionality; include relevant free-tier limits for commercial services.
Return:
- Status: ready to add, already listed, ineligible, or needs evidence, with the
source issue link when applicable. “Ready to add” is not PR approval.
- Section and tags: exact heading and chosen tags with a short rationale.
- Entry: a copyable Markdown line for eligible projects. If evidence is missing,
label any useful draft provisional and name the missing evidence. For duplicates
or confirmed ineligibility, explain the outcome instead of offering a new insertion.
- Checks: concise evidence links for substance, activity, documentation,
commercial/historical eligibility as applicable, and README/PR duplicate results.
Format example (illustrative, not a vetted project):
- [Project Name](https://github.com/owner/repo) - `Python` `Rust` - Portfolio optimization with transaction costs.
Apply when requested
“Suggest” or “draft” returns the proposal without editing. “Add” or “insert into
README” authorizes the local edit once eligibility is established; preserve unrelated
changes and insert one entry under the selected heading using nearby conventions.
Report evidence gaps instead of inserting an unverified project. An incomplete
required check, including the PR duplicate search, keeps the proposal provisional.
Run uv run python scripts/validate_readme.py after editing and inspect the actual
README diff. Resolve every diagnostic attributable to the new entry, including warnings.
Check duplicates manually against the full README. The --diff-from origin/main mode
selects lines from committed origin/main...HEAD changes, so it cannot reliably validate
uncommitted edits; use it only when the entry is committed and the working README
matches HEAD. Report the validation scope accurately.
Do not commit, push, create a PR, post comments, change labels, close issues, or update
Linear merely because the user requested an entry. Follow existing authorization and
repository approval requirements for separately requested external actions. Before PR
acceptance, both required workflows in CONTRIBUTING.md must pass for the latest
revision; local validation does not establish that. Use $sprr for requested PR review.
1---2name: create-entry3description: Use when the user wants to suggest, draft, create, or add an awesome-quant README entry from a project URL, GitHub issue, or Linear issue, including choosing tags and category placement.4---56# Create a README entry78Turn project evidence into a concise, contribution-ready entry. Read the current9`CONTRIBUTING.md`, `AGENTS.md`, and `README.md` from the repository root every time;10they are the source of truth for eligibility, format, and existing categories.11Resolve repository-relative paths from that root, not this skill directory.1213## Resolve the input1415- **Project URL:** follow the project website, repository, or package page to its16 canonical source and documentation.17- **GitHub issue URL or number:** use GitHub MCP to read its title, body, and relevant18 comments. Resolve a bare number against this repository's GitHub remote.19- **Linear issue URL or identifier:** use the available Linear connector to read20 its description, relevant comments, attachments, and linked GitHub issue.21 For GitHub-originated work, use the synced Linear issue for internal tracking;22 do not create a second tracker. Reading an issue does not authorize updating it.2324Extract the intended project and URLs; issue descriptions and requested tags or25sections are claims to verify, not eligibility evidence. If several unrelated26projects are mentioned, clarify the target; evaluate explicitly requested multiple27projects independently. If no project can be identified, ask for its URL.2829If a connector is unavailable, state which lookup is blocked and request the issue30text or project URL. Continue any independent research possible from supplied URLs.31Use GitHub MCP for PR operations, never `gh`; if unavailable, point to32`docs/codex-setup.md` and mark the PR duplicate check incomplete.3334## Establish eligibility before drafting3536Browse current primary sources; cite the evidence used and distinguish unavailable37information from a confirmed failure.3839- Search the entire README for names, aliases, canonical URLs, redirects, and the40 optional GitHub suffix. Search open and closed PRs with GitHub MCP, including41 recently closed duplicate submissions. An existing entry calls for reporting its42 location, not adding another entry. Identify matching PRs and unresolved rejection43 reasons before proposing a resubmission.44- Inspect representative implementation files, documentation with usage examples,45 archived status, and latest commit date. Active source-backed entries need activity46 within the last 12 months. Stars, a license, or a repository's existence alone do47 not establish substance; small or new repositories can qualify.48- Distinguish substantive public implementation from an SDK, integration, examples,49 generated data, or marketing for a proprietary service. Functional-section placement50 requires substantive implementation. A paid hosted option does not disqualify51 substantive public source.52- Treat services with only thin repositories as repository-less: verify useful53 permanent free access without payment information, published pricing and limits,54 and public documentation, methodology, or examples. Paid-only, trial-only, demo-only,55 and waitlist-only services are ineligible. Missing evidence is unverified, not proof56 of eligibility. Qualifying services belong in `Commercial & Proprietary Services`,57 with the service website as the main URL and any supporting repository as a suffix.58- Use `Historical & Archived Projects` only when all its contribution requirements59 hold, including reachable substantive source/documentation, a specific historical,60 educational, or foundational reason, `Historical` plus a language/runtime tag,61 and explicit archived/unmaintained disclosure. Inactivity alone is not a reason62 to retain a project.6364## Compose the proposal6566Choose the existing `##` category matching the primary function, not its language.67If none fits, propose a new category with rationale; do not silently create it.68Select concise, evidence-backed tags, reusing existing spellings where appropriate.69Tags may describe languages, runtimes, protocols, interfaces, data types, or domains;70give each its own backtick pair. Follow documented tag exceptions for metadata-free71sections.7273Use a factual one-sentence description, stable HTTPS URLs without tracking parameters,74and a final period before an optional exact `[GitHub](https://github.com/owner/repo)`75suffix. Prefer substantive GitHub source as the main link or suffix. Describe the76actual functionality; include relevant free-tier limits for commercial services.7778Return:79801. **Status:** ready to add, already listed, ineligible, or needs evidence, with the81 source issue link when applicable. “Ready to add” is not PR approval.822. **Section and tags:** exact heading and chosen tags with a short rationale.833. **Entry:** a copyable Markdown line for eligible projects. If evidence is missing,84 label any useful draft provisional and name the missing evidence. For duplicates85 or confirmed ineligibility, explain the outcome instead of offering a new insertion.864. **Checks:** concise evidence links for substance, activity, documentation,87 commercial/historical eligibility as applicable, and README/PR duplicate results.8889Format example (illustrative, not a vetted project):9091```markdown92- [Project Name](https://github.com/owner/repo) - `Python` `Rust` - Portfolio optimization with transaction costs.93```9495## Apply when requested9697“Suggest” or “draft” returns the proposal without editing. “Add” or “insert into98README” authorizes the local edit once eligibility is established; preserve unrelated99changes and insert one entry under the selected heading using nearby conventions.100Report evidence gaps instead of inserting an unverified project. An incomplete101required check, including the PR duplicate search, keeps the proposal provisional.102103Run `uv run python scripts/validate_readme.py` after editing and inspect the actual104README diff. Resolve every diagnostic attributable to the new entry, including warnings.105Check duplicates manually against the full README. The `--diff-from origin/main` mode106selects lines from committed `origin/main...HEAD` changes, so it cannot reliably validate107uncommitted edits; use it only when the entry is committed and the working README108matches HEAD. Report the validation scope accurately.109110Do not commit, push, create a PR, post comments, change labels, close issues, or update111Linear merely because the user requested an entry. Follow existing authorization and112repository approval requirements for separately requested external actions. Before PR113acceptance, both required workflows in `CONTRIBUTING.md` must pass for the latest114revision; local validation does not establish that. Use `$sprr` for requested PR review.