SuperAPI AI Directory

tech-analysis-reporter

Writing & research

View repository

Updated 10-16 08:54

About this skill

Self-media Software Analysis Report Generator (Agent Skill)

Trigger Conditions

When the user says any of the following statements, this Skill is started:

  • "Self-media Software Analysis Report"
  • "Generate a technical report"
  • "Analyze this project"
  • "Help me write a technical analysis"
  • "Learn about this open-source project"

Agent Execution Flow

Phase 1: Project Acquisition (Dialogue Round 1)

Agent Opening:

I will help you generate a professional technical analysis report. First, please tell me the project source:

  1. GitHub link(public or private repository)
  2. Local project path(absolute path)

Collect information:

  • Wait for the user to provide the project source
  • If it is a private GitHub repository, ask whether a Token is needed

Verify availability:

# GitHub项目
git clone --depth 1 <url> /tmp/analysis-repo 2>&1

# 本地项目
ls -la <path>

If you encounter private repository permission issues:

This project appears to be private and I cannot access it directly. You can:

  1. Provide a Personal Access Token
  2. Or package the project and send it to me

Phase 2: Project Identification and Confirmation (Dialogue Round 2)

Automatically detect project type:

Read key project files and determine the project type:

Detection basis Project type
package.json + src/pages or routes Web application
package.json + bin field CLI tool
Python/Rust + algorithm-related directories Algorithm library
Large amount of configuration + plugin system Framework/Platform
Android/iOS directories Mobile app
data/db/query related Data tool
Unable to identify General project

Agent informs the user of the detection result:

I detected that this is a [project type] project.

Key features:

  • Primary language: [Python/JavaScript/Rust, etc.]
  • Core modules: [list main directories]
  • Tech stack: [extracted from package.json, etc.]

Is this judgment accurate? If not, please tell me the actual type.

Wait for the user to confirm or correct


Phase 3: Report Configuration (Dialogue Round 3)

Ask about the report template:

Please choose a report template:

A. Concise Overview(3 chapters, about 3,000 words)

  • Suitable for: quickly understanding the project
  • Chapters: Overview + Architecture + Highlights

B. Standard Analysis(5 chapters, about 8,000 words) ⭐Recommended

  • Suitable for: routine technical review
  • Chapters: Overview + Architecture + Mechanisms + Ecosystem + Tech Stack

C. In-depth Analysis(7 chapters, about 12,000 words)

  • Suitable for: in-depth technical audit
  • Chapters: Standard 5 chapters + Performance + Security + Future Outlook

D. Custom

  • You specify the number of chapters and the topic

Ask about content style:

Please choose a writing style:

  1. Academic style - Humorous but rigorous, with metaphors, like a tech blog
  2. Technical style - Precise and professional, dense with terminology, like architecture documentation
  3. Popular science style - Easy to understand, story-driven, suitable for non-technical readers
  4. Business style - Value-oriented, with data, suitable for investment scenarios

Ask about analysis depth:

Please choose the analysis depth:

  • Overview(30%) - Concept-level explanation, no code
  • Standard(60%) - Moderately in-depth, a small amount of pseudocode
  • Expert(100%) - Deep analysis, real code + detailed explanation

Ask about output format:

Please choose the output format (multiple selections allowed):

  • Markdown (editable source)
  • Word document (.docx, formal report)
  • PDF (suitable for publishing and sharing)

Phase 4: Personalized configuration (4th round of dialogue)

Ask about illustration requirements:

Do you need illustrations? Number of illustrations per chapter:

  • 0 (text only, suitable for projects that already have design diagrams)
  • 1 (1 concept diagram per chapter)
  • 2 (architecture diagram + flowchart per chapter)
  • 3 (comprehensive visual presentation)

Ask about special focus points (optional):

Are there any modules or features you especially want me to focus on analyzing? (Press Enter to skip)

Ask about font preferences (only needed for Word output):

If generating a Word document, font settings:

  • Heading font: [SimHei/Microsoft YaHei/SimSun]
  • Body font: [FangSong/SimSun/Microsoft YaHei]

(The output format will be confirmed after generation is complete)

Confirm and summarize:

Okay, configuration complete! Let me confirm:

