Skip to content

feat: Add Project Documenter Plugin with agents and skills#1436

Open
parveen-dotnet wants to merge 11 commits intogithub:stagedfrom
parveen-dotnet:feature/project-documenter-plugin
Open

feat: Add Project Documenter Plugin with agents and skills#1436
parveen-dotnet wants to merge 11 commits intogithub:stagedfrom
parveen-dotnet:feature/project-documenter-plugin

Conversation

@parveen-dotnet
Copy link
Copy Markdown

  • Auto-discovers technology stack and project structure
  • Generates architecture diagrams with draw.io
  • Creates professional Word (.docx) output with embedded PNG images
  • Includes agents for orchestration and skills for functionality

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • I have read and followed the Guidance for submissions involving paid services.
  • My contribution adds a new plugin, instruction, prompt, agent, skill, or workflow file in the correct directory.
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, agent, skill, or workflow with GitHub Copilot.
  • I have run npm start and verified that README.md is up to date.
  • I am targeting the staged branch for this pull request.

Description

This PR introduces the Project Documenter Plugin, a comprehensive solution for automatically generating professional project documentation.

What It Does

Point the agent at any repository and it produces:

  • Markdown document — 10-section project summary with embedded diagram references
  • Draw.io diagrams — C4 Context, Pipeline, and Component relationship diagrams (.drawio + .drawio.png)
  • Word document — professionally formatted .docx with title page, table of contents, and embedded PNG architecture images

Key Features

  • 🏗️ Auto-Discovery — Scans repository to understand technology stack, architecture patterns, and code structure
  • 📊 Professional Diagrams — Creates C4 Model architecture diagrams (Context, Container, Component levels)
  • 📄 Word Export — Converts Markdown to formatted .docx with embedded PNG images
  • 🔄 Multi-Language Support — Works with .NET, Java, Node.js, Python, Go, Rust, and more
  • 🎯 Technology Agnostic — Auto-detects frameworks, databases, messaging systems, and CI/CD platforms

What's Included

  • 1 Agent: project-documenter — orchestrates the entire documentation generation workflow
  • 2 Skills:
    • drawio — generates C4 diagrams and exports to PNG
    • md-to-docx — converts Markdown to Word with embedded images

Output

Generated files include:

  • docs/project-summary.md — Source Markdown document
  • docs/project-summary.docx — Word document with embedded diagrams
  • docs/diagrams/ — Editable .drawio files + rendered .drawio.png exports

Type of Contribution

  • New instruction file.
  • New prompt file.
  • New agent file.
  • New plugin.
  • New skill file.
  • New agentic workflow.
  • Update to existing instruction, prompt, agent, plugin, skill, or workflow.
  • Other (please specify):

Additional Notes

Supported Technologies

Auto-detects: .NET, Java, Node.js, Python, Go, Rust, Docker, Kubernetes, GitHub Actions, SQS, RabbitMQ, Kafka, and more.

Architecture Model

Follows C4 Model for generating Context, Container, and Component level diagrams.

Installation

copilot plugin install project-documenter@awesome-copilot
---

By submitting this pull request, I confirm that my contribution abides by the [Code of Conduct](../CODE_OF_CONDUCT.md) and will be licensed under the MIT License.

- Auto-discovers technology stack and project structure
- Generates architecture diagrams with draw.io
- Creates professional Word (.docx) output with embedded PNG images
- Includes agents for orchestration and skills for functionality
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 18, 2026

🔍 Skill Validator Results

⛔ Findings need attention

Scope Checked
Skills 2
Agents 1
Total 3
Severity Count
--- ---:
❌ Errors 2
⚠️ Warnings 1
ℹ️ Advisories 0

Summary

