深度云创科技,专注开发 AI 智能体、AI 应用辅助科研、工作、学习!
See the code欢迎关注B站及YouTube频道:深度云创科技,感兴趣的朋友欢迎加入新时代智能体交流社群
客服微信:16773345788
English | 简体中文版 | 繁體中文版 | 日本語版
Academic Research Skills is a research-to-paper workflow suite for AI coding agents. This cleaned mirror keeps the upstream Claude Code skills and adds local entry points for Claude Code, Codex, and OpenCode.
Redistribution mirror: this repository preserves upstream attribution and license terms. See FORK_NOTICE.md before reuse. The license is CC BY-NC 4.0, including the non-commercial restriction.
| Runtime | Status | Entry point |
|---|---|---|
| Claude Code | Native support | .claude-plugin/, commands/, agents/, and the four top-level SKILL.md folders |
| Codex | Supported through a single router skill | codex/academic-research-suite/ and scripts/install-codex-skill.* |
| OpenCode | Supported through project agent config | opencode.json, .opencode/agents/academic-research-suite.md, and AGENTS.md |
Core workflows:
See docs/INSTALL.md for the complete setup guide.
In Claude Code:
/plugin marketplace add crazymsn/academic-shcolar-skills
/plugin install academic-research-skills
Then run:
/ars-plan
Traditional project install is also supported: copy or symlink these four
folders into .claude/skills/:
deep-research
academic-paper
academic-paper-reviewer
academic-pipeline
Clone this repository, then install the bundled Codex router skill.
Windows PowerShell:
.\scripts\install-codex-skill.ps1 -Force
macOS/Linux:
./scripts/install-codex-skill.sh --force
Restart Codex or open a new conversation, then use:
Use $academic-research-suite to plan a systematic literature review on ...
Plain aliases such as ars-plan, ars-outline, ars-lit-review, and
ars-full are routed by the Codex skill.
Clone this repository and start OpenCode from the repo root:
git clone https://github.com/crazymsn/academic-shcolar-skills.git
cd academic-shcolar-skills
opencode
OpenCode reads opencode.json; the default agent is
academic-research-suite. Available commands include:
/ars-plan
/ars-outline
/ars-abstract
/ars-lit-review
/ars-citation-check
/ars-disclosure
/ars-format-convert
/ars-revision-coach
/ars-revision
/ars-full
Headless example:
opencode run --agent academic-research-suite "ars-plan my paper topic"
This mirror intentionally removes upstream GitHub Actions, sponsorship metadata, third-party HTML snapshots, and showcase PDF binaries. The operational skills, references, scripts, examples, and tests needed for local use are retained.
After install, use a simple smoke test:
/ars-plan starts paper-planning dialogue.$academic-research-suite appears in a new conversation after restart./ars-plan appears in the command list from this repository.deep-research/ — 13-agent research workflow.academic-paper/ — academic writing and revision workflow.academic-paper-reviewer/ — multi-perspective reviewer workflow.academic-pipeline/ — full research-to-paper orchestrator.shared/, scripts/, docs/, examples/ — common schemas, validators, docs, and fixtures.repro_lock, optional cross-model integrity verification, mid-conversation reinforcement, and score trajectory tracking.data_access_level (raw / redacted / verified_only); enforced by scripts/check_data_access_level.py. Pattern adapted from Anthropic's automated-w2s-researcher (2026). See shared/ground_truth_isolation_pattern.md.task_type (open-ended or outcome-gradable). All current ARS skills are open-ended.shared/benchmark_report_pattern.md.repro_lock sub-block on Material Passport. Configuration documentation, not replay guarantee — LLM outputs are not byte-reproducible. See shared/artifact_reproducibility_pattern.md.The original upstream project includes showcase PDFs from a complete 10-stage pipeline run. Those binary artifacts are intentionally not redistributed in this mirror to keep the repository lightweight and reduce third-party content review risk.
See examples/showcase/README.md for the retained artifact inventory, or consult the upstream repository if you need the original showcase files.
If your research involves running experiments (code or human studies) before writing, the Experiment Agent skill fills the gap between ARS Stage 1 (RESEARCH) and Stage 2 (WRITE).
ARS Stage 1 RESEARCH → RQ Brief + Methodology Blueprint
↓
experiment-agent → run/manage experiments → validate results
↓
ARS Stage 2 WRITE → write paper with verified experiment results
What it does: executes code experiments (Python, R, etc.) with real-time monitoring, manages human study protocols with IRB ethics checklist, interprets statistics with 11-type fallacy detection, and verifies reproducibility.
How to use together: pause the ARS pipeline after Stage 1, run experiments in a separate experiment-agent session, then bring the results (with Material Passport) back to ARS Stage 2. ARS requires zero modification. See the experiment-agent README for setup instructions.
# Start a full research pipeline
You: "I want to write a research paper on AI's impact on higher education QA"
# Start with Socratic guidance
You: "Guide my research on AI in educational evaluation"
# Write a paper with guided planning
You: "Guide me through writing a paper on demographic decline"
# Review an existing paper
You: "Review this paper" (then provide the paper)
# Check pipeline status
You: "status"
"Research the impact of AI on higher education" → full mode
"Give me a quick brief on X" → quick mode
"Do a systematic review on X with PRISMA" → systematic-review mode
"Guide my research on X" → socratic mode (guided)
"Fact-check these claims" → fact-check mode
"Do a literature review on X" → lit-review mode
"Review this paper's research quality" → review mode
"Write a paper on X" → full mode
"Guide me through writing a paper" → plan mode (guided)
"Build a paper outline" → outline-only mode
"I have a draft, here are reviewer comments" → revision mode
"Parse these reviewer comments into a roadmap" → revision-coach mode
"Write an abstract for this paper" → abstract-only mode
"Turn this into a literature review paper" → lit-review mode
"Convert to LaTeX" / "Convert citations to IEEE" → format-convert mode
"Check citations" → citation-check mode
"Generate an AI disclosure statement for NeurIPS" → disclosure mode
"Review this paper" → full mode (EIC + R1/R2/R3 + Devil's Advocate)
"Quick assessment of this paper" → quick mode
"Guide me to improve this paper" → guided mode
"Check the methodology" → methodology-focus mode
"Verify the revisions" → re-review mode
"Calibrate this reviewer against my gold set" → calibration mode
"I want to write a complete research paper" → full pipeline from Stage 1
"I already have a paper, review it" → mid-entry at Stage 2.5 (integrity first)
"I received reviewer comments" → mid-entry at Stage 4
Pipeline ends with Stage 6: Process Summary — auto-generates a paper creation process record with 6-dimension Collaboration Quality Evaluation (1–100 scoring).
Using a different language? Socratic mode (deep-research) and Plan mode (academic-paper) use intent-based activation — they detect the meaning of your request, not specific keywords. This means they work in any language without modification.
However, the general
Trigger Keywordssection (which determines whether the skill is activated at all) still lists English and Traditional Chinese keywords. If you find the skill isn't activating reliably in your language, you can add your language's keywords to the### Trigger Keywordssection in eachSKILL.mdfile to improve matching confidence.
Per-agent responsibilities and per-stage artifacts now live in docs/ARCHITECTURE.md. Version numbers are anchored here so release metadata stays in one place.
13-agent research team. Modes: full, quick, review, lit-review, fact-check, socratic, systematic-review. Full agent roster and artifacts: see ARCHITECTURE.md §3.
12-agent paper writing pipeline. Modes: full, plan, outline-only, revision, revision-coach, abstract-only, lit-review, format-convert, citation-check, disclosure. Output: MD + DOCX (via Pandoc when available) + LaTeX (APA 7.0 apa7 class / IEEE / Chicago) → PDF via tectonic. Full agent roster and per-phase responsibilities: see ARCHITECTURE.md §3.
7-agent multi-perspective review with 0-100 quality rubrics. Modes: full, re-review, quick, methodology-focus, guided, calibration. Decision mapping: ≥80 Accept, 65-79 Minor Revision, 50-64 Major Revision, <50 Reject. First-round review team vs. narrow re-review team boundary: see ARCHITECTURE.md §3 Stage 3 / Stage 3'.
10-stage orchestrator with integrity verification, two-stage review, Socratic coaching, and collaboration evaluation. Pipeline guarantees: every stage requires user confirmation checkpoint; integrity verification (Stage 2.5 + 4.5) cannot be skipped; R&R Traceability Matrix (Schema 11) independently verifies author revision claims. v3.4 added the Compliance Agent (PRISMA-trAIce + RAISE) at Stage 2.5 / 4.5. v3.5 adds the Collaboration Depth Observer (collaboration_depth_agent, advisory only — never blocks) at every FULL/SLIM checkpoint and at pipeline completion. MANDATORY integrity gates (2.5 / 4.5) explicitly skip the observer so compliance checks are not diluted. Based on Wang & Zhang (2026), IJETHE 23:11. Stage-by-stage matrix with agents, artifacts, and gates: see ARCHITECTURE.md §3.
While using ARS to write a reflection article about AI in higher education, I ran into three structural problems that no amount of prompt engineering could fix:
Frame-lock: I asked the AI to run a devil's advocate debate against its own thesis. It did — four rounds, each more refined than the last. But every round stayed inside the frame I'd set. The DA attacked arguments, never premises. It never asked "are we even discussing the right question?" This is the same pattern that caused the 31% citation error rate in v2.7's stress test: the verifying AI and the generating AI share the same cognitive frame.
Sycophancy under pushback: Every time I challenged the DA's attacks, it conceded too quickly. It retracted findings faster than it launched them. The model's training rewards conversational harmony — so "the user pushed back" was treated as evidence that the attack was wrong, when often it just meant the user was persistent.
Intent misdetection: The Socratic Mentor kept trying to converge and produce deliverables ("Want me to write this up?") when I was still exploring. It couldn't distinguish "the user wants a deep philosophical discussion" from "the user wants an RQ brief." Both look like engagement, but they need opposite AI behaviors.
Devil's Advocate — Concession Threshold Protocol (deep-research + academic-paper-reviewer)
Socratic Mentor — Intent Detection Layer (deep-research)
Socratic Mentor — Dialogue Health Indicator (deep-research)
These optimizations don't solve AI's structural limits — they make the limits visible and manageable. The DA will still eventually concede if pushed hard enough. The Socratic Mentor will still have some convergence bias. But now there are explicit checkpoints that slow down the sycophancy, force the DA to justify concessions, and prevent the Mentor from wrapping up before the user is ready.
The deeper lesson: AI literacy isn't about learning to use AI as a tool, following ethics rules, or fearing AI risks. It's about engaging AI deeply enough to discover its structural limits yourself — and your own thinking limits in the process.
This work is licensed under CC-BY-NC 4.0.
You are free to:
Under the following terms:
Attribution format:
Based on Academic Research Skills by Cheng-I Wu
https://github.com/Imbad0202/academic-research-skills
Codex post-ship review of PR #149 (7 CI discipline gates) surfaced 4 P2 findings; v3.9.4.2 hardens 3 of 4. F1:
harness-retirement-monthly.ymladdsGH_REPOso scheduled runs have repo context forgh issue create. F2:release-cooldown.ymlfiltersPREV_TAGlookup tov*tags so non-release tags cannot bypass cooldown. F3:release-cooldown.ymlalso reads annotated tag subject + acceptshot-fixspelling (v3.9.2 was previously a false-negative hotfix). PR #157 follow-up:[skip-cooldown]override now read from both commit message AND annotated tag message (self-bootstrapping fix — this tag's cooldown bypass demonstrates F2+F3 work end-to-end). F4 (test-count-monotonic harden) reverted because it surfaced pre-existingscripts/package issue, tracked as #154 (since fixed by PR #158) + re-attempt #155. Closes #152. Follow-ups: #155, #156.
Codex post-ship review of v3.9.4 caught 4 real bugs that per-task subagent reviewers missed. Hotfix patches all 4: (1)
audit()now wirescitation_provenancethrough to P2 and P4 — when a ref slug hasconfidence: loworconflict, the verifier emitsTEMPORAL-METADATA-MISSINGinstead of using timeline dates as ground truth (spec §3.4 first-party safety check was broken). (2)_date_to_intervalparses all schema-valid date shapes includingYYYY-MM(Crossref month precision) andYYYY-MM-DD..YYYY-MM-DD(interval); v3.9.4 silentlyValueError'd on these and skipped the check. (3) P4 now binds direct date captures when ref markers are absent — sentences like "The 2026 policy enabled the 2020 rollout" actually trigger now. (4)citation_provenance.schema.jsonconfidence:highallOf now requires presence (then.required) in addition to non-null, closing the absent-property bypass. 1561 passed (+12 new tests vs v3.9.4 baseline, 0 regression). ARCHITECTURE.md aligned to current state (was stale at v3.8.0).
Deterministic advisory verifier at the Phase 4 → 5 boundary covering 5 temporal failure modes (P1 retrospective arithmetic, P2 anachronistic citation, P3 comparator unmaterialized, P4 causal inversion, P5 deictic present). New Phase 2 sibling
timeline_extraction_agentownsphase2_investigation/timeline.yaml+phase2_investigation/citation_provenance.yaml. Verifier scriptscripts/temporal_integrity_audit.pyruns 5 passes deterministically. M3 Temporal Integrity Iron Rule added toreport_compiler_agent+draft_writer_agent. M6-minimal: Crossrefissued+ pdftotext cover first-party verification. M7-minimal: date provenance + comparator materialization. M5-stub: user-declaredversion_family_idonly. Zero modification toliterature_corpus_entry,claim_audit_result,claim_intent_manifest.bibliography_agentunmodified (F2 invariant). 3 new sidecar schemas. Coverage estimate: 55-70% baseline / 65-75% with M7 minimal. 1549 passed (+44 new, 0 regression).
Pure refactor + one latent-bug fix from the v3.9.0
/simplifyreview backlog. Extractsscripts/_text_similarity.py(3-way client dedup: normalize / similarity / threshold / retry constants) +scripts/_passport_yaml.py(2-way migration tool dedup: ruamel.yaml round-trip config) + private_resolve_by_doi_then_titlehelper (2-way resolver body dedup, §3.4 / §3.5 API surface preserved). Standardizes throttle measurement ontime.monotonicacross OpenAlex + Crossref (wastime.time, NTP-unsafe), aligning with Semantic Scholar. Dual-path import infrastructure on all 5 module-level cross-imports (sibling-first, namespace-package fallback) preserves class identity forSemanticScholarUnavailableand bonus-fixes 2 latent-brokenimport scripts.Xpaths. 1505 passed (+23 new, 0 regression). #128 §4 (parallelize OA + CR per-entry) carried to #138.
#133 closure (hot-fix layer). Long-term architectural fix tracked as v3.10 active conductor in #134. Adds: routing clarification gate in CLAUDE.md (cross-phase materials → clarify with a-d options, not silent dispatch), 22 single-phase agents get prompt hard fence (
## Phase Boundary (v3.9.2)), 16 multi-phase / phase-orthogonal / cross-phase-meta agents intentionally NOT fenced (honest framing — prose placebo creates false-enforcement illusion), advisory verifierscripts/check_pipeline_integrity.pydetects #133 pattern post-hoc. Behavioral smoke tests with cross-model spot-check (100% Opus 4.7, ≥75% Sonnet + GPT-5.5).
v3.9.0 hot-fix. Wraps OpenAlex / Crossref response-read failures as
*Unavailable(#129); guardscheck_claim_audit_consistencyagainst non-stringmanifest_id(#130). No spec change.
#102 closure. v3.7.3 shipped single-index (Semantic Scholar) contamination detection; v3.9.0 extends to three-index triangulation (S2 + OpenAlex + Crossref) as advisory evidence only. Two new optional booleans (
openalex_unmatched,crossref_unmatched) oncontamination_signals; manual-entry not-rule extended symmetrically. Finalizer adds a 4-tier advisory matrix (k=0/1/2/3 over present*_unmatchedfields) with v3.7.3 legacyCONTAMINATED-UNMATCHEDpreserved for the k=1/k_max=1 S2-only case. Formatter pass-through allowlist extends 3 → 9 suffixes; refusal rules 1-10 unchanged per R-L3-2-E. The policy layer (strict modes, hard-block tier,venue_type/triangulation_policy) is deferred to v3.10 per spec §2.3. k=3 marker isCONTAMINATED-TRIANGULATION-UNMATCHED(describes observable, not inferred cause). 3 new firm rules: R-L3-2-C (k computed over present fields), R-L3-2-D (no API-inferred classification), R-L3-2-E (refusal list unchanged; pass-through allowlist extends).
Migration: v3.7.3 corpora — run python scripts/migrate_literature_corpus_to_v3_9_0.py PATH to backfill the two new fields. Pre-v3.7.3 corpora — run migrate_literature_corpus_to_v3_7_3.py FIRST, then v3.9.0 migration (daisy-chained per spec §3.7; the v3.9.0 tool only acts on entries that already carry contamination_signals.semantic_scholar_unmatched).
#118 closure. The
ARS_CLAIM_AUDIT=1uncited constraint-judging path used to silently substitute{"judgment": "NOT_VIOLATED"}onJudgeInvocationError, suppressing HIGH-WARN constraint checks on transient judge outage. v3.8.2 routes those failures through a dedicateduncited_audit_failures[]aggregate at MED-WARN advisory tier, mirroring the cited path INV-14 row but using a dedicated schema becauseclaim_audit_result.ref_slugis required and the uncited path has no ref to bind. The four option-1..4 trade-offs from the #118 issue body landed on option 2 (new aggregate) — option 4 (re-raise and abort) was rejected for the audit-coverage hit on flaky judge endpoints.
uncited_audit_failure.schema.json aggregate (spec §3.6). One entry per uncited sentence × manifest pair where the constraint judge raised JudgeInvocationError. Same fault-class enum as cited-path INV-14 (judge_timeout / judge_api_error / judge_parse_error / cache_corruption / retrieval_api_error / retrieval_timeout / retrieval_network_error). rule_version: D4-c-v1-uaf-v1.finding_id uniqueness, scoped_manifest_id cross-array integrity, (M, C) pair integrity when manifest_claim_id non-null, per-(sentence, manifest) dedup, rationale fault_class prefix, cross-aggregate exclusivity vs constraint_violations[].[CLAIM-AUDIT-TOOL-FAILURE-UNCITED — <fault-class>], gate passes (retry-next-pass remediation). Formatter REFUSE list unchanged — UAF is advisory.scripts/claim_audit_pipeline.py): swallow site at line 1211-1224 removed; JudgeInvocationError now emits a UAF row + continues to the next (sentence, manifest) pair. No fake NOT_VIOLATED reaches constraint_violations[].academic-pipeline/agents/claim_ref_alignment_audit_agent.md): Output emission table grows seventh row; Error handling table grows from 3 surfaces to 4 surfaces with the uncited-path UAF row.v3.7.3 + v3.8 close the L3 (claim-faithfulness) gap end-to-end. v3.7.3 ships the locator infrastructure — every citation carries a three-layer anchor so future audits can fetch the cited passage. v3.8 ships the audit pass that consumes those anchors, judges whether the cited source supports the claim, and gate-refuses HIGH-WARN violations at the formatter terminal hard gate. The release also bundles 5 audit-trail-shipped feature PRs accumulated since v3.7.0 (#104 / #105 / #108 / #111 / #115).
claim_ref_alignment_audit_agent (v3.8 PR #121). Opt-in (ARS_CLAIM_AUDIT=1, default OFF) Stage 4→5 audit agent. Judges every sampled citation against retrieved excerpt; emits claim_audit_results[] + claim_intent_manifests[] + claim_drifts[] + uncited_assertions[] + constraint_violations[] aggregates. 8-row finalizer matrix routes HIGH-WARN classes (CLAIM-NOT-SUPPORTED / NEGATIVE-CONSTRAINT-VIOLATION / FABRICATED-REFERENCE / ANCHORLESS / CONSTRAINT-VIOLATION-UNCITED) through the formatter REFUSE rules 6-10. Calibration runner ships with 20-tuple gold set (T-C1 FNR<0.15 + FPR<0.10, T-C2 per-class, T-C3 shape integrity). 8 rounds of dual-track review (R1 codex + Gemini-3.1-pro-preview, R2-R8 codex-only after Gemini quota exhausted); trajectory R1 4P1+2P2 → R8 0P1+4P2 ship gate.synthesis_agent / draft_writer_agent / report_compiler_agent gain ## Three-Layer Citation Emission (v3.7.3) H2. Every <!--ref:slug--> carries <!--anchor:<kind>:<value>--> with <kind> ∈ {quote, page, section, paragraph, none} (quote anchors capped at 25 words, URL-encoded). pipeline_orchestrator_agent finalizer becomes 5-cell with precedence-zero NO-LOCATOR check. formatter_agent adds explicit hard-gate refusal for [UNVERIFIED CITATION — NO QUOTE OR PAGE LOCATOR]. literature_corpus_entry.schema.json adds optional contamination_signals: { preprint_post_llm_inflection, semantic_scholar_unmatched } object. bibliography_agent computes both signals at ingest. 11-round review trajectory (Codex×10 + Gemini cross-model×1) closed 22 findings. Spec: docs/design/2026-05-12-ars-v3.7.3-claim-faithfulness-and-contaminated-source-spec.md. External motivation: Zhao et al. arXiv:2605.07723 (2026-05).slr_lineage emission on systematic-review → academic-paper handoff (2026-05-15). Schema 9 optional boolean slr_lineage field; producer pipeline_orchestrator_agent writes at every handoff transition; consumer disclosure mode dispatches --policy-anchor=prisma-trAIce per the §4.3 G2 invariant track gate.README.zh-TW.md motivation section frames the v3.7.x line against Zhao et al.'s 146,932 hallucinated-citation finding.scripts/migrate_literature_corpus_to_v3_7_3.py retro-computes both contamination signals across pre-v3.7.3 passports.scripts/semantic_scholar_client.py adds 1-req/s throttle (drops to 0.1s when S2_API_KEY detected), outage latch on URLError, and reset_outage_latch() for long-running cross-passport batches.Plugin packaging upgrade: ARS now installs in one line on Claude Code CLI / VS Code / JetBrains via
/plugin marketplace add Imbad0202/academic-research-skills+/plugin install academic-research-skills. The traditionalgit clone + symlink to ~/.claude/skills/flow continues to work — both tracks are first-class.
.claude-plugin/plugin.json declares the suite (4 skills auto-discovered from skills/ directory via relative symlinks). .claude-plugin/marketplace.json registers the plugin so a single GitHub-hosted endpoint serves both the marketplace listing and the plugin source. README + README.zh-TW.md + docs/SETUP.md carry dual-track install instructions.commands/ars-*.md (Phase 2.1, PR #69) mapping MODE_REGISTRY.md entries to /ars-<mode> triggers. Model routing is pinned in each command's frontmatter — opus for full and revision-coach (architectural / review-interpretation depth), sonnet for the other 8. No Haiku per project policy.agents/*_agent.md (Phase 2.1, PR #69) as relative symlinks to the v3.6.7-hardened downstream agents in deep-research/agents/: synthesis_agent, research_architect_agent, report_compiler_agent. Underscore filenames preserved to keep scripts/check_v3_6_7_pattern_protection.py hard-pinned paths and INV-3 manifest-confined Clause 1 invariant intact. Symlinks (not copies) preserve a single source of truth and prevent the Pattern C3 attack surface that v3.6.7 §6 inversion sweep + INV-1/2/3 lint closes.model: inherit added to those three source agent frontmatters. Inherit chosen over pinning sonnet so an opus session running ARS full pipeline keeps opus agents (instead of being capped). The user's ~/.claude/hooks/warn-agent-no-model.sh PreToolUse hook gates Haiku at the dispatching boundary, so inherit resolves through an already-Haiku-free model.hooks/hooks.json + scripts/announce-ars-loaded.sh (Phase 2.2, PR #70). When the plugin loads, the hook injects an additionalContext listing the 10 slash commands, the 3 plugin agents, and a token-budget pointer into the LLM's first turn. startup and clear source values get the full announce; resume and compact get a one-line ack to avoid burning context. Bash 3.2 compatible — runs on macOS stock /bin/bash with no brew install bash requirement.SubagentStop → run_codex_audit.sh codex audit hook was scoped out for v3.7.0 due to a contract gap (the SubagentStop payload carries no stage/deliverable info, so the wrapper would have to half-infer required arguments) and an invoker-class boundary (run_codex_audit.sh lines 4–7 forbid same-session in-LLM invocation; PostToolUse fires inside the producing session). Real audit-hook integration deferred to a future release when ARS gains a stage/deliverable propagation contract. See docs/design/2026-04-30-ars-v3.7.0-plugin-packaging-roadmap.md Update note 2026-05-05 (Phase 2.2 scope reduction).docs/PERFORMANCE.md + .zh-TW.md gain a "v3.7.0 Plugin agents and model routing" subsection explaining the inherit semantics and current 3-agent scope boundary.${CLAUDE_PLUGIN_ROOT} breaking install paths with spaces) that the inline rounds missed — confirms the value of separating implementation review (inline) from contract review (fresh).commands/, agents/, hooks/, .claude-plugin/, skills/ symlink dir, three plugin-agent model: inherit frontmatter additions). Existing 4.3k clone-install users see no breaking change.Naming note: this release ships the v3.6.6 generator-evaluator contract spec and implementation. The v3.6.6 work landed after v3.6.7 due to project sequencing; the design doc retains the v3.6.6 internal naming for the contract gate version, while the suite release is tagged v3.6.8 to keep the CHANGELOG monotonic.
shared/sprint_contract.schema.json) extends Schema 13 with two new mode enum values (writer_full + evaluator_full), two new optional top-level fields (pre_commitment_artifacts writer-only, disagreement_handling evaluator-only), and 12 allOf branches enforcing reviewer- / writer- / evaluator-conditional gates. Existing reviewer contracts validate byte-equivalent under Schema 13.1 (§3.6 zero-touch promise).shared/contracts/writer/full.json (D1–D7, F1/F4/F2/F3/F0) and shared/contracts/evaluator/full.json (D1–D5, F1/F2/F3/F6/F4/F5/F0). Promoted from design-time artefacts on the spec branch to live shipped status atomically with the Schema 13.1 upgrade.academic-paper full: Phase 4 splits into Phase 4a (writer paper-blind pre-commitment) + Phase 4b (writer paper-visible drafting + self-scoring); Phase 6 splits into Phase 6a (evaluator paper-blind pre-commitment) + Phase 6b (evaluator paper-visible scoring + decision). Phase-numbered <phase4a_output> / <phase6a_output> data delimiters mirror the v3.6.2 reviewer pattern. Lint count summary: writer 3+4 / evaluator 5+5 / reviewer 5+6 (reviewer remains zero-touch).academic-paper SKILL + agent files gain a verbatim ## v3.6.6 Generator-Evaluator Contract Protocol block (101 lines in SKILL.md plus 47 lines in draft_writer_agent.md + 57 lines in peer_reviewer_agent.md). SKILL.md also adds a new ## Known limitations section carrying graceful-degradation + cross-session resume forward notes for v3.6.7+.scripts/check_sprint_contract.py SC-* mode-gating audit (SC-5 + SC-11 reviewer-only; SC-9 extended across all three mode families). 17 new tests bring the validator unit-test count from 54 to 71 (positive + 5 schema-branch negative + 2 §3.6 reviewer regression + 6 mode-gating tests).scripts/check_v3_6_6_ab_manifest.py enforces §6.2 manifest schema + §6.5 git-tracked invariants on tests/fixtures/v3.6.6-ab/manifest.yaml. .github/workflows/spec-consistency.yml extends the sprint contract validation loop to iterate writer + evaluator template directories alongside the existing reviewer loop, plus runs the new manifest CI lint.tests/fixtures/v3.6.6-ab/ (30 files): manifest + README + 6 paper-A inputs/baseline + 1 paper-C inputs/baseline + Stage 3 reviewer excerpt + 6 codex-judge baseline placeholders. Real fixture data populates in follow-up commits before the implementation work fully completes.synthesis_agent (A1–A5 narrative-side), the survey-designer mode of research_architect_agent (B1–B5 instrument-side), and the abstract-only mode of report_compiler_agent (C1–C3 publication-side). Each agent prompt now carries a PATTERN PROTECTION (v3.6.7) block.shared/references/: irb_terminology_glossary.md, psychometric_terminology_glossary.md, protected_hedging_phrases.md, word_count_conventions.md. The reference files carry operational contracts that the agent prompts cite by path.shared/templates/codex_audit_multifile_template.md with seven audit dimensions and a mandatory three-part Section 4(f) check for report_compiler_agent bundles. Failure of any sub-check is a P1 finding.scripts/check_v3_6_7_pattern_protection.py enforces protection-clause presence and obligation-phrase shape; scripts/test_check_v3_6_7_pattern_protection.py preserves codex review evidence so future checker regressions surface in CI. Both are wired into .github/workflows/spec-consistency.yml.gpt-5.5 + xhigh cross-model review reached SHIP-OK with zero P1+P2 findings. Step 6 (orchestrator runtime hooks) and Step 8 (synthetic eval case) ship in a follow-up PR.literature_corpus[] Consumer Integrationdeep-research/agents/bibliography_agent.md and academic-paper/agents/literature_strategist_agent.md. Both follow the same five-step corpus-first, search-fills-gap flow when the passport carries a non-empty literature_corpus[] and the same four Iron Rules (Same criteria / No silent skip / No corpus mutation / Graceful fallback on parse failure).obtained_via / obtained_at. final_included = pre_screened_included[] ∪ external_included[] stays neutral — no provenance tags on bibliography entries or literature matrix rows.academic-pipeline/references/literature_corpus_consumers.md with the canonical PRE-SCREENED template, BAD/GOOD examples, four Iron Rules, and per-consumer reading instructions.scripts/check_corpus_consumer_protocol.py enforcing nine protocol invariants with manifest-driven consumer list (scripts/corpus_consumer_manifest.json).shared/handoff_schemas.md retired the v3.6.4 "Consumer-side integration deferred to v3.6.5+" caveat; replaced with backpointer to the consumer protocol.[CORPUS PARSE FAILURE] surface. citation_compliance_agent corpus integration deferred (target version TBD post-v3.8).literature_corpus[] Input Portliterature_corpus[] field added to Schema 9 as an optional input port for user-owned literature. Each entry conforms to shared/contracts/passport/literature_corpus_entry.schema.json (CSL-JSON authors, year, title, source_pointer + private optional abstract / user_notes).academic-pipeline/references/adapters/overview.md: any program (any language) reading a user corpus source can produce conformant passport.yaml + rejection_log.yaml. Fail-soft entry-level errors, fail-loud adapter-level errors, deterministic ordering.scripts/adapters/: folder_scan.py (filesystem of PDFs), zotero.py (Better BibTeX JSON export), obsidian.py (vault frontmatter). Starting points only; users are expected to write their own adapters for non-reference sources.shared/contracts/passport/rejection_log.schema.json with closed enum of categorical reason values; always emitted (empty when no rejections).scripts/check_literature_corpus_schema.py validates schemas + adapter examples; scripts/sync_adapter_docs.py --check prevents schema→docs drift; new pytest.yml workflow runs scripts/adapters/tests/ on path-filtered triggers.bibliography_agent and literature_strategist_agent were wired in v3.6.5.ARS_PASSPORT_RESET=1). Promotes every FULL checkpoint to a context-reset boundary. New resume_from_passport=<hash> mode lets users resume in a fresh Claude Code session from the Material Passport ledger alone. systematic-review mode with the flag ON makes reset mandatory at every FULL checkpoint; other modes treat reset as the flag-gated default. Flag OFF preserves pre-v3.6.3 behavior byte-for-byte.reset_boundary[] ledger with two entry kinds (kind: boundary + kind: resume). Hash uses JSON Canonical Form + SHA-256 with canonical placeholder for self-reference safety. Optional pending_decision handles MANDATORY branch choices.scripts/check_passport_reset_contract.py CI lint: every mention of the flag must co-locate a pointer to the authoritative protocol doc.academic-pipeline/references/passport_as_reset_boundary.md.docs/PERFORMANCE.md updated with long-running-session guidance.v3.6.2 introduces Schema 13 sprint contracts and a hard-gate orchestration that forces reviewers to pre-commit their scoring plan before reading the paper. Reviewer-only first test case; writer/evaluator deferred to v3.6.4. See CHANGELOG.
panel_size, acceptance_dimensions, failure_conditions (with severity precedence + panel-relative cross_reviewer_quantifier), measurement_procedure, optional override_ladder, bounded agent_amendments. Validator: scripts/check_sprint_contract.py.<phase1_output>...</phase1_output> data delimiter to narrow the self-injection surface.failure_condition with panel-relative quantifier + recognised expression vocabulary → resolve precedence by severity. Forbidden-ops list explicit in editorial_synthesizer_agent.shared/contracts/reviewer/full.json panel 5; shared/contracts/reviewer/methodology_focus.json panel 2). reviewer_re_review, reviewer_calibration, reviewer_guided are reserved in the schema enum but ship without contract templates in v3.6.2; they retain pre-v3.6.2 behaviour. reviewer_quick is excluded from the enum entirely.academic-paper-reviewer SKILL version: 1.8.1 → 1.9.0. academic-pipeline SKILL version: 3.5.1 → 3.6.2 (suite-version invariant). Suite version bumped to 3.6.2.docs/design/2026-04-23-ars-v3.6.2-sprint-contract-design.md and protocol academic-paper-reviewer/references/sprint_contract_protocol.md.v3.5.1 adds an opt-in honesty probe to the Socratic Mentor (ARS_SOCRATIC_READING_PROBE=1). Default off. See CHANGELOG.
ARS_SOCRATIC_READING_PROBE=1 is set, the Socratic Mentor fires a one-time honesty probe during goal-oriented sessions where the user has cited a specific paper. Decline is logged without penalty. Outcome flows into the Research Plan Summary and Stage 6 AI Self-Reflection Report. No new agent, no schema change.deep-research SKILL version: 2.9.0 → 2.9.1. academic-pipeline SKILL version: 3.5.0 → 3.5.1. Suite version bumped to 3.5.1.collaboration_depth_agent in academic-pipeline (Agent Team grows from 3 to 4). Invoked at every FULL/SLIM checkpoint and at pipeline completion; scores user-AI collaboration against a 4-dimension rubric. Advisory only — never blocks progression. MANDATORY checkpoints (Stages 2.5 / 4.5 integrity gates) do NOT invoke the observer.shared/collaboration_depth_rubric.md v1.0. Dimensions: Delegation Intensity, Cognitive Vigilance, Cognitive Reallocation, Zone Classification (Zone 1 / Zone 2 / Zone 3). Based on Wang, S., & Zhang, H. (2026). "Pedagogical partnerships with generative AI in higher education: how dual cognitive pathways paradoxically enable transformative learning." International Journal of Educational Technology in Higher Education, 23:11. DOI 10.1186/s41239-026-00585-x.ARS_CROSS_MODEL is set the observer runs on both models; dimension disagreement > 2 points is reported rather than silently smoothed. ARS_CROSS_MODEL_SAMPLE_INTERVAL escape hatch for cost trade-off.insufficient_evidence block instead of dispatching the full-model observer.academic-pipeline SKILL version: 3.3.0 → 3.4.0. Suite version bumped to 3.5.0. New lint scripts/check_collaboration_depth_rubric.py + 10 tests.compliance_history[] (append-only).disclosure_addendum into manuscript. No detection evasion possible.task_type: open-ended.docs/ARCHITECTURE.md as the single source of truth for pipeline structure (flow, matrix, data-access, dependency graph, quality gates, modes). Merged into main via PR #18.docs/SETUP.md (prerequisites, API keys, Pandoc/tectonic, cross-model verification, installation methods) and docs/PERFORMANCE.md (token budgets, recommended Claude Code settings). README links to both instead of inlining them.3.3.6.benchmark_report.schema.json + repro_lock optional block on Material Passport. Both ship with pattern docs, lints, and examples. First formal Python dev dep manifest (requirements-dev.txt).README.md and README.zh-TW.md so they include the missing v3.3.3 and v3.3.2 release summaries.scripts/check_spec_consistency.py so future README changelog drift fails CI.--- fences now fail cleanly instead of being parsed as valid YAML..docx generation is Pandoc-dependent, with Markdown + conversion instructions as fallback.v3.3.3 release: suite version bump, academic-paper -> v3.0.2, academic-pipeline -> v3.2.2.metadata.data_access_level to all top-level SKILL.md files with enforced vocabulary: raw, redacted, verified_only.metadata.task_type to all top-level SKILL.md files with enforced vocabulary: open-ended, outcome-gradable.shared/ground_truth_isolation_pattern.md and linked the new vocabulary from shared/handoff_schemas.md..claude/CLAUDE.md, MODE_REGISTRY.md, and SKILL.md files to the current mode counts and published skill versions.Integrates techniques from PaperOrchestra (Song, Song, Pfister & Yoon, 2026, Google).
[MATERIAL GAP] for missing content instead of filling from memory. Reduces Mode 5/6 failure risk.Integrates insights from Lu et al. (2026, Nature 651:914-919) — the first end-to-end autonomous AI research system to pass blind peer review.
Inspired by patterns from aspi6246/Claude-Code-Skills-for-Academics.
Wave 1: Anti-Context-Rot Anchors
Wave 2: Traceability + Cognitive Frameworks + Reinforcement
argumentation_reasoning_framework.md — Toulmin model, Bradford Hill causal reasoning, inference to best explanation, epistemic status classificationreview_quality_thinking.md — three lenses (internal validity, external validity, contribution), common reviewer traps, calibration questionswriting_judgment_framework.md — clarity test, reader's journey, discipline-specific voice, revision decision matrixWave 3: Lean Skill Size
references/ filesARS_CROSS_MODEL env var — without it, everything works as before. See shared/cross_model_verification.md for full setup guide, API patterns, and cost estimates.status: active and related_skills cross-references to all 4 SKILL.md frontmatters.deep-research ↔ academic-paper ↔ academic-paper-reviewer ↔ academic-pipeline.shared/style_calibration_protocol.mdacademic-paper/references/writing_quality_check.md): Writing quality checklist applied during draft self-review. 5 categories: AI high-frequency term warnings (25 terms), punctuation pattern control (em dash ≤3), throat-clearing opener detection, structural pattern warnings (Rule of Three, uniform paragraphs, synonym cycling), and burstiness checks (sentence length variation). These are good writing rules — not detection evasionshared/handoff_schemas.md)deep-research/references/socratic_questioning_framework.md: SCR Overlay Protocol mapping SCR phases to Socratic functionsCHANGELOG.mdsocratic/plan over full — safer to guide first.apa7 document class, text justification fix (ragged2e + etoolbox), table column width formula, bilingual abstract centering, standardized font stack (Times New Roman + Source Han Serif TC VF + Courier New), PDF via tectonic onlytectonic (no HTML-to-PDF); APA 7.0 uses apa7 document class (man mode) with XeCJK for bilingual CJK support; font stack: Times New Roman + Source Han Serif TC VF + Courier Newintegrity_verification_agent — 100% reference/data verification with audit traildevils_advocate_reviewer_agent — 8-dimension thesis challengerec13c41 (docs: remove README contributor sections)
1 commits
Python
97.2%
Shell
2.5%
深度云创科技,专注开发 AI 智能体、AI 应用辅助科研、工作、学习!
See the code欢迎关注B站及YouTube频道:深度云创科技,感兴趣的朋友欢迎加入新时代智能体交流社群
客服微信:16773345788
English | 简体中文版 | 繁體中文版 | 日本語版
Academic Research Skills is a research-to-paper workflow suite for AI coding agents. This cleaned mirror keeps the upstream Claude Code skills and adds local entry points for Claude Code, Codex, and OpenCode.
Redistribution mirror: this repository preserves upstream attribution and license terms. See FORK_NOTICE.md before reuse. The license is CC BY-NC 4.0, including the non-commercial restriction.
| Runtime | Status | Entry point |
|---|---|---|
| Claude Code | Native support | .claude-plugin/, commands/, agents/, and the four top-level SKILL.md folders |
| Codex | Supported through a single router skill | codex/academic-research-suite/ and scripts/install-codex-skill.* |
| OpenCode | Supported through project agent config | opencode.json, .opencode/agents/academic-research-suite.md, and AGENTS.md |
Core workflows:
See docs/INSTALL.md for the complete setup guide.
In Claude Code:
/plugin marketplace add crazymsn/academic-shcolar-skills
/plugin install academic-research-skills
Then run:
/ars-plan
Traditional project install is also supported: copy or symlink these four
folders into .claude/skills/:
deep-research
academic-paper
academic-paper-reviewer
academic-pipeline
Clone this repository, then install the bundled Codex router skill.
Windows PowerShell:
.\scripts\install-codex-skill.ps1 -Force
macOS/Linux:
./scripts/install-codex-skill.sh --force
Restart Codex or open a new conversation, then use:
Use $academic-research-suite to plan a systematic literature review on ...
Plain aliases such as ars-plan, ars-outline, ars-lit-review, and
ars-full are routed by the Codex skill.
Clone this repository and start OpenCode from the repo root:
git clone https://github.com/crazymsn/academic-shcolar-skills.git
cd academic-shcolar-skills
opencode
OpenCode reads opencode.json; the default agent is
academic-research-suite. Available commands include:
/ars-plan
/ars-outline
/ars-abstract
/ars-lit-review
/ars-citation-check
/ars-disclosure
/ars-format-convert
/ars-revision-coach
/ars-revision
/ars-full
Headless example:
opencode run --agent academic-research-suite "ars-plan my paper topic"
This mirror intentionally removes upstream GitHub Actions, sponsorship metadata, third-party HTML snapshots, and showcase PDF binaries. The operational skills, references, scripts, examples, and tests needed for local use are retained.
After install, use a simple smoke test:
/ars-plan starts paper-planning dialogue.$academic-research-suite appears in a new conversation after restart./ars-plan appears in the command list from this repository.deep-research/ — 13-agent research workflow.academic-paper/ — academic writing and revision workflow.academic-paper-reviewer/ — multi-perspective reviewer workflow.academic-pipeline/ — full research-to-paper orchestrator.shared/, scripts/, docs/, examples/ — common schemas, validators, docs, and fixtures.repro_lock, optional cross-model integrity verification, mid-conversation reinforcement, and score trajectory tracking.data_access_level (raw / redacted / verified_only); enforced by scripts/check_data_access_level.py. Pattern adapted from Anthropic's automated-w2s-researcher (2026). See shared/ground_truth_isolation_pattern.md.task_type (open-ended or outcome-gradable). All current ARS skills are open-ended.shared/benchmark_report_pattern.md.repro_lock sub-block on Material Passport. Configuration documentation, not replay guarantee — LLM outputs are not byte-reproducible. See shared/artifact_reproducibility_pattern.md.The original upstream project includes showcase PDFs from a complete 10-stage pipeline run. Those binary artifacts are intentionally not redistributed in this mirror to keep the repository lightweight and reduce third-party content review risk.
See examples/showcase/README.md for the retained artifact inventory, or consult the upstream repository if you need the original showcase files.
If your research involves running experiments (code or human studies) before writing, the Experiment Agent skill fills the gap between ARS Stage 1 (RESEARCH) and Stage 2 (WRITE).
ARS Stage 1 RESEARCH → RQ Brief + Methodology Blueprint
↓
experiment-agent → run/manage experiments → validate results
↓
ARS Stage 2 WRITE → write paper with verified experiment results
What it does: executes code experiments (Python, R, etc.) with real-time monitoring, manages human study protocols with IRB ethics checklist, interprets statistics with 11-type fallacy detection, and verifies reproducibility.
How to use together: pause the ARS pipeline after Stage 1, run experiments in a separate experiment-agent session, then bring the results (with Material Passport) back to ARS Stage 2. ARS requires zero modification. See the experiment-agent README for setup instructions.
# Start a full research pipeline
You: "I want to write a research paper on AI's impact on higher education QA"
# Start with Socratic guidance
You: "Guide my research on AI in educational evaluation"
# Write a paper with guided planning
You: "Guide me through writing a paper on demographic decline"
# Review an existing paper
You: "Review this paper" (then provide the paper)
# Check pipeline status
You: "status"
"Research the impact of AI on higher education" → full mode
"Give me a quick brief on X" → quick mode
"Do a systematic review on X with PRISMA" → systematic-review mode
"Guide my research on X" → socratic mode (guided)
"Fact-check these claims" → fact-check mode
"Do a literature review on X" → lit-review mode
"Review this paper's research quality" → review mode
"Write a paper on X" → full mode
"Guide me through writing a paper" → plan mode (guided)
"Build a paper outline" → outline-only mode
"I have a draft, here are reviewer comments" → revision mode
"Parse these reviewer comments into a roadmap" → revision-coach mode
"Write an abstract for this paper" → abstract-only mode
"Turn this into a literature review paper" → lit-review mode
"Convert to LaTeX" / "Convert citations to IEEE" → format-convert mode
"Check citations" → citation-check mode
"Generate an AI disclosure statement for NeurIPS" → disclosure mode
"Review this paper" → full mode (EIC + R1/R2/R3 + Devil's Advocate)
"Quick assessment of this paper" → quick mode
"Guide me to improve this paper" → guided mode
"Check the methodology" → methodology-focus mode
"Verify the revisions" → re-review mode
"Calibrate this reviewer against my gold set" → calibration mode
"I want to write a complete research paper" → full pipeline from Stage 1
"I already have a paper, review it" → mid-entry at Stage 2.5 (integrity first)
"I received reviewer comments" → mid-entry at Stage 4
Pipeline ends with Stage 6: Process Summary — auto-generates a paper creation process record with 6-dimension Collaboration Quality Evaluation (1–100 scoring).
Using a different language? Socratic mode (deep-research) and Plan mode (academic-paper) use intent-based activation — they detect the meaning of your request, not specific keywords. This means they work in any language without modification.
However, the general
Trigger Keywordssection (which determines whether the skill is activated at all) still lists English and Traditional Chinese keywords. If you find the skill isn't activating reliably in your language, you can add your language's keywords to the### Trigger Keywordssection in eachSKILL.mdfile to improve matching confidence.
Per-agent responsibilities and per-stage artifacts now live in docs/ARCHITECTURE.md. Version numbers are anchored here so release metadata stays in one place.
13-agent research team. Modes: full, quick, review, lit-review, fact-check, socratic, systematic-review. Full agent roster and artifacts: see ARCHITECTURE.md §3.
12-agent paper writing pipeline. Modes: full, plan, outline-only, revision, revision-coach, abstract-only, lit-review, format-convert, citation-check, disclosure. Output: MD + DOCX (via Pandoc when available) + LaTeX (APA 7.0 apa7 class / IEEE / Chicago) → PDF via tectonic. Full agent roster and per-phase responsibilities: see ARCHITECTURE.md §3.
7-agent multi-perspective review with 0-100 quality rubrics. Modes: full, re-review, quick, methodology-focus, guided, calibration. Decision mapping: ≥80 Accept, 65-79 Minor Revision, 50-64 Major Revision, <50 Reject. First-round review team vs. narrow re-review team boundary: see ARCHITECTURE.md §3 Stage 3 / Stage 3'.
10-stage orchestrator with integrity verification, two-stage review, Socratic coaching, and collaboration evaluation. Pipeline guarantees: every stage requires user confirmation checkpoint; integrity verification (Stage 2.5 + 4.5) cannot be skipped; R&R Traceability Matrix (Schema 11) independently verifies author revision claims. v3.4 added the Compliance Agent (PRISMA-trAIce + RAISE) at Stage 2.5 / 4.5. v3.5 adds the Collaboration Depth Observer (collaboration_depth_agent, advisory only — never blocks) at every FULL/SLIM checkpoint and at pipeline completion. MANDATORY integrity gates (2.5 / 4.5) explicitly skip the observer so compliance checks are not diluted. Based on Wang & Zhang (2026), IJETHE 23:11. Stage-by-stage matrix with agents, artifacts, and gates: see ARCHITECTURE.md §3.
While using ARS to write a reflection article about AI in higher education, I ran into three structural problems that no amount of prompt engineering could fix:
Frame-lock: I asked the AI to run a devil's advocate debate against its own thesis. It did — four rounds, each more refined than the last. But every round stayed inside the frame I'd set. The DA attacked arguments, never premises. It never asked "are we even discussing the right question?" This is the same pattern that caused the 31% citation error rate in v2.7's stress test: the verifying AI and the generating AI share the same cognitive frame.
Sycophancy under pushback: Every time I challenged the DA's attacks, it conceded too quickly. It retracted findings faster than it launched them. The model's training rewards conversational harmony — so "the user pushed back" was treated as evidence that the attack was wrong, when often it just meant the user was persistent.
Intent misdetection: The Socratic Mentor kept trying to converge and produce deliverables ("Want me to write this up?") when I was still exploring. It couldn't distinguish "the user wants a deep philosophical discussion" from "the user wants an RQ brief." Both look like engagement, but they need opposite AI behaviors.
Devil's Advocate — Concession Threshold Protocol (deep-research + academic-paper-reviewer)
Socratic Mentor — Intent Detection Layer (deep-research)
Socratic Mentor — Dialogue Health Indicator (deep-research)
These optimizations don't solve AI's structural limits — they make the limits visible and manageable. The DA will still eventually concede if pushed hard enough. The Socratic Mentor will still have some convergence bias. But now there are explicit checkpoints that slow down the sycophancy, force the DA to justify concessions, and prevent the Mentor from wrapping up before the user is ready.
The deeper lesson: AI literacy isn't about learning to use AI as a tool, following ethics rules, or fearing AI risks. It's about engaging AI deeply enough to discover its structural limits yourself — and your own thinking limits in the process.
This work is licensed under CC-BY-NC 4.0.
You are free to:
Under the following terms:
Attribution format:
Based on Academic Research Skills by Cheng-I Wu
https://github.com/Imbad0202/academic-research-skills
Codex post-ship review of PR #149 (7 CI discipline gates) surfaced 4 P2 findings; v3.9.4.2 hardens 3 of 4. F1:
harness-retirement-monthly.ymladdsGH_REPOso scheduled runs have repo context forgh issue create. F2:release-cooldown.ymlfiltersPREV_TAGlookup tov*tags so non-release tags cannot bypass cooldown. F3:release-cooldown.ymlalso reads annotated tag subject + acceptshot-fixspelling (v3.9.2 was previously a false-negative hotfix). PR #157 follow-up:[skip-cooldown]override now read from both commit message AND annotated tag message (self-bootstrapping fix — this tag's cooldown bypass demonstrates F2+F3 work end-to-end). F4 (test-count-monotonic harden) reverted because it surfaced pre-existingscripts/package issue, tracked as #154 (since fixed by PR #158) + re-attempt #155. Closes #152. Follow-ups: #155, #156.
Codex post-ship review of v3.9.4 caught 4 real bugs that per-task subagent reviewers missed. Hotfix patches all 4: (1)
audit()now wirescitation_provenancethrough to P2 and P4 — when a ref slug hasconfidence: loworconflict, the verifier emitsTEMPORAL-METADATA-MISSINGinstead of using timeline dates as ground truth (spec §3.4 first-party safety check was broken). (2)_date_to_intervalparses all schema-valid date shapes includingYYYY-MM(Crossref month precision) andYYYY-MM-DD..YYYY-MM-DD(interval); v3.9.4 silentlyValueError'd on these and skipped the check. (3) P4 now binds direct date captures when ref markers are absent — sentences like "The 2026 policy enabled the 2020 rollout" actually trigger now. (4)citation_provenance.schema.jsonconfidence:highallOf now requires presence (then.required) in addition to non-null, closing the absent-property bypass. 1561 passed (+12 new tests vs v3.9.4 baseline, 0 regression). ARCHITECTURE.md aligned to current state (was stale at v3.8.0).
Deterministic advisory verifier at the Phase 4 → 5 boundary covering 5 temporal failure modes (P1 retrospective arithmetic, P2 anachronistic citation, P3 comparator unmaterialized, P4 causal inversion, P5 deictic present). New Phase 2 sibling
timeline_extraction_agentownsphase2_investigation/timeline.yaml+phase2_investigation/citation_provenance.yaml. Verifier scriptscripts/temporal_integrity_audit.pyruns 5 passes deterministically. M3 Temporal Integrity Iron Rule added toreport_compiler_agent+draft_writer_agent. M6-minimal: Crossrefissued+ pdftotext cover first-party verification. M7-minimal: date provenance + comparator materialization. M5-stub: user-declaredversion_family_idonly. Zero modification toliterature_corpus_entry,claim_audit_result,claim_intent_manifest.bibliography_agentunmodified (F2 invariant). 3 new sidecar schemas. Coverage estimate: 55-70% baseline / 65-75% with M7 minimal. 1549 passed (+44 new, 0 regression).
Pure refactor + one latent-bug fix from the v3.9.0
/simplifyreview backlog. Extractsscripts/_text_similarity.py(3-way client dedup: normalize / similarity / threshold / retry constants) +scripts/_passport_yaml.py(2-way migration tool dedup: ruamel.yaml round-trip config) + private_resolve_by_doi_then_titlehelper (2-way resolver body dedup, §3.4 / §3.5 API surface preserved). Standardizes throttle measurement ontime.monotonicacross OpenAlex + Crossref (wastime.time, NTP-unsafe), aligning with Semantic Scholar. Dual-path import infrastructure on all 5 module-level cross-imports (sibling-first, namespace-package fallback) preserves class identity forSemanticScholarUnavailableand bonus-fixes 2 latent-brokenimport scripts.Xpaths. 1505 passed (+23 new, 0 regression). #128 §4 (parallelize OA + CR per-entry) carried to #138.
#133 closure (hot-fix layer). Long-term architectural fix tracked as v3.10 active conductor in #134. Adds: routing clarification gate in CLAUDE.md (cross-phase materials → clarify with a-d options, not silent dispatch), 22 single-phase agents get prompt hard fence (
## Phase Boundary (v3.9.2)), 16 multi-phase / phase-orthogonal / cross-phase-meta agents intentionally NOT fenced (honest framing — prose placebo creates false-enforcement illusion), advisory verifierscripts/check_pipeline_integrity.pydetects #133 pattern post-hoc. Behavioral smoke tests with cross-model spot-check (100% Opus 4.7, ≥75% Sonnet + GPT-5.5).
v3.9.0 hot-fix. Wraps OpenAlex / Crossref response-read failures as
*Unavailable(#129); guardscheck_claim_audit_consistencyagainst non-stringmanifest_id(#130). No spec change.
#102 closure. v3.7.3 shipped single-index (Semantic Scholar) contamination detection; v3.9.0 extends to three-index triangulation (S2 + OpenAlex + Crossref) as advisory evidence only. Two new optional booleans (
openalex_unmatched,crossref_unmatched) oncontamination_signals; manual-entry not-rule extended symmetrically. Finalizer adds a 4-tier advisory matrix (k=0/1/2/3 over present*_unmatchedfields) with v3.7.3 legacyCONTAMINATED-UNMATCHEDpreserved for the k=1/k_max=1 S2-only case. Formatter pass-through allowlist extends 3 → 9 suffixes; refusal rules 1-10 unchanged per R-L3-2-E. The policy layer (strict modes, hard-block tier,venue_type/triangulation_policy) is deferred to v3.10 per spec §2.3. k=3 marker isCONTAMINATED-TRIANGULATION-UNMATCHED(describes observable, not inferred cause). 3 new firm rules: R-L3-2-C (k computed over present fields), R-L3-2-D (no API-inferred classification), R-L3-2-E (refusal list unchanged; pass-through allowlist extends).
Migration: v3.7.3 corpora — run python scripts/migrate_literature_corpus_to_v3_9_0.py PATH to backfill the two new fields. Pre-v3.7.3 corpora — run migrate_literature_corpus_to_v3_7_3.py FIRST, then v3.9.0 migration (daisy-chained per spec §3.7; the v3.9.0 tool only acts on entries that already carry contamination_signals.semantic_scholar_unmatched).
#118 closure. The
ARS_CLAIM_AUDIT=1uncited constraint-judging path used to silently substitute{"judgment": "NOT_VIOLATED"}onJudgeInvocationError, suppressing HIGH-WARN constraint checks on transient judge outage. v3.8.2 routes those failures through a dedicateduncited_audit_failures[]aggregate at MED-WARN advisory tier, mirroring the cited path INV-14 row but using a dedicated schema becauseclaim_audit_result.ref_slugis required and the uncited path has no ref to bind. The four option-1..4 trade-offs from the #118 issue body landed on option 2 (new aggregate) — option 4 (re-raise and abort) was rejected for the audit-coverage hit on flaky judge endpoints.
uncited_audit_failure.schema.json aggregate (spec §3.6). One entry per uncited sentence × manifest pair where the constraint judge raised JudgeInvocationError. Same fault-class enum as cited-path INV-14 (judge_timeout / judge_api_error / judge_parse_error / cache_corruption / retrieval_api_error / retrieval_timeout / retrieval_network_error). rule_version: D4-c-v1-uaf-v1.finding_id uniqueness, scoped_manifest_id cross-array integrity, (M, C) pair integrity when manifest_claim_id non-null, per-(sentence, manifest) dedup, rationale fault_class prefix, cross-aggregate exclusivity vs constraint_violations[].[CLAIM-AUDIT-TOOL-FAILURE-UNCITED — <fault-class>], gate passes (retry-next-pass remediation). Formatter REFUSE list unchanged — UAF is advisory.scripts/claim_audit_pipeline.py): swallow site at line 1211-1224 removed; JudgeInvocationError now emits a UAF row + continues to the next (sentence, manifest) pair. No fake NOT_VIOLATED reaches constraint_violations[].academic-pipeline/agents/claim_ref_alignment_audit_agent.md): Output emission table grows seventh row; Error handling table grows from 3 surfaces to 4 surfaces with the uncited-path UAF row.v3.7.3 + v3.8 close the L3 (claim-faithfulness) gap end-to-end. v3.7.3 ships the locator infrastructure — every citation carries a three-layer anchor so future audits can fetch the cited passage. v3.8 ships the audit pass that consumes those anchors, judges whether the cited source supports the claim, and gate-refuses HIGH-WARN violations at the formatter terminal hard gate. The release also bundles 5 audit-trail-shipped feature PRs accumulated since v3.7.0 (#104 / #105 / #108 / #111 / #115).
claim_ref_alignment_audit_agent (v3.8 PR #121). Opt-in (ARS_CLAIM_AUDIT=1, default OFF) Stage 4→5 audit agent. Judges every sampled citation against retrieved excerpt; emits claim_audit_results[] + claim_intent_manifests[] + claim_drifts[] + uncited_assertions[] + constraint_violations[] aggregates. 8-row finalizer matrix routes HIGH-WARN classes (CLAIM-NOT-SUPPORTED / NEGATIVE-CONSTRAINT-VIOLATION / FABRICATED-REFERENCE / ANCHORLESS / CONSTRAINT-VIOLATION-UNCITED) through the formatter REFUSE rules 6-10. Calibration runner ships with 20-tuple gold set (T-C1 FNR<0.15 + FPR<0.10, T-C2 per-class, T-C3 shape integrity). 8 rounds of dual-track review (R1 codex + Gemini-3.1-pro-preview, R2-R8 codex-only after Gemini quota exhausted); trajectory R1 4P1+2P2 → R8 0P1+4P2 ship gate.synthesis_agent / draft_writer_agent / report_compiler_agent gain ## Three-Layer Citation Emission (v3.7.3) H2. Every <!--ref:slug--> carries <!--anchor:<kind>:<value>--> with <kind> ∈ {quote, page, section, paragraph, none} (quote anchors capped at 25 words, URL-encoded). pipeline_orchestrator_agent finalizer becomes 5-cell with precedence-zero NO-LOCATOR check. formatter_agent adds explicit hard-gate refusal for [UNVERIFIED CITATION — NO QUOTE OR PAGE LOCATOR]. literature_corpus_entry.schema.json adds optional contamination_signals: { preprint_post_llm_inflection, semantic_scholar_unmatched } object. bibliography_agent computes both signals at ingest. 11-round review trajectory (Codex×10 + Gemini cross-model×1) closed 22 findings. Spec: docs/design/2026-05-12-ars-v3.7.3-claim-faithfulness-and-contaminated-source-spec.md. External motivation: Zhao et al. arXiv:2605.07723 (2026-05).slr_lineage emission on systematic-review → academic-paper handoff (2026-05-15). Schema 9 optional boolean slr_lineage field; producer pipeline_orchestrator_agent writes at every handoff transition; consumer disclosure mode dispatches --policy-anchor=prisma-trAIce per the §4.3 G2 invariant track gate.README.zh-TW.md motivation section frames the v3.7.x line against Zhao et al.'s 146,932 hallucinated-citation finding.scripts/migrate_literature_corpus_to_v3_7_3.py retro-computes both contamination signals across pre-v3.7.3 passports.scripts/semantic_scholar_client.py adds 1-req/s throttle (drops to 0.1s when S2_API_KEY detected), outage latch on URLError, and reset_outage_latch() for long-running cross-passport batches.Plugin packaging upgrade: ARS now installs in one line on Claude Code CLI / VS Code / JetBrains via
/plugin marketplace add Imbad0202/academic-research-skills+/plugin install academic-research-skills. The traditionalgit clone + symlink to ~/.claude/skills/flow continues to work — both tracks are first-class.
.claude-plugin/plugin.json declares the suite (4 skills auto-discovered from skills/ directory via relative symlinks). .claude-plugin/marketplace.json registers the plugin so a single GitHub-hosted endpoint serves both the marketplace listing and the plugin source. README + README.zh-TW.md + docs/SETUP.md carry dual-track install instructions.commands/ars-*.md (Phase 2.1, PR #69) mapping MODE_REGISTRY.md entries to /ars-<mode> triggers. Model routing is pinned in each command's frontmatter — opus for full and revision-coach (architectural / review-interpretation depth), sonnet for the other 8. No Haiku per project policy.agents/*_agent.md (Phase 2.1, PR #69) as relative symlinks to the v3.6.7-hardened downstream agents in deep-research/agents/: synthesis_agent, research_architect_agent, report_compiler_agent. Underscore filenames preserved to keep scripts/check_v3_6_7_pattern_protection.py hard-pinned paths and INV-3 manifest-confined Clause 1 invariant intact. Symlinks (not copies) preserve a single source of truth and prevent the Pattern C3 attack surface that v3.6.7 §6 inversion sweep + INV-1/2/3 lint closes.model: inherit added to those three source agent frontmatters. Inherit chosen over pinning sonnet so an opus session running ARS full pipeline keeps opus agents (instead of being capped). The user's ~/.claude/hooks/warn-agent-no-model.sh PreToolUse hook gates Haiku at the dispatching boundary, so inherit resolves through an already-Haiku-free model.hooks/hooks.json + scripts/announce-ars-loaded.sh (Phase 2.2, PR #70). When the plugin loads, the hook injects an additionalContext listing the 10 slash commands, the 3 plugin agents, and a token-budget pointer into the LLM's first turn. startup and clear source values get the full announce; resume and compact get a one-line ack to avoid burning context. Bash 3.2 compatible — runs on macOS stock /bin/bash with no brew install bash requirement.SubagentStop → run_codex_audit.sh codex audit hook was scoped out for v3.7.0 due to a contract gap (the SubagentStop payload carries no stage/deliverable info, so the wrapper would have to half-infer required arguments) and an invoker-class boundary (run_codex_audit.sh lines 4–7 forbid same-session in-LLM invocation; PostToolUse fires inside the producing session). Real audit-hook integration deferred to a future release when ARS gains a stage/deliverable propagation contract. See docs/design/2026-04-30-ars-v3.7.0-plugin-packaging-roadmap.md Update note 2026-05-05 (Phase 2.2 scope reduction).docs/PERFORMANCE.md + .zh-TW.md gain a "v3.7.0 Plugin agents and model routing" subsection explaining the inherit semantics and current 3-agent scope boundary.${CLAUDE_PLUGIN_ROOT} breaking install paths with spaces) that the inline rounds missed — confirms the value of separating implementation review (inline) from contract review (fresh).commands/, agents/, hooks/, .claude-plugin/, skills/ symlink dir, three plugin-agent model: inherit frontmatter additions). Existing 4.3k clone-install users see no breaking change.Naming note: this release ships the v3.6.6 generator-evaluator contract spec and implementation. The v3.6.6 work landed after v3.6.7 due to project sequencing; the design doc retains the v3.6.6 internal naming for the contract gate version, while the suite release is tagged v3.6.8 to keep the CHANGELOG monotonic.
shared/sprint_contract.schema.json) extends Schema 13 with two new mode enum values (writer_full + evaluator_full), two new optional top-level fields (pre_commitment_artifacts writer-only, disagreement_handling evaluator-only), and 12 allOf branches enforcing reviewer- / writer- / evaluator-conditional gates. Existing reviewer contracts validate byte-equivalent under Schema 13.1 (§3.6 zero-touch promise).shared/contracts/writer/full.json (D1–D7, F1/F4/F2/F3/F0) and shared/contracts/evaluator/full.json (D1–D5, F1/F2/F3/F6/F4/F5/F0). Promoted from design-time artefacts on the spec branch to live shipped status atomically with the Schema 13.1 upgrade.academic-paper full: Phase 4 splits into Phase 4a (writer paper-blind pre-commitment) + Phase 4b (writer paper-visible drafting + self-scoring); Phase 6 splits into Phase 6a (evaluator paper-blind pre-commitment) + Phase 6b (evaluator paper-visible scoring + decision). Phase-numbered <phase4a_output> / <phase6a_output> data delimiters mirror the v3.6.2 reviewer pattern. Lint count summary: writer 3+4 / evaluator 5+5 / reviewer 5+6 (reviewer remains zero-touch).academic-paper SKILL + agent files gain a verbatim ## v3.6.6 Generator-Evaluator Contract Protocol block (101 lines in SKILL.md plus 47 lines in draft_writer_agent.md + 57 lines in peer_reviewer_agent.md). SKILL.md also adds a new ## Known limitations section carrying graceful-degradation + cross-session resume forward notes for v3.6.7+.scripts/check_sprint_contract.py SC-* mode-gating audit (SC-5 + SC-11 reviewer-only; SC-9 extended across all three mode families). 17 new tests bring the validator unit-test count from 54 to 71 (positive + 5 schema-branch negative + 2 §3.6 reviewer regression + 6 mode-gating tests).scripts/check_v3_6_6_ab_manifest.py enforces §6.2 manifest schema + §6.5 git-tracked invariants on tests/fixtures/v3.6.6-ab/manifest.yaml. .github/workflows/spec-consistency.yml extends the sprint contract validation loop to iterate writer + evaluator template directories alongside the existing reviewer loop, plus runs the new manifest CI lint.tests/fixtures/v3.6.6-ab/ (30 files): manifest + README + 6 paper-A inputs/baseline + 1 paper-C inputs/baseline + Stage 3 reviewer excerpt + 6 codex-judge baseline placeholders. Real fixture data populates in follow-up commits before the implementation work fully completes.synthesis_agent (A1–A5 narrative-side), the survey-designer mode of research_architect_agent (B1–B5 instrument-side), and the abstract-only mode of report_compiler_agent (C1–C3 publication-side). Each agent prompt now carries a PATTERN PROTECTION (v3.6.7) block.shared/references/: irb_terminology_glossary.md, psychometric_terminology_glossary.md, protected_hedging_phrases.md, word_count_conventions.md. The reference files carry operational contracts that the agent prompts cite by path.shared/templates/codex_audit_multifile_template.md with seven audit dimensions and a mandatory three-part Section 4(f) check for report_compiler_agent bundles. Failure of any sub-check is a P1 finding.scripts/check_v3_6_7_pattern_protection.py enforces protection-clause presence and obligation-phrase shape; scripts/test_check_v3_6_7_pattern_protection.py preserves codex review evidence so future checker regressions surface in CI. Both are wired into .github/workflows/spec-consistency.yml.gpt-5.5 + xhigh cross-model review reached SHIP-OK with zero P1+P2 findings. Step 6 (orchestrator runtime hooks) and Step 8 (synthetic eval case) ship in a follow-up PR.literature_corpus[] Consumer Integrationdeep-research/agents/bibliography_agent.md and academic-paper/agents/literature_strategist_agent.md. Both follow the same five-step corpus-first, search-fills-gap flow when the passport carries a non-empty literature_corpus[] and the same four Iron Rules (Same criteria / No silent skip / No corpus mutation / Graceful fallback on parse failure).obtained_via / obtained_at. final_included = pre_screened_included[] ∪ external_included[] stays neutral — no provenance tags on bibliography entries or literature matrix rows.academic-pipeline/references/literature_corpus_consumers.md with the canonical PRE-SCREENED template, BAD/GOOD examples, four Iron Rules, and per-consumer reading instructions.scripts/check_corpus_consumer_protocol.py enforcing nine protocol invariants with manifest-driven consumer list (scripts/corpus_consumer_manifest.json).shared/handoff_schemas.md retired the v3.6.4 "Consumer-side integration deferred to v3.6.5+" caveat; replaced with backpointer to the consumer protocol.[CORPUS PARSE FAILURE] surface. citation_compliance_agent corpus integration deferred (target version TBD post-v3.8).literature_corpus[] Input Portliterature_corpus[] field added to Schema 9 as an optional input port for user-owned literature. Each entry conforms to shared/contracts/passport/literature_corpus_entry.schema.json (CSL-JSON authors, year, title, source_pointer + private optional abstract / user_notes).academic-pipeline/references/adapters/overview.md: any program (any language) reading a user corpus source can produce conformant passport.yaml + rejection_log.yaml. Fail-soft entry-level errors, fail-loud adapter-level errors, deterministic ordering.scripts/adapters/: folder_scan.py (filesystem of PDFs), zotero.py (Better BibTeX JSON export), obsidian.py (vault frontmatter). Starting points only; users are expected to write their own adapters for non-reference sources.shared/contracts/passport/rejection_log.schema.json with closed enum of categorical reason values; always emitted (empty when no rejections).scripts/check_literature_corpus_schema.py validates schemas + adapter examples; scripts/sync_adapter_docs.py --check prevents schema→docs drift; new pytest.yml workflow runs scripts/adapters/tests/ on path-filtered triggers.bibliography_agent and literature_strategist_agent were wired in v3.6.5.ARS_PASSPORT_RESET=1). Promotes every FULL checkpoint to a context-reset boundary. New resume_from_passport=<hash> mode lets users resume in a fresh Claude Code session from the Material Passport ledger alone. systematic-review mode with the flag ON makes reset mandatory at every FULL checkpoint; other modes treat reset as the flag-gated default. Flag OFF preserves pre-v3.6.3 behavior byte-for-byte.reset_boundary[] ledger with two entry kinds (kind: boundary + kind: resume). Hash uses JSON Canonical Form + SHA-256 with canonical placeholder for self-reference safety. Optional pending_decision handles MANDATORY branch choices.scripts/check_passport_reset_contract.py CI lint: every mention of the flag must co-locate a pointer to the authoritative protocol doc.academic-pipeline/references/passport_as_reset_boundary.md.docs/PERFORMANCE.md updated with long-running-session guidance.v3.6.2 introduces Schema 13 sprint contracts and a hard-gate orchestration that forces reviewers to pre-commit their scoring plan before reading the paper. Reviewer-only first test case; writer/evaluator deferred to v3.6.4. See CHANGELOG.
panel_size, acceptance_dimensions, failure_conditions (with severity precedence + panel-relative cross_reviewer_quantifier), measurement_procedure, optional override_ladder, bounded agent_amendments. Validator: scripts/check_sprint_contract.py.<phase1_output>...</phase1_output> data delimiter to narrow the self-injection surface.failure_condition with panel-relative quantifier + recognised expression vocabulary → resolve precedence by severity. Forbidden-ops list explicit in editorial_synthesizer_agent.shared/contracts/reviewer/full.json panel 5; shared/contracts/reviewer/methodology_focus.json panel 2). reviewer_re_review, reviewer_calibration, reviewer_guided are reserved in the schema enum but ship without contract templates in v3.6.2; they retain pre-v3.6.2 behaviour. reviewer_quick is excluded from the enum entirely.academic-paper-reviewer SKILL version: 1.8.1 → 1.9.0. academic-pipeline SKILL version: 3.5.1 → 3.6.2 (suite-version invariant). Suite version bumped to 3.6.2.docs/design/2026-04-23-ars-v3.6.2-sprint-contract-design.md and protocol academic-paper-reviewer/references/sprint_contract_protocol.md.v3.5.1 adds an opt-in honesty probe to the Socratic Mentor (ARS_SOCRATIC_READING_PROBE=1). Default off. See CHANGELOG.
ARS_SOCRATIC_READING_PROBE=1 is set, the Socratic Mentor fires a one-time honesty probe during goal-oriented sessions where the user has cited a specific paper. Decline is logged without penalty. Outcome flows into the Research Plan Summary and Stage 6 AI Self-Reflection Report. No new agent, no schema change.deep-research SKILL version: 2.9.0 → 2.9.1. academic-pipeline SKILL version: 3.5.0 → 3.5.1. Suite version bumped to 3.5.1.collaboration_depth_agent in academic-pipeline (Agent Team grows from 3 to 4). Invoked at every FULL/SLIM checkpoint and at pipeline completion; scores user-AI collaboration against a 4-dimension rubric. Advisory only — never blocks progression. MANDATORY checkpoints (Stages 2.5 / 4.5 integrity gates) do NOT invoke the observer.shared/collaboration_depth_rubric.md v1.0. Dimensions: Delegation Intensity, Cognitive Vigilance, Cognitive Reallocation, Zone Classification (Zone 1 / Zone 2 / Zone 3). Based on Wang, S., & Zhang, H. (2026). "Pedagogical partnerships with generative AI in higher education: how dual cognitive pathways paradoxically enable transformative learning." International Journal of Educational Technology in Higher Education, 23:11. DOI 10.1186/s41239-026-00585-x.ARS_CROSS_MODEL is set the observer runs on both models; dimension disagreement > 2 points is reported rather than silently smoothed. ARS_CROSS_MODEL_SAMPLE_INTERVAL escape hatch for cost trade-off.insufficient_evidence block instead of dispatching the full-model observer.academic-pipeline SKILL version: 3.3.0 → 3.4.0. Suite version bumped to 3.5.0. New lint scripts/check_collaboration_depth_rubric.py + 10 tests.compliance_history[] (append-only).disclosure_addendum into manuscript. No detection evasion possible.task_type: open-ended.docs/ARCHITECTURE.md as the single source of truth for pipeline structure (flow, matrix, data-access, dependency graph, quality gates, modes). Merged into main via PR #18.docs/SETUP.md (prerequisites, API keys, Pandoc/tectonic, cross-model verification, installation methods) and docs/PERFORMANCE.md (token budgets, recommended Claude Code settings). README links to both instead of inlining them.3.3.6.benchmark_report.schema.json + repro_lock optional block on Material Passport. Both ship with pattern docs, lints, and examples. First formal Python dev dep manifest (requirements-dev.txt).README.md and README.zh-TW.md so they include the missing v3.3.3 and v3.3.2 release summaries.scripts/check_spec_consistency.py so future README changelog drift fails CI.--- fences now fail cleanly instead of being parsed as valid YAML..docx generation is Pandoc-dependent, with Markdown + conversion instructions as fallback.v3.3.3 release: suite version bump, academic-paper -> v3.0.2, academic-pipeline -> v3.2.2.metadata.data_access_level to all top-level SKILL.md files with enforced vocabulary: raw, redacted, verified_only.metadata.task_type to all top-level SKILL.md files with enforced vocabulary: open-ended, outcome-gradable.shared/ground_truth_isolation_pattern.md and linked the new vocabulary from shared/handoff_schemas.md..claude/CLAUDE.md, MODE_REGISTRY.md, and SKILL.md files to the current mode counts and published skill versions.Integrates techniques from PaperOrchestra (Song, Song, Pfister & Yoon, 2026, Google).
[MATERIAL GAP] for missing content instead of filling from memory. Reduces Mode 5/6 failure risk.Integrates insights from Lu et al. (2026, Nature 651:914-919) — the first end-to-end autonomous AI research system to pass blind peer review.
Inspired by patterns from aspi6246/Claude-Code-Skills-for-Academics.
Wave 1: Anti-Context-Rot Anchors
Wave 2: Traceability + Cognitive Frameworks + Reinforcement
argumentation_reasoning_framework.md — Toulmin model, Bradford Hill causal reasoning, inference to best explanation, epistemic status classificationreview_quality_thinking.md — three lenses (internal validity, external validity, contribution), common reviewer traps, calibration questionswriting_judgment_framework.md — clarity test, reader's journey, discipline-specific voice, revision decision matrixWave 3: Lean Skill Size
references/ filesARS_CROSS_MODEL env var — without it, everything works as before. See shared/cross_model_verification.md for full setup guide, API patterns, and cost estimates.status: active and related_skills cross-references to all 4 SKILL.md frontmatters.deep-research ↔ academic-paper ↔ academic-paper-reviewer ↔ academic-pipeline.shared/style_calibration_protocol.mdacademic-paper/references/writing_quality_check.md): Writing quality checklist applied during draft self-review. 5 categories: AI high-frequency term warnings (25 terms), punctuation pattern control (em dash ≤3), throat-clearing opener detection, structural pattern warnings (Rule of Three, uniform paragraphs, synonym cycling), and burstiness checks (sentence length variation). These are good writing rules — not detection evasionshared/handoff_schemas.md)deep-research/references/socratic_questioning_framework.md: SCR Overlay Protocol mapping SCR phases to Socratic functionsCHANGELOG.mdsocratic/plan over full — safer to guide first.apa7 document class, text justification fix (ragged2e + etoolbox), table column width formula, bilingual abstract centering, standardized font stack (Times New Roman + Source Han Serif TC VF + Courier New), PDF via tectonic onlytectonic (no HTML-to-PDF); APA 7.0 uses apa7 document class (man mode) with XeCJK for bilingual CJK support; font stack: Times New Roman + Source Han Serif TC VF + Courier Newintegrity_verification_agent — 100% reference/data verification with audit traildevils_advocate_reviewer_agent — 8-dimension thesis challengerec13c41 (docs: remove README contributor sections)
1 commits
Python
97.2%
Shell
2.5%