Configuration item Your choice
Project [Project name]
Type [Project type]
Template [A/B/C/D]
Style [Academic/Technical/Popular science/Business]
Depth [Overview/Standard/Expert]
Illustrations [0-3 per chapter]

Once confirmed, I will begin generating the report. This process will take about 10-15 minutes.

Confirm to start?(Reply "start" or "modify")


Phase 5: Execute generation

After the user confirms, the Agent executes the following steps:

Step 1: Project acquisition

# GitHub项目
git clone --depth 1 <url> /tmp/analysis-repo

# 本地项目
cp -r <local_path> /tmp/analysis-repo

Step 2: Project analysis

Read and analyze:

  • README.md - Project overview
  • package.json / Cargo.toml / pyproject.toml - Tech stack
  • src/ directory structure - Architecture analysis
  • docs/ - Existing documentation

Extract key information and save it to the context.

Step 3: Multi-Agent collaborative chapter generation

Start team task mode, with the PM (you) as coordinator:

团队构成:
- PM(你): 任务分配、进度监控、结果汇总
- Writer-1: 第1章(概述)
- Writer-2: 第2章(架构)
- Writer-3: 第3章(机制)
- Writer-4: 第4章(生态/技术栈,根据模板动态分配)
- QA: 质量验证

Shared whiteboard mechanism:

Create a shared state file that all Agents can read from and write to:

// /tmp/analysis-shared-board.json
{
  "project_info": { /* 项目分析结果 */ },
  "config": {
    "template": "B",
    "style": "学术风",
    "depth": "标准",
    "images_per_chapter": 2
  },
  "chapters": {
    "01-overview": { "status": "pending", "writer": "Writer-1", "content": null },
    "02-architecture": { "status": "pending", "writer": "Writer-2", "content": null },
    "03-mechanism": { "status": "pending", "writer": "Writer-3", "content": null },
    "04-ecosystem": { "status": "pending", "writer": "Writer-4", "content": null },
    "05-techstack": { "status": "pending", "writer": "Writer-4", "content": null }
  },
  "images": {
    "generated": [],
    "assigned": []
  },
  "qa_report": null
}

Task workflow for each Writer Agent:

  1. Read the shared whiteboard - Get project information and configuration
  2. Read the assigned chapter Prompt template
  3. Write the chapter content(1000-2000 words)
  4. Generate illustrations(if configured for >0 images)
    • Use nano-banana-pro to generate 2K illustrations
    • Update the whiteboard: images.generated
  5. Save the chapter to a temporary file
  6. Update the whiteboard: chapters.[chapter].status = "completed"

PM monitoring logic:

# 每2分钟检查一次白板进度
while True:
    board = read_shared_board()
    completed = sum(1 for ch in board["chapters"].values() if ch["status"] == "completed")
    total = len(board["chapters"])
    
    if completed == total:
        break
    
    # 向用户汇报进度
    print(f"进度: {completed}/{total} 章节已完成")
    sleep(120)

Step 4: Generate illustrations (if configured for >0 per chapter)

If the user selects 0 illustrations:

  • Skip this step
  • Do not insert any image references into the chapter
  • Proceed directly to the next step

If the user selects 1-3 illustrations:

Each Writer Agent independently generates illustrations:

cd ~/clawd/skills/nano-banana-pro
export $(grep -v '^#' .env | xargs)
uv run scripts/generate_image.py \
  --prompt "[根据章节内容生成的学术风格配图Prompt]" \
  --filename "/tmp/analysis/images/XX-topic.png" \
  --resolution 2K

After generation, update the shared whiteboard:

"images": {
  "generated": [
    "01-hero.png",
    "02-architecture.png",
    ...
  ]
}

Step 5: QA quality verification

Start the QA Agent(verify each chapter in parallel or sequentially):

QA Agent任务:
1. 读取共享白板,获取所有章节文件路径
2. 逐章验证:
   - 内容准确性(技术描述是否正确)
   - 完整性(是否覆盖要求的深度)
   - 风格符合度(是否符合选择的风格)
   - 流畅度(阅读体验)
   - 配图质量(如果配置了配图)
3. 生成QA报告,更新白板:qa_report
4. 标记各章节:pass / need_fix

如果章节需要修改:
- 返回给对应Writer Agent修改
- 修改后重新验证
- 最多3轮迭代

