Not in the top 1,000 by GitHub stars
petergyang/fuck-cancer
Create and update a practical brief to help patients and caregivers advocate for themselves.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/fuck-cancer/SKILL.md
Week of Nov 2, 2026 · +26 / −14 lines
Before Network or broad shell → After Network or broad shell
3c5a9903bd7e → ecaef1a3fa5b
- 25 On first use, if no destination exists, ask: `Do you want me to keep this in a local Markdown file, or use a Google Doc that is easier to share?` Do not ask again after the destination is established, and do not let setup delay urgent guidance.
+ 25 On first use, if the user has not named a destination, keep the brief in a Google Doc so it is easy to share with family. Do not let setup delay urgent guidance.
- 27 On a bare invocation with no details, open with one calm, welcoming sentence, then ask for the essentials in a single short message: who the brief is for, what is happening now, and whether anything is time-sensitive, ending with the destination question. Never open with the destination question alone or with a form.
+ 27 On a bare invocation with no details, open with one calm, welcoming sentence, then ask for the essentials in a single short message: who the brief is for, what is happening now, and whether anything is time-sensitive. Never open with a form.
- 29 - **Local Markdown:** Create or reuse a file named after the patient, such as `alex-brief.md`, in the current workspace.
- 30 - **Google Docs:** Ask for an existing Doc or offer to create one. Use the connected Google Drive or Docs tool. If it is unavailable, ask the user to enable it; do not create a local fallback.
+ 29 - **Google Docs:** Use the Doc the user names or create one with the connected Google Drive or Docs tool. If the tool is unavailable, ask the user to enable it. If they can't or prefer not to, offer local Markdown.
+ 30 - **Local Markdown:** Use only when the user asks for it or can't connect Google. Create or reuse a file named after the patient, such as `alex-brief.md`, in the current workspace.
- 33 If the user wants approval first, show the exact proposed changes and wait. After an authorized edit, read the saved destination back, link it, state what changed, and name the immediate next step.
+ 33 If the user wants approval first, show the exact proposed changes and wait. After an authorized edit, read the saved destination back, fix any item that lost its number or bold stem, link it, state what changed, and name the immediate next step.
- 50 1. The patient's national cancer agency. Use NCI PDQ as a public evidence summary when no better local source exists; do not call it a clinical guideline.
+ 50 1. The patient's national or provincial cancer agency, such as BC Cancer. Use NCI PDQ as a public evidence summary when no better local source exists; do not call it a clinical guideline.
- 56 Do not cite search snippets, SEO health sites, unsourced summaries, social posts, AI-generated medical pages, or unofficial copies of copyrighted resources such as UpToDate or NCCN. Treat an authorized user-supplied copy as evidence and state its date.
+ 56 Do not cite search snippets, SEO health sites, unsourced summaries, social posts, AI-generated medical pages, or unofficial copies of copyrighted resources such as UpToDate. Do not retrieve or summarize NCCN content. For US patients, turn it into a question for the care team: `Does this plan follow NCCN guidelines?`
+ 76 ### Medical records
+ 77
+ 78 When records are missing or scattered, help the user request three types separately, because each comes through a different process:
+ 79
+ 80 1. **Written records:** Pathology and scan reports, treatment history, and visit notes.
+ 81 2. **Imaging files:** The original scans, usually in DICOM format. A written report or online viewer does not replace them.
+ 82 3. **Pathology blocks or slides:** The actual tumor tissue, which sequencing and pathology review may need. Ask early, especially for tissue from an earlier cancer.
+ 83
+ 84 Ask which hospitals hold what, and suggest one shared folder with a subfolder for each type. Put only the most urgent outstanding request in `What to do next`, and log what has actually arrived. Do not request records or contact a hospital without explicit permission.
+ 85
- 78 Title it `<First name>’s Brief`. Do not put `cancer`, a diagnosis, or alarming language in the title unless the user asks.
+ 88 Title it exactly `<First name>’s Brief`, and ask for the first name if you don't have it. Do not put `cancer`, a diagnosis, `Demo`, or alarming language in the title unless the user asks.
+ 92 Format every section the same way: a heading, then a numbered list where each item starts with a bold stem and a colon, with the rest of the text on the same line. For example, `**Diagnosis:** The biopsy confirms...`. In Google Docs, use bold blue for the title, bold black for section headings, and native numbered lists with real bold rather than typed numbers, bullets, or asterisks.
+ 93
- 84 Put essential care-coordination details first: patient facts, medical or insurance numbers, family doctor, current care team, and important contacts. Keep appointments, scans, and deadlines in `What to do next`; do not create another contacts section.
+ 96 Put essential care-coordination details first, using stems such as `Patient`, `Current team`, `Family doctor`, `Local contacts`, and `Records`: patient facts, medical or insurance numbers, family doctor, current care team, and important contacts. Keep appointments, scans, and deadlines in `What to do next`; do not create another contacts section.
- 88 Use a numbered list with no more than three priority actions. Start each with a specific bold stem and name the report, test, appointment, clinician, or date: `Review biopsy and scan results before 8/31`, not `Review results`.
+ 100 List no more than three priority actions. Make each stem specific and name the report, test, appointment, clinician, or date: `Review biopsy and scan results before 8/31`, not `Review results`.
- 96 Use a concise numbered list with bold stems. Combine each finding, its meaning, and meaningful uncertainty in one or two sentences. Fold pending information into the related finding or action instead of creating a useless standalone bullet. Keep definitions out of this section.
+ 108 Use short stems such as `Diagnosis`, `Extent`, or `Cancer history`. Combine each finding, its meaning, and meaningful uncertainty in one or two sentences. Fold pending information into the related finding or action instead of creating a useless standalone bullet. Keep definitions out of this section.
- 100 Use this optional section when several biomarkers, tests, or staging terms need explanation. Define each in one or two short sentences, then connect it to the patient's confirmed result and the treatment category it may affect. Use a brief parenthetical earlier only when the reader must understand the term immediately; do not define the same term twice.
+ 112 Use this optional section when several biomarkers, tests, or staging terms need explanation. Use the term as the stem and define it in one or two short sentences, then connect it to the patient's confirmed result and the treatment category it may affect. Use a brief parenthetical earlier only when the reader must understand the term immediately; do not define the same term twice.
- 106 Use a numbered list for the chronological care log, newest first. Use `M/D` for current-year events and the year alone for older history when the exact date does not matter. Include only decision-relevant milestones and never invent a date. Keep exploratory conversations, personalized-vaccine ideas, and other experimental possibilities here unless they create a current action.
+ 118 List the chronological care log newest first, with the date as the stem. Use `M/D` for current-year events and the year alone for older history when the exact date does not matter. Include only decision-relevant milestones and never invent a date. Keep exploratory conversations, personalized-vaccine ideas, and other experimental possibilities here unless they create a current action.
- 110 Put sources inline. Link every NCT number and place a short official source link after each treatment or evidence claim. Do not add a reference section, research date, or disclaimer to the brief.
+ 122 Put sources inline. Link every NCT number and place a short official source link after each treatment or evidence claim, without a `Source:` label. Do not add a reference section, research date, or disclaimer to the brief.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 3c5a9903bd7e
No earlier version was observed for comparison.
Heat
7.2- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- fuck-cancer
skills/fuck-cancer
How it works
fuck-cancer
When your agent uses it
Create and maintain one family medical brief from reports, notes, or partial information. Use when the user asks any cancer-related question or shares any cancer-related update, including symptoms during a workup, diagnosis, pathology, biomarkers, staging, treatment, recurrence, appointments, trials, second opinions, or caregiving decisions.
What it loads into context
Frontmatter
71 tokensAlways available to the agent
SKILL.md
2,495 tokensWhen the skill is activated
Reference documents
301 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Keep one living brief
- Workflow
- Research current options
- Write the brief
- Sources and tone
- Protect the patient
Scripts executed separately
scripts/search_trials.py
Files
SKILL.mdcore12,385 bytesSKILL.mdcore12,385 bytesSKILL.mdcore12,385 bytesSKILL.mdcore12,385 bytesagents/openai.yamlasset281 byteseval.mddoc1,457 bytesscripts/search_trials.pyruns17,706 bytes
Read SKILL.md
# Fuck Cancer
Help a patient or caregiver understand what is happening and take the next useful step. Support decisions with current evidence without making the decision for them.
Run this skill for every cancer-related question or discussion, even when the user does not invoke it explicitly.
## Keep one living brief
Turn a sentence, brain dump, report, screenshot, or scattered update into one source-of-truth brief with patient information, next steps, key facts, and a care log. Read all supplied material before responding.
Use the destination the user names. At the start of later turns, read the full source of truth before proposing or making changes. Never create a second tracker.
If a Google Doc has separate `Overview` and `Log` tabs, treat both tabs as one brief and read both at the start of every cancer-related turn:
View the complete source on GitHubSkills included
- fuck-cancer
Repository facts
- License
- MIT
- Created
- Aug 22, 2026
- Last pushed
- Nov 2, 2026
- Forks
- 19
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 3 notes
skills/fuck-cancer/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/fuck-cancer/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/fuck-cancer/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 10 network referencesin 1 file: fuck-cancer/scripts/search_trials.py:24
- No hidden or obfuscated text
- No instruction overrides
- 1 executable scriptin 1 file: fuck-cancer/scripts/search_trials.py:1
- No access to secrets
- No requests to vote in Hot
Show all 11 signals by file
skills/fuck-cancer/scripts/search_trials.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 24
API_ROOT = "https://clinicaltrials.gov/api/v2" - Network accessline 217
time.sleep(2 ** attempt) try: request = urllib.request.Request( - Network accessline 218
try: request = urllib.request.Request( url, - Network accessline 219
request = urllib.request.Request( - Network accessline 221
headers={"User-Agent": "fuck-cancer-skill/1.0"}, ) with urllib.request.urlopen(request, timeout=30) as response: - Network accessline 222
) with urllib.request.urlopen(request, timeout=30) as response: return json.load(response) - Network accessline 223
with urllib.request.urlopen(request, timeout=30) as response: - Network accessline 357
return { "nct_id": nct_id, "url": f"https://clinicaltrials.gov/study/{nct_id}", - Network accessline 358
"nct_id": nct_id, "url": f"https://clinicaltrials.gov/study/{nct_id}", "title": clean(identification.get("briefTitle")), - Network accessline 359
"url": f"https://clinicaltrials.gov/study/{nct_id}",
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Signal confidence: 11 facts
- Executable script in code of a file that runsfuck-cancer/scripts/search_trials.py:1High confidence
- Network access in code of a file that runsfuck-cancer/scripts/search_trials.py:24High confidence
- Network access in code of a file that runsfuck-cancer/scripts/search_trials.py:217High confidence
- Network access in code of a file that runsfuck-cancer/scripts/search_trials.py:218High confidence
- Network access in code of a file that runsfuck-cancer/scripts/search_trials.py:219High confidence
- Network access in code of a file that runsfuck-cancer/scripts/search_trials.py:221High confidence
- Network access in code of a file that runsfuck-cancer/scripts/search_trials.py:222High confidence
- Network access in code of a file that runsfuck-cancer/scripts/search_trials.py:223High confidence
- Network access in code of a file that runsfuck-cancer/scripts/search_trials.py:357High confidence
- Network access in code of a file that runsfuck-cancer/scripts/search_trials.py:358High confidence
- Network access in code of a file that runsfuck-cancer/scripts/search_trials.py:359High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skills/fuck-cancer/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/fuck-cancer/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/fuck-cancer/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/fuck-cancer/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/fuck-cancer/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/fuck-cancer/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.