Ccb GitHub
SeemSeam/claude_codex_bridge
Maintain this CCB project's GitHub-facing release and npm publication surface.
Open or update a pull request on GitHub's openJiuwen-ai/sciencediscovery: run the UT/ST/E2E layers locally, push the branch to the operator's own GitHub fork, write a body that says what was…
$ npx skills add openJiuwen-ai/sciencediscovery --skill create-github-pr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install openJiuwen-ai/sciencediscovery create-github-pr --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/openJiuwen-ai/sciencediscovery.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/create-github-pr .claude/skills/create-github-pr && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "create-github-pr" agent skill from https://github.com/openJiuwen-ai/sciencediscovery/tree/main/.agents/skills/create-github-pr into .claude/skills/create-github-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-github-pr", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/openJiuwen-ai/sciencediscovery/tree/main/.agents/skills/create-github-prType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add openJiuwen-ai/sciencediscovery --skill create-github-pr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install openJiuwen-ai/sciencediscovery create-github-pr --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openJiuwen-ai/sciencediscovery.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/create-github-pr .agents/skills/create-github-pr && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "create-github-pr" agent skill from https://github.com/openJiuwen-ai/sciencediscovery/tree/main/.agents/skills/create-github-pr into .agents/skills/create-github-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-github-pr", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openJiuwen-ai/sciencediscovery --skill create-github-pr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install openJiuwen-ai/sciencediscovery create-github-pr --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openJiuwen-ai/sciencediscovery.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/create-github-pr .cursor/skills/create-github-pr && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "create-github-pr" agent skill from https://github.com/openJiuwen-ai/sciencediscovery/tree/main/.agents/skills/create-github-pr into .cursor/skills/create-github-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-github-pr", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/openJiuwen-ai/sciencediscovery.git --path .agents/skills/create-github-pr--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add openJiuwen-ai/sciencediscovery --skill create-github-pr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install openJiuwen-ai/sciencediscovery create-github-pr --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openJiuwen-ai/sciencediscovery.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/create-github-pr .gemini/skills/create-github-pr && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "create-github-pr" agent skill from https://github.com/openJiuwen-ai/sciencediscovery/tree/main/.agents/skills/create-github-pr into .gemini/skills/create-github-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-github-pr", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install openJiuwen-ai/sciencediscovery create-github-prInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add openJiuwen-ai/sciencediscovery --skill create-github-pr -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/openJiuwen-ai/sciencediscovery.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/create-github-pr .github/skills/create-github-pr && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "create-github-pr" agent skill from https://github.com/openJiuwen-ai/sciencediscovery/tree/main/.agents/skills/create-github-pr into .github/skills/create-github-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-github-pr", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openJiuwen-ai/sciencediscovery --skill create-github-pr -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install openJiuwen-ai/sciencediscovery create-github-pr --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openJiuwen-ai/sciencediscovery.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/create-github-pr .opencode/skills/create-github-pr && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "create-github-pr" agent skill from https://github.com/openJiuwen-ai/sciencediscovery/tree/main/.agents/skills/create-github-pr into .opencode/skills/create-github-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-github-pr", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
create-github-prOpen or update a pull request on GitHub's openJiuwen-ai/sciencediscovery: run the UT/ST/E2E layers locally, push the branch to the operator's own GitHub fork, write a body that says what was…
Create GitHub PR is an agent skill from openJiuwen-ai/sciencediscovery. Open or update a pull request on GitHub's openJiuwen-ai/sciencediscovery: run the UT/ST/E2E layers locally, push the branch to the operator's own GitHub fork, write a body that says what was verified with numbers, apply exactly one release: label so the release note can classify it, then read the pull request and its Actions run back. Use when asked to create a PR, submit a change for review, when a branch is ready to propose, when labelling a pull request for the release note, or when reading a GitHub Actions…
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Pull requests, Changelog and release notes and End-to-end testing. It works with GitHub and GitHub Actions. The repository describes itself as: ScienceDiscovery is an all‑in‑one agentic workbench built specifically for scientific research. The licence is Apache-2.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7a03242. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghgitpnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, git and pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Create GitHub PR loads about 3k tokens when it runs. Until then it costs about 199 tokens; SKILL.md has 1,470 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from openJiuwen-ai/sciencediscovery at commit 7a03242, republished under its Apache-2.0 licence (© openJiuwen-ai). 1,470 words, ~3,029 tokens.
.claude/skills/create-github-pr/SKILL.md (or your agent's skills folder).Project-local skill for ScienceDiscovery.
This is the only path. Changes are proposed here and GitHub syncs to GitCode; CONTRIBUTING.md's Repositories table is the authority. That direction is the reverse of what it once was, and the GitCode side no longer has a pipeline at all, so older merge requests and any documentation describing GitCode as the place to propose are out of date.
How to call gh, and the rule that issue and pull request text is English:
github. Pipeline internals — which platform runs which
layer, the workflow files, run logs, failure attribution: ci.
Journey design and reporting: e2e-testing.
gh api user --jq .login; do not hard-code a person.
origin is openJiuwen-ai/sciencediscovery. Do not git push origin a
task branch, and do not assume origin is a personal fork. Open the pull
request with
--repo openJiuwen-ai/sciencediscovery --head <login>:<branch> --base main.release:* label, from the whitelist below. The release
note is grouped by it.bwrap --ro-bind / / --dev /dev true && echo sandbox ok # ci:ut and ci:e2e need it
CI_RESULTS_DIR=.tmp/ci-results CI_RUNTIME_DIR=.tmp/ci-runtime pnpm ci:ut
CI_RESULTS_DIR=.tmp/ci-results CI_RUNTIME_DIR=.tmp/ci-runtime pnpm ci:st
CI_RESULTS_DIR=.tmp/ci-results CI_RUNTIME_DIR=.tmp/ci-runtime pnpm ci:e2eRun them on the commit you will push and collect the per-layer numbers for the
body: the per-package # pass / # skipped lines in the UT run.log, the ST
smoke line, and the E2E discovered / passed / failed / skipped split. Each
layer leaves run.log and a summary under CI_RESULTS_DIR/<layer>/; with a
relative CI_RESULTS_DIR, ci:e2e writes its journey reports under
.e2e/.tmp/… instead, because Playwright runs from .e2e/.
When a layer fails, attribute it before touching anything: run the same layer
on unmodified main in a separate detached worktree
(git worktree add --detach .worktrees/<name> <sha>). An identical failure is
pre-existing — say so in the body with the step, the error and the baseline
run, and leave the fix to its own pull request. A failure only on your commit
is yours. Never weaken an assertion or skip a layer to get green; if a layer
cannot run on this host, say which and why. Report the numbers each layer's
summary.json gives — planned, executed, passed — not "tests pass".
pnpm ci:e2e is the mocked browser subset only. Changed user-observable
behaviour also needs the relevant API, CLI or local-stack journey.
GitHub is where changes are proposed and GitCode mirrors it, but the two have separate histories either way. Two consequences bite here:
git rev-parse <a>^{tree} on both.git rebase --onto github/main <old-base>), and
check the result does not contain the other host's base:
git merge-base --is-ancestor <other-base> HEAD must fail.| Label | For |
|---|---|
release:breaking | The user must change configuration, call sites or environment |
release:feature | A new or extended user-facing capability |
release:fix | Wrong behaviour in something that already existed |
release:performance | Speed or resource use is the point of the change |
release:docs | Documentation and usage guidance |
release:dependency | A dependency update is the substance of the change |
release:internal | Tests, CI, developer tooling, refactors with no external behaviour change |
release:skip | Not worth a line in the release note — say why |
These are mutually exclusive: the label answers "which one section of the release note does this belong under", not "which properties does this change have".
release:breaking and nothing else. That it is also a
feature is already in the title, and an upgrading reader needs it in one
place.release:fix. The tests are how it was
proved, not what it is.release:fix; a routine update is release:dependency.release:feature even when it is delivered as a
Skill; maintaining a developer-facing agent skill is release:internal.release:skip because the author is a bot, because the change
arrived by sync, or because the diff is small. Category follows content. If
there is any user impact, or the category is unclear, ask rather than
silently skipping — a skipped pull request leaves no trace in the note.The categories and their order live in .github/release.yml. An unlabelled pull request is not dropped, it lands in Other Changes — which is a backstop to read and fix, not a default to rely on.
Applying a label needs write access to the upstream repository. An outside
contributor can open the pull request and cannot label it. When the label
cannot be applied, put the intended category in the body, say plainly that the
GitHub label is pending a maintainer, and do not report it as applied. Do not
invent a category outside the whitelist, and do not touch the ci-*,
priority/*, sync-managed or general classification labels — they serve
other purposes and this skill has no business rewriting them.
English. The title and every section of the body are English, including validation numbers and the E2E conclusion.
Title: <type>(<scope>): <the change and its effect>, scope optional. It
becomes the release note entry, so it has to read as a sentence to somebody who
has not seen the diff. update, fix bug, 修改 App.tsx and 同步代码 are
not titles. A pull request paired from a GitCode merge request keeps the
original meaning of its title — never flatten it to Sync from GitCode.
<One paragraph: what changes and why. Lead with the problem, not the patch.>
## <Each substantive change>
<What it does, and the reasoning a reviewer cannot reconstruct from the diff.>
## Validation
<Layer results with numbers. Name anything not covered and why.>
## E2E user journeys
<PASS / FAIL / BLOCKED; tested SHA; browser / API / CLI / local stack;
scenario → expected outcome → actual outcome; commands; passed / failed /
blocked / skipped counts and failure attribution.>
## Release
Release category: <one release:* label>
User impact: <what a user notices; or the internal scope if none>
Compatibility and migration: <none; or the incompatibility and the steps>The body's Release category: is this project's own convention for carrying
the intent — it is not a GitHub instruction and it does not label anything. The
label on the pull request is what the release note reads.
Only a change with no user-observable product path (a comment, a pure doc edit) may write not applicable in the E2E section, with a concrete reason. Backend-only is not an exemption; missing credentials or absent coverage are BLOCKED or a coverage gap, not not-applicable. Evidence must be public-safe: no credentials, no local paths, no links a repository reader cannot open. A pull request that must not be merged — a CI experiment, a spike — says so in both the title and the body, and says what would have to be deleted first.
login=$(gh api user --jq .login)
git push -u <fork-remote> HEAD:<branch>
gh pr create --repo openJiuwen-ai/sciencediscovery \
--base main --head "$login:<branch>" \
--title '<type>(<scope>): …' --body-file <file>
gh pr view <n> --repo openJiuwen-ai/sciencediscovery \
--json number,state,baseRefName,headRefName,headRefOid,labels,url
gh pr edit <n> --repo openJiuwen-ai/sciencediscovery --add-label release:<category>Reading it back is not ceremony. It is how you find out that the head is a branch GitHub deleted when an earlier pull request merged, that the base is not what you meant, or that the diff is empty because the head is already contained in the base.
The pull request starts the six jobs in .github/workflows/ci.yml: UT, ST,
E2E (mocked), Binary release ×2, Docker image.
gh run list --repo openJiuwen-ai/sciencediscovery --branch <branch> --limit 5
gh run view <run-id> --repo openJiuwen-ai/sciencediscovery \
--json status,conclusion,jobs --jq '.jobs[] | "\(.conclusion // .status)\t\(.name)"'
gh run view <run-id> --repo openJiuwen-ai/sciencediscovery --log-failedJudge every job, not the aggregate. For E2E read the run summary's counts: Playwright exits 0 on skips, and a BLOCKED journey is reported as skipped, so a green check alone does not mean the journeys ran.
| Symptom | Meaning |
|---|---|
No commits between <base> and <head> and Head ref must be a branch | The head branch does not exist. GitHub deletes it automatically when a pull request from it merges; confirm with git ls-remote <fork> 'refs/heads/<branch>' before believing the message's claim about the base. |
The fork's main is hundreds of commits behind | It is a fork nobody syncs. Do not use it as a base and do not push upstream's main to it — on: push: branches: [main] would spend a full CI run on nothing. Base the pull request on a ci/* branch pushed at the upstream commit instead. |
| A GitHub remote looks diverged with identical files | Separate histories. Compare trees, not SHAs. |
| The Docker or E2E job fails only on GitHub | Read the job log and the uploaded artifact (docker-compose-logs, e2e-results) before theorising; the product's own startup probe usually already said what was wrong. |
| A tag push produced no release | The tag did not match .github/workflows/release.yml's filter, which is a glob and not a regex. A non-matching tag fails silently — nothing runs and nothing reports. |
| The release note's Other Changes is long | Pull requests in the range have no release:* label. Label them before publishing; the section exists to make that visible. |
© openJiuwen-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/create-github-pr of openJiuwen-ai/sciencediscovery.
Open the folder on GitHubat commit 7a03242
Create GitHub PR next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Create GitHub PR this skillopenJiuwen-ai/sciencediscovery | 148 | — | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Ccb GitHubSeemSeam/claude_codex_bridge | 3.5k | — | ~4.9k | Automated safety check: Pass | Custom licence | |
| ZCF Release AutomationUfoMiao/zcf | 6.1k | — | ~3.4k | Automated safety check: Pass | MIT | |
| Renovate Actions PR Reviewbacknotprop/plannotator | 9.2k | — | ~640 | Automated safety check: Pass | Apache-2.0 | |
| Cline CLI Release Publishercline/cline | 70k | — | ~3.4k | Automated safety check: Warn | Apache-2.0 | |
| Kt Search Releasejillesvangurp/kt-search | 155 | — | ~1.2k | Automated safety check: Pass | MIT |
SeemSeam/claude_codex_bridge
Maintain this CCB project's GitHub-facing release and npm publication surface.
UfoMiao/zcf
Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.
backnotprop/plannotator
Reviews Renovate pull requests that bump GitHub Actions by checking pinned SHAs against upstream tags, scanning changelogs and confirming workflows stay compatible.
cline/cline
Walks through releasing the Cline CLI package to npm: release notes, version bump, matching git tag, and either the GitHub workflow or a local publish.
jillesvangurp/kt-search
A skill your agent uses when the user wants to cut, publish, tag, or create a GitHub release for kt-search, especially when the task includes version bumping, validating that commits are pushed…
jd-solanki/slidev-theme-dracula
Automate npm package publishing via GitHub Actions for single-package repos and independent monorepo packages, including bumpp version tags, GitHub release notes, trusted publishing, provenance, and…
openJiuwen-ai/sciencediscovery
A skill your agent uses when you need to write and execute Python/R code to process, transform, and analyze data, delivering reproducible computational results with complete code-level methodology…
openJiuwen-ai/sciencediscovery
Operate GitCode issues, PRs, wikis, code/MR refs, and cached org templates.
openJiuwen-ai/sciencediscovery
Inspect a local PDB structure, summarize chains and residue composition, and identify protein atoms near a user-specified ligand or pocket center.
openJiuwen-ai/sciencediscovery
Prepare, launch, monitor, and summarize the real RFdiffusion to ProteinMPNN to Protenix antibody pipeline on a local or remote ScienceDiscovery Runner with sandboxed Ascend NPUs.
openJiuwen-ai/sciencediscovery
A skill your agent uses to orchestrate a multi-domain research team for literature/evidence research and data analysis.
openJiuwen-ai/sciencediscovery
A skill your agent uses when a research workflow needs verified academic source retrieval through literature-search MCP interfaces available in the current session before evidence extraction.
Works with
Categories
Open or update a pull request on GitHub's openJiuwen-ai/sciencediscovery: run the UT/ST/E2E layers locally, push the branch to the operator's own GitHub fork, write a body that says what was…. Create GitHub PR is an agent skill from openJiuwen-ai/sciencediscovery. Open or update a pull request on GitHub's openJiuwen-ai/sciencediscovery: run the UT/ST/E2E layers locally, push the branch to the operator's own GitHub fork, write a body that says what was verified with numbers, apply exactly one release: label so the release note can classify it, then read the pull request and its Actions run back.
Create GitHub PR fits situations like: asked to create a PR; submit a change for review; A branch is ready to propose; labelling a pull request for the release note.
Run `npx skills add openJiuwen-ai/sciencediscovery --skill create-github-pr -a claude-code`. Or copy the skill folder (.agents/skills/create-github-pr in openJiuwen-ai/sciencediscovery) into .claude/skills/create-github-pr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add openJiuwen-ai/sciencediscovery --skill create-github-pr -a codex`. Or copy the skill folder (.agents/skills/create-github-pr in openJiuwen-ai/sciencediscovery) into .agents/skills/create-github-pr in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openJiuwen-ai/sciencediscovery --skill create-github-pr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-github-pr, .gemini/skills/create-github-pr, .github/skills/create-github-pr and .opencode/skills/create-github-pr in your project.
Going by SKILL.md and its folder, Create GitHub PR needs the command-line tools its instructions call (gh, git and pnpm). Our summary lists: Docker.
SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Create GitHub PR is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Create GitHub PR: Ccb GitHub (SeemSeam/claude_codex_bridge, 3.5k stars), ZCF Release Automation (UfoMiao/zcf, 6.1k stars), Renovate Actions PR Review (backnotprop/plannotator, 9.2k stars) and Cline CLI Release Publisher (cline/cline, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
openJiuwen-ai (a GitHub organization) maintains it in openJiuwen-ai/sciencediscovery, which has 148 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 2, 2026.
Source: openJiuwen-ai/sciencediscovery on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.