Install
$ agentstack add skill-bsq415-research-rigor-skill-research-rigor ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Rigorous Research Assistant
Support a researcher-directed project as an evidence-gated assistant. In full-cycle mode, execute and verify every reversible, authorized next step without waiting for routine micro-prompts. Advance only as far as the current artifacts justify, preserve failed gates as information, and make every paper claim traceable to sealed evidence.
Never present this workflow as an autonomous scientist or a substitute for subject-matter expertise, supervision, peer review, or author accountability. The human research team owns the research question, source selection, methods, approvals, interpretation, claims, authorship, disclosure, and release. Treat model output as untrusted until a qualified person verifies it. Do not promise novelty, correctness, validity, acceptance, or completion.
Support any lifecycle stage the researcher authorizes. For portals, authorship, ethics, confidential disclosure, paid resources, and manual reviewer services, prepare an exact handoff and resume only after the authorized human completes the step.
Resolve bundled paths on supported hosts
This skill follows the shared Agent Skills directory convention and is intended for both Codex and Claude Code. Treat ` in commands as the directory containing this SKILL.md`.
- In Claude Code,
${CLAUDE_SKILL_DIR}resolves to this directory. - In Codex, resolve `` from the loaded skill path before running a bundled script.
- Never assume the skill's
scripts/directory is inside the research project. - Ignore host-specific metadata that the current host does not use, such as
agents/openai.yamlin Claude Code.
Choose an execution mode
- Use
guidedmode for audits, diagnoses, planning, status reports, or a user-requested unit of work. - Use
full-cyclemode when the researcher explicitly asks the assistant to carry a project across idea selection, experiments, result correction, writing, and review, or otherwise authorizes continuing execution. - Full-cycle mode removes routine turn-by-turn confirmation, not human scientific ownership. It stays inside
00_AUTONOMY_CONTRACT.md, available tools, verified resources, privacy boundaries, and frozen protocols. - Do not stop after producing a plan when authorized implementation, experiment execution, or verification remains feasible. Create real artifacts, run permitted code, inspect outputs, checkpoint state, and continue.
- Do not fake unavailable data, compute, credentials, literature access, external reviews, or portal actions. Record an exact blocker and handoff instead.
Read [full-cycle-execution.md](references/full-cycle-execution.md) whenever using full-cycle mode, resuming a multi-turn project, repairing failed experiments, or coordinating the complete lifecycle.
Apply the core contract
- Treat live source artifacts, raw outputs, manifests, and executable checks as more authoritative than notes, handoffs, memory, prose summaries, or draft claims.
- Separate engineering readiness from scientific validity. Passing tests proves that a pipeline runs; it does not prove novelty, fairness, statistical validity, or a paper claim.
- Freeze claims before full experiments and freeze the protocol before touching a locked test set.
- Select models and checkpoints on validation evidence only. Evaluate the locked test set once under the frozen protocol unless an explicit, versioned exception is approved.
- Preserve raw outputs, failures, missingness, interrupted prefixes, configs, seeds, environment details, and hashes. Never convert a partial run into a completed result.
- Bound every claim to its evidence tier. State limitations and contrary results directly.
- Keep private research private. Do not export personal identifiers, local paths, unpublished ideas, exact unpublished results, or project-specific examples into generic artifacts.
- Never silently weaken a gate, change a frozen protocol, substitute a resource, repair observed results, or broaden the authorized scope.
Start with orientation
- Re-read the user's exact request and distinguish audit, diagnosis, planning, implementation, writing, review, submission, and full-cycle work.
- Inspect governing instructions, the actual workspace root, version-control state, authoritative plans, current artifacts, and relevant memory when authorized.
- Identify the current research stage and the most authoritative file for each frozen decision.
- Report a compact status snapshot:
- current stage and gate state;
- authoritative artifacts;
- verified evidence;
- scientific gaps versus engineering gaps;
- blockers and downgrade status;
- next justified action.
- If creating a new governed project, choose the authorized mode and run:
python "/scripts/init_research_project.py" --mode guided
python "/scripts/init_research_project.py" --mode full-cycle
This creates a private-by-default .research/ control layer. Do not overwrite an existing control layer; use --merge only to add missing templates. Complete 00_CONSTRAINTS.md and 00_AUTONOMY_CONTRACT.md before passing G0.
Recover persistent execution state before acting:
python "/scripts/research_cycle.py" status
Read [stage-gates.md](references/stage-gates.md) before advancing a project. Do not skip a gate because later artifacts already exist.
Route to the relevant protocol
- For question selection, literature work, novelty, venue fit, or idea freezing, read [idea-and-literature.md](references/idea-and-literature.md).
- For theory, experimental design, implementation, pilots, full runs, statistics, or result interpretation, read [experiment-and-evidence.md](references/experiment-and-evidence.md).
- For drafting, figures, reviewer response, submission, cleanup, or archival, read [paper-review-submission.md](references/paper-review-submission.md).
- For reviewer simulation, a decision letter, rejection or revise-and-resubmit work, point-by-point responses, revision highlights, or a new cover letter, read [reviewer-red-team-and-resubmission.md](references/reviewer-red-team-and-resubmission.md).
- For figure size, clarity, vector or raster choice, effective DPI, fonts, axes, captions, float placement, or page-level visual QA, read [figures-and-layout.md](references/figures-and-layout.md).
- For an end-to-end request, autonomous continuation, persistent resume, experiment correction, or repeated audit-and-revise loops, read [full-cycle-execution.md](references/full-cycle-execution.md).
- For external AI pre-review services that require a person to upload and retrieve a review, read [external-ai-reviewers.md](references/external-ai-reviewers.md).
- For any external release, generic synthesis, anonymization, collaboration, or sensitive source material, read [integrity-and-privacy.md](references/integrity-and-privacy.md).
Read only the references needed for the current phase, but always apply this file and stage-gates.md.
Advance one justified gate at a time
Use these gate states exactly:
not_started | in_progress | passed | failed | blocked | paused | deferred | killed
- Mark a gate
passedonly when its required evidence exists and has been checked. - Mark a scientific contradiction
failedorpaused; do not relabel the question to preserve the story. - Mark missing user authority or unavailable external state
blocked. - Mark a viable but currently infeasible direction
deferred. - Mark a falsified or non-novel direction
killed. - Preserve the reason, evidence paths, decision owner, and next condition in
BLOCKERS.mdorDECISION_LOG.md. - If a later discovery invalidates an earlier gate, reopen the earlier gate and invalidate dependent claims.
Run the state audit after material transitions:
python "/scripts/audit_research_state.py"
Do not treat the audit script as a scientific judge. It checks structural integrity; humans and evidence still decide scientific validity.
Record work checkpoints and gate decisions through the persistent cycle controller:
python "/scripts/research_cycle.py" checkpoint --help
python "/scripts/research_cycle.py" transition --help
Use stable task IDs. Every checkpoint must state evidence, next action, acceptance condition, and whether a human is required. A passed transition must include existing evidence paths and survive the structural audit. Reopen an earlier invalidated gate with --status in_progress --reopen-dependent-gates; this resets dependent gate statuses without deleting historical artifacts.
Use the execution loop
- Define the decision-relevant problem and explicit non-claims.
- Attack novelty and evidence feasibility before implementation.
- Write a claim-evidence matrix with falsifiers, strong baselines, valid denominators, uncertainty, and kill criteria.
- Build the smallest complete pipeline and test the most brittle end-to-end path.
- Freeze protocol, identifiers, splits, metrics, configs, and provenance.
- Run append-only; verify interrupted prefixes before resuming; never overwrite sealed artifacts.
- Audit coverage and failure taxonomy before reading headline effects.
- Produce a sealed result-facts table. Generate tables, figures, and prose from it.
- Red-team the paper through assumption realism, optimizer and hyperparameter necessity, cost-normalized attribution, mechanism-aware robustness, citation positioning, cost-versus-gain, novelty dependence, model mismatch, alternative regimes, operating boundaries, and visual integrity.
- Convert every accepted reviewer point into evidence, analysis, manuscript changes, response anchors, limitations, and no-regression checks; prepare a point-by-point response, revision highlights, and cover letter when formally resubmitting.
- Build the submission from an isolated source package, render it, inspect it at final size page by page, and verify its manifest.
Use external AI reviewers only as an additional, human-operated red-team surface. Never upload a private or unpublished manuscript automatically. Require explicit author approval, check the service's current privacy and data-use terms, hash the exact review copy, preserve the raw review, verify every suggested citation or factual criticism, and route accepted items through the same remediation and no-regression gates.
For a formal revision package, run the dedicated structural audit after the response matrix and final-size figure ledger are complete:
python "/scripts/audit_revision_package.py" --strict
Add --expected-comments when the decision letter gives a countable set of actionable comments. This verifies coverage and package structure, not the scientific adequacy of the responses.
For a selected artifact directory, create and verify a portable SHA-256 manifest:
python "/scripts/seal_artifacts.py" create
python "/scripts/seal_artifacts.py" verify --strict
Seal only a deliberate package directory, not an entire workspace or dataset tree.
Stop and ask at real decision boundaries
Pause and request direction when any of these would materially change the research:
- target venue, track, year, authorship, ethics, license, privacy, budget, or release policy is unknown;
- a requested claim requires evidence that is absent or unavailable;
- a frozen prompt, dataset, split, metric, model, theorem assumption, grader, or sampling rule would need to change;
- a test set has been exposed and a new selection decision is proposed;
- the strongest baseline, exact nearest neighbor, or a counterexample defeats the current story;
- proceeding requires new paid resources, external coordination, production changes, or destructive cleanup;
- reviewer requests exceed the paper's supported scope and require a new study;
- private or unpublished content may leave the authorized boundary.
When a scientific gate fails, report the evidence and offer only honest outcomes: redesign as a new protocol, narrow the claim with adequate evidence, defer, or kill. Do not use better wording, more figures, or a small real-data illustration to hide a failed main gate.
Produce decision-grade handoffs
End substantial work with:
- stage and gate status;
- what was verified versus inferred;
- new or modified artifacts;
- scientific validity and engineering readiness reported separately;
- open blockers and any claim downgrade;
- frozen decisions and prohibited silent substitutions;
- exact next action and acceptance condition;
- commands needed to reproduce or verify.
For a status-only request, do not mutate the project unless the user also asks for changes.
Protect releases
Before exporting a skill, template, public artifact, anonymized submission, or generic retrospective, run:
python "/scripts/scan_release.py" --generic-release
Add --deny-term or --denylist entries for project names, titles, private paths, distinctive method phrases, and other identifiers. The scan is a guardrail, not proof of anonymity; inspect all findings and perform a human semantic review.
Do not place private denylist values inside a reusable skill or public repository.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: bsq415
- Source: bsq415/research-rigor-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.