daily
Skill1 starsChanged 31 days agoMITView on GitHub
Autonomous daily scan-and-disclose pipeline — status sweep of open disclosures, candidate discovery + responsiveness/strict-norm pre-check, one scan, curation, and gated publication (post always; issue/PR only when the quality gate passes). Full-auto per the user's 2026-05-28 decision, with guardrails that prevent the "looks like a bot / advertising" failure mode.
21 other projects use a version of this.
Adopted by
Most recently taken up by
- zalogarcia/zalo-claude-code-setuptheir own version, first seen Nov 8, 2026
- matthewwong525/WongStacktheir own version, first seen Nov 8, 2026
- galiprandi/job-seekertheir own version, first seen Nov 5, 2026
- saksham10arora-dotcom/everything-claude-codextheir own version, first seen Nov 1, 2026
- noahcostakes/claudebrain-templatetheir own version, first seen Oct 15, 2026
- gaiaaiagent/regen-heartbeattheir own version, first seen Oct 15, 2026
Used with
Projects with it also use monthly, weekly and 3 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
gaiaaiagentSkillmonthly
Generate a monthly digest distilling weeklies into trend analysis and narrative arcs
Also in 3 projects that use this
gaiaaiagentSkillweekly
Generate a weekly digest rolling up dailies into higher-level pattern analysis
Also in 9 projects that use this
proficientlyjobsSkillapply
Fill out a job application on Greenhouse, Lever, or Workday
Also in 3 projects that use this
anombyte93Skilldiscover
Phase 1 of the prd-taskmaster pipeline: brainstorm-driven discovery. Delegates to superpowers:brainstorming in Interactive Mode (one adaptive question at a time), or self-brainstorms in Autonomous Mode when no user is present. Intercepts before the brainstorming chain hands off to writing-plans — this skill owns the exit. Extracts constraints, calibrates scale (Solo / Team / Enterprise), and advances the pipeline to GENERATE.
Also in 3 projects that use this
VercelSkillsetup
Set up Vercel CLI and project configuration. Use when the user says "set up Vercel", "configure Vercel", "link to Vercel", or "vercel init".
Also in 3 projects that use this
Other versions21 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 21
- baojie/shiji-kb★ 3.4ksame name
- kstonekuan/tambourine-voice★ 390same name
- serejaris/personal-corp-os★ 243same name
- serejaris/ris-claude-code★ 243same name
- earlyaidopters/second-brain★ 193same name
- kv0906/pm-kit★ 138same name
- galiprandi/job-seeker★ 120same name
- saksham10arora-dotcom/everything-claude-codex★ 74same name
- alirezarezvani/gaios★ 37same name
- Itsokay-co/bio-vibing★ 17same name
11 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository25 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- audit-projectSkill
- cleanupSkill
- create-skillSkill
- dependency-checkSkill
- documentSkill
- execute-prpSkill
- ez-project-workflowSkill
- fix-issueSkill
- generate-prpSkill
- housekeepingSkill
- kickoffSkill
- monitor-setupSkill
- nextSkill
- performanceSkill
- pipelineSkill
- refactorSkill
- retrospectiveSkill
- review-codeSkill
- rollbackSkill
- security-scanSkill
- statusSkill
- tddSkill
- upgrade-statusSkill
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 0 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 16 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 36
Update outcomes ONLY after upstream merge/close, never on open.
- Very specific: line 55
Never rescan a covered repo.
“Common” is measured: kept by at least 6 in 10 of the 16 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Daily Pipeline
Runs the full public-scan workflow once per day without the user driving it. Mode via $ARGUMENTS: default = autonomous (public actions included); --dry-run = no irreversible public actions; --status-only = Phase 1 only.
Non-negotiable guardrails
- One scan/day — if a scan already ran today (state file), do status-only.
- Quality gate on filing — always publish the write-up post; file a courtesy issue / open a PR ONLY when curation found ≥1 real, exploitability-shaped, high-confidence item. Else post-only (clean-scan format).
- Strict-norm detection — real SECURITY.md / commercial backing / security team → post-only or one-vuln-per-issue, never a grouped issue (dstack #3908 lesson).
- De-branded issue text — finding-first, code-path note, one footer link max.
- Never rescan — dedup candidates against
docs/scans/slugs. - Kill switch — if
.daily-pausedexists at repo root, abort. - Manual-disclosure backlog is a blocking warning. Count the
pending_private_disclosure*entries inreports/.daily_state.json. Any entry pending more than 7 days gets a loud banner at the top of the run (repo, severity, days waiting). Any High/Critical entry pending more than 14 days blocks a new scan entirely — run status-only and tell the user to clear the queue. On 2026-08-21 six drafted reports were found unsent, the oldest 22 days, including an unauthenticated-admin finding; nothing surfaced them because every phase only looked forward at the next scan. If the report cannot be delivered by ANY channel, apply guardrail 10 (unreachable) rather than losing a scan a day. - State shape. Run history lives in
runs_recent; therunskey is a vestigial empty list — do not write to it. Ad-hoc keys join one of four families:pending_private_disclosure*,withheld_finding_*,excluded_repos/excluded_note,*_note. Drafted disclosure emails live inreports/disclosures/(gitignored); when one is sent, swap its pending entry for asentrecord with date and channel. A post published with its finding withheld while the private send is still pending ispending_private_disclosure_*(the family guardrail 7 counts), even when the channel is user-only and unreachable by the pipeline — neverwithheld_finding_*, which is for reports ALREADY delivered privately. On 2026-09-16 a 31-day undelivered High (liaohch3/claude-tap) was found mis-filed underwithheld_finding_*and had evaded the banner for ~20 runs; there is no Gmail-Sent evidence source for a Twitter DM, so ask the user whether they've already reached out rather than assuming. - Channel viability is a SELECTION criterion, adaptive to queue depth. Before committing to a candidate, resolve how a finding would reach the maintainer:
gh api repos/{o}/{r}/private-vulnerability-reporting --jq .enabled, plus an email in SECURITY.md (root/.github//docs//docs site), README, FUNDING.yml, profile or org profile (commitnoreplyaliases do not count). Queue depth 0–2 → any channel is fine. Depth 3+ → require an autonomous channel (PVR on, or a finding that can honestly go in a public issue); skip email-only candidates and say why. At any depth, never pick a candidate with NO channel (PVR off AND no email anywhere AND SECURITY.md forbids public issues) — that combination is the only permanent deadlock the series has produced. Measured 2026-09-18: 14 disclosures went autonomous, 12 needed a human send, and every pipeline stoppage came from the human-gated half (6-report backlog: 25 days, 4 scans lost; claude-tap: 33 days, 3 scans lost). Adaptive on purpose — PVR-on repos skew mature and commercially backed, so a permanent preference would bias the series and drop the small projects that most need the review. unreachableis the only way to clear an undeliverable report. Close apending_private_disclosure*without delivery ONLY with all four proofs recorded in the entry: PVR{"enabled":false}checked on two separate days; no email in any of the locations above; a public issue forbidden by their own SECURITY.md or self-disclosing; and any remaining contact on a platform the operator has said they do not use (ask, never assume). Then re-key tounreachable_disclosure_<slug>so guardrail 7 stops counting it, and add one line to the public post: "Reported channel unavailable — the maintainer's stated private channel is disabled and no other private contact could be found. Detail remains withheld." Keep the detail withheld — a High with no fix and no maintainer aware serves attackers first.unreachablerecords a failed delivery; it is not a licence to disclose. If a channel opens later, re-key back and send.- A run records itself before it can fail. Open the run record (a
runs_recententry withoutcome: "in-progress") the moment Phase 2 picks a target and close it in Phase 6; Phase 0 runsscanner/run_orphan_check.py, which finds records leftin-progressby an earlier day andreports/<slug>/output with no post and no record, and pauses the pipeline (.daily-paused) until the user has looked. From 2026-09-25 to 2026-10-03 seven runs ended in curation before Phase 6 wrote any state, so guardrail 1 never fired and every morning spent a fresh scan.
State
reports/.daily_state.json (gitignored): {"last_run":"YYYY-MM-DD","last_slug":"...","runs":[...]}. If last_run == today, rate-limit to status-only. The run record is opened as soon as Phase 2 picks a target and closed in Phase 6 (same runs_recent entry, real outcome; halted: <reason> on any early stop).
Phase 0 — Preconditions
Abort if .daily-paused. Read state. If already ran today → status-only. Then run .venv/Scripts/python.exe scanner/run_orphan_check.py --write-pause (no flag in --status-only): exit 2 means an earlier run died unfinished — STOP (status-only: report it and carry on).
Phase 1 — Status sweep (always)
gh search prs/issues --author=elfrost (exclude elfrost/ai-patchlab). For each open disclosure updated since last_run, read latest comments/reviews and act:
- maintainer asks for a PR → fork → branch → single-purpose fix → PR referencing the issue (commit author
5491654+elfrost@users.noreply.github.com). - merged/closed-as-fixed → update
docs/scans/<slug>.mdtimeline +docs/index.md✅ badge + memoryproject_first_resolved_disclosure.md. - rejection → keep honest record (quote response in post, note badge, do not delete).
Update outcomes ONLY after upstream merge/close, never on open. Stop here if
--status-only.
Phase 2 — Candidate discovery + pre-check
gh search repos --language=python --stars=1500..6000 --sort=updated filtered to AI/agent/LLM/RAG/inference. Drop already-scanned slugs. Responsiveness check (recent closed issues + merged PRs from ≥2 contributors). Strict-norm detection → publication mode. Pick ONE; record why. Then open the run record before Phase 3.
Phase 3 — Scan
.venv/Scripts/python.exe scanner/run_scan.py --from-git-url "<url>" --reports-dir reports/<slug> --min-severity medium (--ignore-file for obvious sample/demo subtrees).
Then read reports/<slug>/coverage.json — the authoritative record of what the scan examined, written every run from the scanners' own meta findings and derived before --ignore-file suppression. If complete is false, the finding count is not a clean bill of health: carry the rows verbatim into the post's Scan coverage section and state in one sentence what was not examined. This replaces transcribing the Phase 1 preflight by hand; the preflight still runs, because catching a broken Semgrep before burning a scan beats reporting it afterwards.
Phase 4 — Curate
Group by rule family; auto-flag tests/sample/examples/demos/fixtures as candidate-FP. Inspect top 5 real candidates in-repo via gh api .../contents/<path>. Write per-finding verdicts, then append them to reports/<slug>/verdicts.json as source: "curation" rows — one per rule family with its count, beside the deterministic rows the scanner already wrote. reason_code must come from the closed vocabulary in scanner/verdicts.py:CURATION_REASON_CODES; reuse or extend the module, never invent a code inline. rule is REQUIRED (name the rule family); verdict is one of false-positive/by-design/not-applicable/hardening/real or omitted, and your sentence goes in detail; confirmed-real is first-party only, upstream version drift is dependency-currency. Then validate — .venv/Scripts/python.exe scanner/run_verdict_check.py --check reports/<slug>/verdicts.json must exit 0 — and copy the validated file to corpus/verdicts/<slug>.json, which is committed (reports/ is gitignored). Evaluate the quality gate boolean.
Phase 5 — Publish (gated)
Always: write docs/scans/<slug>.md (including the Scan coverage block copied from reports/<slug>/coverage.json, never hand-written) + prepend a row to docs/index.md + a bullet to docs/scan-log.md (bump both scan counts). If gate TRUE and not strict-norm: file focused de-branded courtesy issue (+ PR for clean one-line fixes). If strict-norm: post-only or one-issue-per-critical. If gate FALSE: post-only. Open docs: PR on elfrost/ai-patchlab, merge, verify publication via gh run list --workflow=pages-build-deployment --limit 1 = success AND the post returns 200 serving the new text. Do NOT gate on pages/builds/latest — on this Actions-published site it reports errored even when the deploy succeeded (2026-08-26).
Phase 6 — Record
Close the run record in reports/.daily_state.json (same runs_recent entry, real outcome); update memory on resolutions/lessons; print a 3-line summary.
Rules
Never rescan a covered repo. Never file when the gate is false. Never skip the strict-norm check before a grouped issue. Always use the noreply commit email. Keep honest records of rejections. In --dry-run, zero irreversible public actions.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