After QA passes, continue to the next step.

Step 6: Merge and convert

Merge Markdown:

cat 01-*.md 02-*.md ... > complete.md

Format conversion (based on the user's choice in Phase 4):

Ask the user to confirm the output format:

The report content has been generated and passed QA verification.> Please select the final output format(s) (multiple selections allowed):

  • Markdown (editable source)
  • Word document (.docx, formal report)
  • PDF (suitable for publishing and sharing)

If multiple formats are selected, I will package them into a zip and send it.

After waiting for user confirmation, perform the conversion:

Markdown: Use complete.md directly

Word (if selected):

pandoc complete.md -o report.docx --toc --toc-depth=2
python3 adjust_fonts.py report.docx "[标题字体]" "[正文字体]"

PDF (if selected):

pandoc complete.md -o report.pdf --pdf-engine=xelatex

Multi-file packaging (if 2 or more formats are selected):

zip 技术报告-完整版.zip complete.md report.docx report.pdf images/

Step 6: Delivery

✅ Report generation complete!

File list:

  • 📄 Complete report.md (editable source)
  • 📘 Technical report.docx (Word document, bold headings + FangSong body text)
  • 📕 Technical report.pdf (PDF format)
  • 🖼️ Illustrations folder (X 2K resolution images)

Sending files...

Send all generated files to the user.


Special case handling

Case 1: Project clone failed

Encountered a problem while cloning the project: [error message]

Possible reasons:

  1. Private repository requires a Token
  2. Network issue
  3. Repository does not exist

Suggestion: [specific solution]

Case 2: Project type cannot be identified

I cannot automatically identify this project type. Please tell me:

  • What type of project is this? (Web app/CLI tool/algorithm library/framework/other)
  • What is its main function?

Case 3: User requests modifications

Received modification feedback. Please tell me the specific changes:

  1. Which chapter needs to be modified?
  2. What are the modifications?
  3. Do you need to adjust the illustrations?

Then regenerate the corresponding chapter.

Situation 4: Generation takes too long

Report is being generated, [X/Y] chapters completed...

Estimated remaining time: about Z minutes

You can preview the completed chapters first: [File]

Situation 5: Shared whiteboard access conflict

If multiple Writer Agents read and write the whiteboard at the same time:

  1. Use a file locking mechanism (lockfile)
  2. Or use Git for version control
  3. Or relay through the PM (send all write operations to the PM, and the PM updates the whiteboard)

Recommended solution: relay through the PM

Writer -> 向PM汇报进度 -> PM更新白板 -> 广播给其他Agent

Situation 6: QA verification fails

If QA discovers chapter quality issues:

  1. QA marks on the shared whiteboard: chapters.[chapter].status = "need_fix"
  2. QA explains the issues in detail in qa_report
  3. The PM notifies the corresponding Writer Agent to revise
  4. After revision, the Writer resubmits to QA
  5. At most 3 iterations; if it still fails, mark it as "warning" and continue

Chapter Prompt Template

Academic Style Prompt Template

你是一个技术文档撰写专家。请基于以下项目信息,撰写[章节名称]。

## 项目信息
{project_analysis_result}

## 写作要求
- 风格:幽默但严谨,像顶级会议论文
- 深度:[概述/标准/专家]
- 字数:[根据深度调整]
- 配图:如果需要,在适当位置插入 ![图片描述](./images/XX-name.png)

## 章节大纲
[根据章节类型提供的大纲]

请直接输出完整的Markdown格式章节内容。

Technical Style Prompt Template

你是一个技术架构师。请基于以下项目信息,撰写[章节名称]。

## 项目信息
{project_analysis_result}

## 写作要求
- 风格:精准专业,术语准确
- 深度:[概述/标准/专家]
- 包含:架构图描述、关键代码片段、性能数据
- 配图:如果需要,在适当位置插入

请直接输出完整的Markdown格式章节内容。

(Popular science style and business style are similar...)


Dependency Check

Before execution, check whether the following dependencies are available:

# 检查pandoc
which pandoc || echo "pandoc未安装"

# 检查python-docx
python3 -c "import docx" 2>&1 || echo "python-docx未安装"

# 检查nano-banana-pro
ls ~/clawd/skills/nano-banana-pro/scripts/generate_image.py

# 检查Git
which git

If anything is missing, tell the user how to install it.


Output File Structure

/tmp/analysis-output/
├── 01-overview.md
├── 02-architecture.md
├── 03-mechanism.md
├── 04-ecosystem.md
├── 05-techstack.md
├── images/
│   ├── 01-hero.png
│   ├── 02-architecture.png
│   └── ...
├── complete.md              # 合并后的完整Markdown
├── 技术报告.docx            # Word文档(如选择)
└── 技术报告.pdf             # PDF文档(如选择)

Shared Whiteboard Usage Example

Whiteboard initialization (executed by the PM)

import json

board = {
    "project_info": {
        "name": "OpenClaw",
        "type": "framework",
        "language": "TypeScript",
        "tech_stack": ["Node.js", "WebSocket", "TypeBox"],
        "description": "个人AI助手平台"
    },
    "config": {
        "template": "B",
        "style": "学术风",
        "depth": "标准",
        "images_per_chapter": 2,
        "title_font": "黑体",
        "body_font": "仿宋"
    },
    "chapters": {
        "01-overview": {
            "status": "pending",
            "writer": "Writer-1",
            "content_path": None,
            "word_count": 0
        },
        "02-architecture": {
            "status": "pending", 
            "writer": "Writer-2",
            "content_path": None,
            "word_count": 0
        },
        "03-mechanism": {
            "status": "pending",
            "writer": "Writer-3", 
            "content_path": None,
            "word_count": 0
        },
        "04-ecosystem": {
            "status": "pending",
            "writer": "Writer-4",
            "content_path": None,
            "word_count": 0
        },
        "05-techstack": {
            "status": "pending",
            "writer": "Writer-4",
            "content_path": None,
            "word_count": 0
        }
    },
    "images": {
        "generated": [],
        "failed": []
    },
    "qa_report": {
        "status": "pending",
        "results": {}
    }
}

with open("/tmp/analysis-shared-board.json", "w") as f:
    json.dump(board, f, indent=2)

Writer Agent reads the whiteboard

import json

def read_board():
    with open("/tmp/analysis-shared-board.json", "r") as f:
        return json.load(f)

def update_board(updates):
    """更新白板(通过PM中转)"""
    board = read_board()
    board.update(updates)
    with open("/tmp/analysis-shared-board.json", "w") as f:
        json.dump(board, f, indent=2)

# Writer Agent使用示例
board = read_board()
my_chapter = "01-overview"
config = board["config"]
project_info = board["project_info"]

# 撰写章节...
# 完成后更新白板
update_board({
    "chapters": {
        my_chapter: {
            "status": "completed",
            "content_path": "/tmp/analysis/01-overview.md",
            "word_count": 1850
        }
    }
})

PM monitors progress

def check_progress():
    board = read_board()
    total = len(board["chapters"])
    completed = sum(1 for ch in board["chapters"].values() 
                    if ch["status"] == "completed")
    
    return {
        "completed": completed,
        "total": total,
        "percentage": (completed / total) * 100
    }

# 每2分钟检查一次
while True:
    progress = check_progress()
    print(f"进度: {progress['completed']}/{progress['total']} "
          f"({progress['percentage']:.0f}%)")
    
    if progress["completed"] == progress["total"]:
        break
    
    time.sleep(120)

Example Dialogue Flow

User: Self-media software analysis report

Agent: I will help you generate a professional technical analysis report. First, please tell me the project source:

  1. GitHub link (public or private repository)
  2. Local project path (absolute path)

User: https://github.com/openclaw/openclaw

Agent: [Clone the project and analyze...]

I detected that this is a framework/platform project.

Key features:

  • Main language: TypeScript
  • Core modules: Gateway, Agent, Channels, Skills
  • Tech stack: Node.js, WebSocket, TypeBox

Is this judgment accurate?

User: Accurate

Agent: Please choose a report template: A. Concise Overview (3 chapters) B. Standard Analysis (5 chapters) C. In-depth Analysis (7 chapters) D. Custom

User: B

Agent: Please choose a writing style:

  1. Academic style 2. Technical style 3. Popular science style 4. Business style

User: 1

...(continue the subsequent dialogue)


Skill version: 2.0 | Agent Usage Guide | Updated: 2026-02-03