survey-generator – skill Dữ liệu & Khoa học cho agent AI
Tạo bài khảo sát AI/ML có nguồn dẫn chứng, kèm danh mục tài liệu tham khảo được chọn lọc và render HTML qua Fireworks/Kimi.
Cài skill survey-generator bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/survey-generator-f1ef5.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /survey-generator – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/survey-generator-f1ef5.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $survey-generator – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/survey-generator-f1ef5.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /survey-generator – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/survey-generator-f1ef5.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /survey-generator – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Survey Generator Skill
When to Use
Use to curate a source-backed AI/ML literature survey draft and optionally render a passive local HTML artifact through an explicitly authorized Fireworks API call.
_Source: [dair-ai/dair-academy-plugins](https://github.com/dair-ai/dair-academy-plugins) (MIT)._
Generate an academic-style survey paper as a single self-contained HTML file.
What this skill does
Given a topic and a public anchor resource, this skill:
1. Reads the anchor resource and extracts the landscape of relevant work.
2. Builds a structured research_bundle.json (title, taxonomy, sections, bibliography of real papers).
3. Calls Kimi K2.6 via the Fireworks chat completions API with the research bundle and a fixed style_spec.json.
4. Writes a single-file HTML artifact with inline SVG figures, an academic layout, numbered sections, and a References list.
The agent remains responsible for checking sources, generated prose, citations, SVG geometry and final coverage. A model call produces a draft, not an academically verified survey. The historical Kimi model name is an example; select an available provider model explicitly.
Inputs from the user
The user invokes this skill with at minimum:
topic: a concise survey topic, for example "Agentic Engineering" or "Reasoning Models".source_url: a public anchor resource. Any curated list, canonical blog post, arXiv survey, GitHub awesome-list, or index page works. Suggested starting points: [DAIR.AI AI Papers of the Week](https://github.com/dair-ai/AI-Papers-of-the-Week) (a continuously updated open-source index of notable AI/ML papers, well suited for broad topics), a GitHub awesome-* repo, an arXiv survey PDF, or a well-maintained papers page.
Optional:
bibliography_size: target bibliography size. Default 20 for a quick survey. Use 40 to 50 for a comprehensive survey, 80 to 100 for an exhaustive one. Section length and token budget scale with this.section_count: number of sections, default 6 to 10.
If the user has not provided these, use AskUserQuestion to collect them before proceeding.
Requirements
FIREWORKS_API_KEYexported in the environment. The build script reads it fromos.environ.- Python 3 with stdlib only (urllib). No external dependencies.
Workflow for the agent
Follow these steps in order. Do not skip steps.
Step 1. Read the anchor resource
Fetch and read source_url. If it is a GitHub repo, fetch the README and any relevant README-*.md or papers.md indices. If it is an arXiv survey, use the abstract, figures, and section headings. If it is a blog post, read it in full. Extract the key subtopics and the papers or systems it references by name.
For broad AI/ML topics, [DAIR.AI AI Papers of the Week](https://github.com/dair-ai/AI-Papers-of-the-Week) is a particularly rich anchor: it has weekly issues going back years, each with short summaries of 6 to 10 notable papers, so it is easy to scan across time and filter to the subset that matches your topic.
If a paper-search tool is available to your agent (a Papers-of-the-Week MCP, arXiv search, Semantic Scholar, Google Scholar, an organization's internal index, etc.), use it to expand the candidate pool beyond what the anchor resource cites directly.
Step 2. Define the taxonomy and sections
Draft a taxonomy rooted at the topic with 4 to 8 branches, each with 2 to 4 children. Branches should cover distinct subareas of the topic, not overlap. Draft 6 to 10 numbered sections that match the taxonomy progression: introduction, foundations, methods, evaluation, open problems. Figure 1's viewport height scales automatically with the total leaf count via the geometry contract in style_spec.json, so deeper taxonomies render cleanly.
Step 3. Curate the bibliography
Pick real papers sized to bibliography_size. For a comprehensive survey, 40 to 50 entries is the sweet spot; the bundled historical example contains about 100 entries, but this is not a validated context-limit, citation-quality or completeness guarantee. Every entry must have: key, authors, year, title, venue, and a 1 to 2 sentence summary. Do not invent papers. Every section's papers array must reference keys that exist in the bibliography.
Step 4. Write research_bundle.json
Write research_bundle.json inside the selected workspace, outside the installed skill tree. Add source_url to every bibliography entry. Resolve actual authors, dates, identifiers and venues from primary paper records, deduplicate works (including alternate titles), and set verification_status to verified only after these checks. Use templates/research_bundle_template.json as the structural scaffold. Required top-level fields: title, authors_placeholder, anchor_source, abstract_hints, taxonomy, paradigms, stack, sections, table, bibliography. See examples/agentic-engineering/research_bundle.json for a complete worked example.
Step 5. Run the generator
python3 "{SKILL_DIR}/build_artifact.py" --bundle "{WORKSPACE}/research_bundle.json" --output-dir "{WORKSPACE}/survey-output" --model "{VERIFIED_FIREWORKS_MODEL}" --max-tokens 8192 --allow-paidBefore using --allow-paid, confirm the provider, allowed research data and token/cost budget. Existing explicit authorization remains valid within its scope. The script reads the selected bundle and bundled style, refuses redirects and incomplete/active HTML, and writes an exclusive versioned artifact inside the selected output directory. No retry is automatic; a repeated request can incur another charge.
To use a different Fireworks model (for example Kimi K2.5 for side-by-side comparison):
FIREWORKS_MODEL=accounts/fireworks/models/kimi-k2p5 python3 "{SKILL_DIR}/build_artifact.py" --bundle "{WORKSPACE}/research_bundle.json" --output-dir "{WORKSPACE}/survey-output" --model "{VERIFIED_FIREWORKS_MODEL}" --max-tokens 8192 --allow-paidOutput filenames are slugged by model so you can compare versions across models.
Step 6. Preview and iterate
Open the HTML file locally. It is a fully self-contained HTML document, so you can also serve it from any static host, embed it in a dashboard, or hand it to any artifact-preview mechanism your agent exposes.
If figures look weak, sharpen style_spec.json (the required_figures and figure_quality_note keys) and rerun. If prose is thin or sections are missing, tighten the section guidance fields in research_bundle.json. Inspect the output before previewing it. Direct targeted factual, accessibility or layout corrections are permitted; retain provenance and recheck citations after edits. Inputs may also be revised for a separately authorized regeneration.
Common figure failure modes and the style_spec patterns that fix them:
- Nodes from different panels collapsing into one panel: require
<g transform="translate(OFFSET,0)">groups with panel-local coordinates (enforced for Figure 2). - Leaf rects overlapping vertically so labels get clipped: enforce rect_pitch greater than rect_height with an explicit formula and a sanity check (enforced for Figure 1).
- Root label overflowing its pill: pin minimum rect width in the spec (enforced for Figure 1, width=200).
- Sibling nodes in a row overlapping horizontally (e.g. Worker A, Worker B, Worker C in an orchestrator-workers panel): enforce a deterministic rect_width and center_x formula for N nodes in a fixed-width panel, with a minimum horizontal gap between adjacent rects (enforced for Figure 2 multi-node rows).
- Panel contents drifting to the left or right edge instead of sitting in the middle of the panel background: pin each group's translate offset to match the panel background's x position (10, 270, 530) and center all content on panel-local x=120 (enforced for Figure 2).
- Figures emitted in the wrong numeric order because the model preferred a different narrative flow: require the captions to use the exact IDs from required_figures in sequence (Figure 1 before Figure 2 before Figure 3), even if it means placing two figures in the same section (enforced via hard_rules_for_generation).
- Right-side labels on the stack diagram getting clipped at the viewport edge: widen the stack SVG viewport to 720 and require role-text tspans to fit within x=710 (enforced for Figure 3).
When adding a new figure or changing an existing one, follow the same pattern: declare an absolute viewport, per-element coordinates or a deterministic formula, and a hard-invariant check clause at the end of the description.
Files in this skill
SKILL.md- this file.build_artifact.py- Python script that calls Fireworks.style_spec.json- visual and structural spec (topic-agnostic).templates/research_bundle_template.json- empty template for new topics.examples/agentic-engineering/- reference 100-paper run (research_bundle.json + survey.html).
Hard rules the agent must follow
1. Never invent bi
… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- tanstack-query-expert – Chuyên gia về TanStack Query (React Query) — quản lý trạng thái bất đồng bộ. Bao gồm…
- team-composition-analysis – Thiết kế cơ cấu nhóm tối ưu, kế hoạch tuyển dụng, chiến lược lương thưởng và phân bổ cổ…
- time-ledger – Theo dõi thời gian bằng ngôn ngữ tự nhiên: chuyển những gì người dùng nói đã làm thành…
- traderspy-market-briefing – Bản tóm tắt thị trường crypto từ dữ liệu TraderSpy trực tiếp: coin lớn, funding, open…
- traderspy-position-check – Kiểm tra sức khỏe các vị thế crypto futures người dùng mô tả, bằng dữ liệu TraderSpy…
- traderspy-technical-analysis – Đọc một cặp crypto futures với TraderSpy: 19 chỉ báo trên tối đa 3 khung thời gian trong…
- trading-ledger – Nhật ký giao dịch ghi lại quyết định chứ không chỉ khớp lệnh: luận điểm, kế hoạch và cảm…
- trl-training – Huấn luyện và tinh chỉnh mô hình ngôn ngữ transformer bằng TRL (Transformers…