Install
$ agentstack add skill-ai4s-research-ai4s-skills-ai4s-agent ✓ 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
AI4S Agent (meta-skill)
Overview
Top-level entry point for the AI4S research stack. This skill contains no work of its own — its only job is to call four downstream skills in the right order, with the right slug, and reuse intermediate artifacts by path convention.
direction → research-explorer → topic
topic → literature-survey (60+ real bib, 100+ recommended)
topic → experiment-suite (design + code + results + figures)
topic → paper-writer (assembles into 200+ cite PDF)
Each downstream skill is already single-stage and self-sufficient: its agent loads that skill's SKILL.md and produces the full final-quality artifact directly. There is no skeleton/enrichment split. This meta-skill only handles ordering, the path convention, and disclosure consistency.
When to use
- User asks for "a paper on X" or "research package on X" and wants the whole stack run end to end.
- User wants to compare what each skill produces — useful for developing or debugging the pipeline itself.
When NOT to use
- User wants to run only one stage (e.g. only the literature survey) → invoke that skill directly.
- User wants only topic exploration → invoke
research-explorerdirectly.
The slug contract
Every skill computes the same slug from the same topic string:
import re, hashlib
def slug(t):
n = re.sub(r'[\s_]+', '-', re.sub(r'[^\w\s-]', '', t.lower().strip())).strip('-')[:40].rstrip('-')
h = hashlib.sha1(t.encode()).hexdigest()[:8]
return f"{n}-{h}"
Use the same string across all four skills. If the user provides a direction (not a topic), research-explorer runs against the direction; once a topic is chosen, the topic becomes the slug input for the remaining three.
Workflow
Step 1 — Understand the user's starting point
- Direction ("transformer time series forecasting") — start at
research-explorer, pick a topic from itsresearch_exploration.md, then proceed. - Topic ("Transformer-based long-horizon forecasting with patch tokenisation") — skip
research-explorer; go straight to the parallel branch (literature-survey, experiment-suite, paper-writer). - Real measured experiment data? If yes, the user supplies a
results.jsonpath; experiment-suite loads it instead of writing a simulated one, and the paper's\thanksdrops the simulated clause.
Step 2 — Explore (only if input was a direction)
Load the research-explorer skill. Follow its 5 steps to produce:
output/research-explorer//latest/{research_exploration.md, topic_matrix.md, literature_pre_survey.md}
Discuss the candidate topics with the user. They pick one specific topic; that string becomes $TOPIC for the rest.
Step 3 — Literature survey
Load the literature-survey skill with $TOPIC. It produces:
output/literature-survey//latest/survey_paper/
├── main.pdf # the 6–20 page survey
├── main.tex
├── bibliography.bib # 60+ real entries, 100+ recommended (URL-anchored)
├── sections/, figures/
output/literature-survey//latest/literature_table.md
Step 4 — Experiment package
Load the experiment-suite skill with $TOPIC. It produces:
output/experiment-suite//latest/
├── experiment_design.md
├── experiment/ # runnable model.py / data.py / train.py / evaluate.py
├── results.json # with "simulated" + "provenance"
├── figures/ # publication-grade + manifest.json (basenames only)
└── experiment_report.md
If a real results path was provided in Step 1, the agent loads it here and results.json is flagged "simulated": false.
Step 5 — Paper
Load the paper-writer skill with $TOPIC. Its cross-skill conventions automatically pick up Steps 3 and 4:
- Seeds
bibliography.bibfromoutput/literature-survey//latest/survey_paper/bibliography.bib, then expands it to 200+ inside paper-writer if needed. - Reads numbers and provenance from
output/experiment-suite//latest/results.json. - Copies/symlinks the publication-grade figures from
output/experiment-suite//latest/figures/.
It produces:
output/paper-writer//latest/paper/
├── main.pdf # 8–14 pages, 200+ cites
├── main.tex
├── bibliography.bib
├── sections/, figures/
Step 6 — Deliver
Report the four output roots to the user:
output/research-explorer//latest/(if exploration ran)output/literature-survey//latest/output/experiment-suite//latest/output/paper-writer//latest/
Plus the paper-writer stats per its references/05-quality-gate.md report format.
Disclosure consistency
The same simulated flag must drive disclosure across all four artifacts:
experiment-suite/.../results.json→"simulated": true|falseis the source of truth.experiment-suite/.../experiment_report.mdtop-of-page disclosure must match.paper-writer/.../main.tex\author{AI4S Agent\thanks{…}}must include the simulated clause iffresults.jsonhas"simulated": true.- The always-on human-review clause is mandatory in every case.
Rules
- No LLM SDK in any skill, including this one. Pure markdown —
SKILL.mdonly. - One slug per topic, computed identically across skills. The contract above is non-negotiable.
- Never collapse the four skills into one agent run. Each skill's
SKILL.mdis the single source of truth for what counts as "done" for its artifact. - A non-interactive runner (e.g.
claude --printheadless) lives outside the skills. The skills stay pure.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ai4s-research
- Source: ai4s-research/ai4s-skills
- 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.