# fokkyp/softwarecopyright-skill architecture

> Architecture diagram of the GitHub repository fokkyp/softwarecopyright-skill, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/fokkyp/softwarecopyright-skill
- Repository: https://github.com/fokkyp/softwarecopyright-skill

## Overview

This repository is a coding-agent Skill that guides a developer through preparing Chinese software-copyright application materials locally. The documented workflow analyzes a real project, develops business context, gathers user-confirmed application fields and source-file selections, prepares an operation-manual draft and code excerpts, then exports confirmed materials as DOCX/TXT. Screenshot capture is an optional branch, and environment checks gate tool-dependent work. The README supplies the overall capabilities; sampled scripts support the analysis, drafting, confirmation, extraction, and export relationships shown here. Wiring for unsampled orchestration is not inferred.

Main entry points: [`software-copyright-materials/scripts/build_docx_from_md.py`](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/build_docx_from_md.py) (Document builder), [`software-copyright-materials/scripts/analyze_project.py`](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/analyze_project.py) (Project analysis), [`software-copyright-materials/SKILL.md`](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/SKILL.md) (Skill guidance), [`software-copyright-materials/scripts/common.py`](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/common.py) (Shared workflow helpers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Skill workflow"]
  node_skill["Skill guidance<br/>[SKILL.md]"]
  node_environment["Environment check"]
  node_gates["User confirmations<br/>[confirm_stage.py]"]
  node_shared["Shared workflow helpers<br/>[common.py]"]
end

subgraph group_analysis["Project analysis"]
  node_analysis_script["Project analysis<br/>[analyze_project.py]"]
  node_business["Business context"]
  node_selection["Code selection"]
end

subgraph group_drafting["Material drafting"]
  node_app_info["Application fields"]
  node_manual["Operation manual"]
  node_code_extract["Source excerpts"]
end

subgraph group_output["Export and capture"]
  node_screenshot_check["Screenshot tool check"]
  node_screenshots["Screenshot capture"]
  node_builder["Document builder"]
  node_office_backend["OfficeCLI adapter"]
  node_materials["Final materials"]
end

node_developer(("Developer"))
node_coding_agent(("Coding agent"))
node_project["Real project"]
node_officecli["OfficeCLI"]
node_playwright["Playwright CLI"]

node_developer -->|"invokes skill"| node_coding_agent
node_coding_agent -->|"follows guidance"| node_skill
node_skill -->|"checks prerequisites"| node_environment
node_skill -->|"starts workflow"| node_analysis_script
node_project -->|"provides source"| node_analysis_script
node_analysis_script -->|"supplies analysis"| node_business
node_analysis_script -->|"supplies project facts"| node_selection
node_business -->|"supplies context"| node_app_info
node_business -->|"supplies context"| node_manual
node_selection -->|"supplies selection"| node_code_extract
node_project -->|"provides candidates"| node_selection
node_project -->|"provides source"| node_code_extract
node_analysis_script -->|"supplies analysis"| node_app_info
node_developer -->|"confirms stages"| node_gates
node_gates -->|"gates final export"| node_builder
node_app_info -->|"provides confirmed draft"| node_builder
node_manual -->|"provides confirmed draft"| node_builder
node_code_extract -->|"provides code drafts"| node_builder
node_environment -->|"checks export readiness"| node_builder
node_builder -->|"uses adapter"| node_office_backend
node_office_backend -->|"runs commands"| node_officecli
node_builder -->|"writes DOCX/TXT"| node_materials
node_skill -.->|"checks optional capture"| node_screenshot_check
node_screenshot_check -.->|"verifies version"| node_playwright
node_skill -.->|"starts optional capture"| node_screenshots
node_screenshots -.->|"drives browser"| node_playwright
node_screenshots -.->|"provides images"| node_builder
node_shared -->|"provides helpers"| node_analysis_script
node_shared -->|"provides helpers"| node_selection
node_shared -->|"provides helpers"| node_code_extract
node_shared -->|"provides helpers"| node_builder

click node_skill "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/SKILL.md"
click node_environment "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/check_environment.py"
click node_gates "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/confirm_stage.py"
click node_analysis_script "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/analyze_project.py"
click node_business "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/generate_business_context.py"
click node_selection "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/propose_code_selection.py"
click node_app_info "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/generate_application_info.py"
click node_manual "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/generate_manual_draft.py"
click node_code_extract "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/extract_code_material.py"
click node_shared "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/common.py"
click node_screenshot_check "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/check_playwright_cli.py"
click node_screenshots "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/capture_screenshots.py"
click node_builder "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/build_docx_from_md.py"
click node_office_backend "https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/officecli_backend.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_skill,node_environment,node_gates,node_shared toneBlue
class node_analysis_script,node_business,node_selection toneAmber
class node_app_info,node_manual,node_code_extract toneMint
class node_screenshot_check,node_screenshots,node_builder,node_office_backend,node_materials toneRose
class node_developer,node_coding_agent,node_project,node_officecli,node_playwright toneIndigo
```

## Components

### Skill workflow

- [Skill guidance](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/SKILL.md): `software-copyright-materials/SKILL.md`
- [Environment check](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/check_environment.py): `software-copyright-materials/scripts/check_environment.py`
- [User confirmations](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/confirm_stage.py): `software-copyright-materials/scripts/confirm_stage.py`
- [Shared workflow helpers](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/common.py): `software-copyright-materials/scripts/common.py`

### Project analysis

- [Project analysis](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/analyze_project.py): `software-copyright-materials/scripts/analyze_project.py`
- [Business context](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/generate_business_context.py): `software-copyright-materials/scripts/generate_business_context.py`
- [Code selection](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/propose_code_selection.py): `software-copyright-materials/scripts/propose_code_selection.py`

### Material drafting

- [Application fields](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/generate_application_info.py): `software-copyright-materials/scripts/generate_application_info.py`
- [Operation manual](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/generate_manual_draft.py): `software-copyright-materials/scripts/generate_manual_draft.py`
- [Source excerpts](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/extract_code_material.py): `software-copyright-materials/scripts/extract_code_material.py`

### Export and capture

- [Screenshot tool check](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/check_playwright_cli.py): `software-copyright-materials/scripts/check_playwright_cli.py`
- [Screenshot capture](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/capture_screenshots.py): `software-copyright-materials/scripts/capture_screenshots.py`
- [Document builder](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/build_docx_from_md.py): `software-copyright-materials/scripts/build_docx_from_md.py`
- [OfficeCLI adapter](https://github.com/fokkyp/softwarecopyright-skill/blob/main/software-copyright-materials/scripts/officecli_backend.py): `software-copyright-materials/scripts/officecli_backend.py`
- **Final materials**

### Other components

- **Developer**
- **Coding agent**
- **Real project**
- **OfficeCLI**
- **Playwright CLI**

## Connections

- Developer → Coding agent: invokes skill
- Coding agent → Skill guidance: follows guidance
- Skill guidance → Environment check: checks prerequisites
- Skill guidance → Project analysis: starts workflow
- Real project → Project analysis: provides source
- Project analysis → Business context: supplies analysis
- Project analysis → Code selection: supplies project facts
- Business context → Application fields: supplies context
- Business context → Operation manual: supplies context
- Code selection → Source excerpts: supplies selection
- Real project → Code selection: provides candidates
- Real project → Source excerpts: provides source
- Project analysis → Application fields: supplies analysis
- Developer → User confirmations: confirms stages
- User confirmations → Document builder: gates final export
- Application fields → Document builder: provides confirmed draft
- Operation manual → Document builder: provides confirmed draft
- Source excerpts → Document builder: provides code drafts
- Environment check → Document builder: checks export readiness
- Document builder → OfficeCLI adapter: uses adapter
- OfficeCLI adapter → OfficeCLI: runs commands
- Document builder → Final materials: writes DOCX/TXT
- Skill guidance → Screenshot tool check: checks optional capture
- Screenshot tool check → Playwright CLI: verifies version
- Skill guidance → Screenshot capture: starts optional capture
- Screenshot capture → Playwright CLI: drives browser
- Screenshot capture → Document builder: provides images
- Shared workflow helpers → Project analysis: provides helpers
- Shared workflow helpers → Code selection: provides helpers
- Shared workflow helpers → Source excerpts: provides helpers
- Shared workflow helpers → Document builder: provides helpers