Level Finding
[agent:Project Documenter] Agent name 'Project Documenter' does not match filename 'project-documenter.agent.md' (expected 'Project Documenter.agent.md').
[agent:Project Documenter] Agent name 'Project Documenter' contains invalid characters — must be lowercase alphanumeric and hyphens only.
Full validator output ```text Found 2 skill(s) [drawio] 📊 drawio: 920 BPE tokens [chars/4: 805] (detailed ✓), 13 sections, 3 code blocks [md-to-docx] 📊 md-to-docx: 676 BPE tokens [chars/4: 688] (detailed ✓), 9 sections, 3 code blocks [md-to-docx] ⚠ No numbered workflow steps — agents follow sequenced procedures more reliably. Found 1 agent(s) ❌ [agent:Project Documenter] Agent name 'Project Documenter' does not match filename 'project-documenter.agent.md' (expected 'Project Documenter.agent.md'). ❌ [agent:Project Documenter] Agent name 'Project Documenter' contains invalid characters — must be lowercase alphanumeric and hyphens only. Validated 1 agent(s)

{Ansi.Red}Agent spec conformance failures — fix the errors above.{Ansi.Reset}

</details>
> **Note:** The validator returned a non-zero exit code. Please review the findings above before merge.

Copy link
Copy Markdown
Contributor

@aaronpowell aaronpowell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The plugin structure is incorrect for this repo. The agent should be in the top-level agents folder with a .agent.md suffix, and then referenced by the plugin.json file.

Plugins shouldn't have a docs folder.

The JavaScript files in the skills should be in their respective scripts folder.

@parveen-dotnet
Copy link
Copy Markdown
Author

The plugin structure is incorrect for this repo. The agent should be in the top-level agents folder with a .agent.md suffix, and then referenced by the plugin.json file.

Plugins shouldn't have a docs folder.

The JavaScript files in the skills should be in their respective scripts folder.

Thank you @aaronpowell, ,I did the respective changes. Please let me know if I am still missing anything.

@parveen-dotnet
Copy link
Copy Markdown
Author

Hi @aaronpowell, can you please review the PR

@aaronpowell
Copy link
Copy Markdown
Contributor

The README needs to be updated with the change to the agents and skills. Run npm run build to update them.

@parveen-dotnet
Copy link
Copy Markdown
Author

The README needs to be updated with the change to the agents and skills. Run npm run build to update them.

@aaronpowell Thanks for pointing that out. I’ve run npm run build and updated the README to reflect the latest changes to the agents and skills. Please let me know if anything else needs to be adjusted.

Copy link
Copy Markdown
Contributor

@aaronpowell aaronpowell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor change to the plugin.json file then should be good to merge.

Comment thread plugins/project-documenter/.github/plugin/plugin.json Outdated
@parveen-dotnet
Copy link
Copy Markdown
Author

One minor change to the plugin.json file then should be good to merge.

@aaronpowell Thanks for pointing that out, I’ve updated the plugin.json file accordingly. Let me know if anything else needs tweaking.

Copy link
Copy Markdown
Contributor

@aaronpowell aaronpowell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There shouldn't be any changes to the README.agents.md file. Rerun npm run build to ensure it updated the files correctly.

@parveen-dotnet
Copy link
Copy Markdown
Author

There shouldn't be any changes to the README.agents.md file. Rerun npm run build to ensure it updated the files correctly.

@aaronpowell thanks for your prompt review, changes are done, now the README.agents.md file is no longer part of this PR.

@aaronpowell
Copy link
Copy Markdown
Contributor

The project-documenter plugin refers to an agent that isn't included in this PR:
image

I think it got lost in the move commits, there should be a file agents/project-documenter.agent.md (it was originally put into the plugins/project-documenter/agents folder by mistake).

@parveen-dotnet
Copy link
Copy Markdown
Author

The project-documenter plugin refers to an agent that isn't included in this PR: image

I think it got lost in the move commits, there should be a file agents/project-documenter.agent.md (it was originally put into the plugins/project-documenter/agents folder by mistake).

Oh, don't know how I missed it, thanks @aaronpowell for pointing that out. Now I have added the the agent file as well as ran the npm start i.e updated the readme as well. I hope this should be the last change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants