Skip to content

Create a weekly audit skill that can post an issue with the audit.#2018

Merged
gspencergoog merged 23 commits into
a2ui-project:mainfrom
gspencergoog:a2ui-audit
Jul 17, 2026
Merged

Create a weekly audit skill that can post an issue with the audit.#2018
gspencergoog merged 23 commits into
a2ui-project:mainfrom
gspencergoog:a2ui-audit

Conversation

@gspencergoog

@gspencergoog gspencergoog commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR establishes a suite of automated tools, playbooks, and unit tests to support repository maintenance, focusing on weekly A2UI compliance verification and issue reporting. It introduces automated check and reporting scripts, integrated as specialized agent skills with high test coverage.

Changes

📋 a2ui-audit Skill

  • Added SKILL.md establishing playbooks for multi-language test coverage, dependency management, link checking, formatting, and blueprint compliance checks.
  • Added gh-reference.md containing read-only commands for using gh to search code, check issues, view PR reviews, and inspect CI workflow run logs safely.
  • Added create_compliance_report.py to compile the weekly report and post it to GitHub issues with the title "Weekly A2UI Compliance Report".
  • Added test_create_compliance_report.py providing unit tests for the compliance reporting script.

🔍 a2ui-blueprint-compliance Skill

  • Added check_compliance.py to automate discovering codebase blueprints, parsing pinned commits, and comparing them against module blueprint git logs to generate a Markdown report.
  • Added test_check_compliance.py providing coverage for check, baseline, missing commit parsing, and error status flows.
  • Updated SKILL.md instructing agents to run the compliance script first to automate baseline reports.

🛠️ Infrastructure & Integration

  • Modified link_skills.sh to link the compliance skill.
  • Added new scripts to .gitignore.
  • Updated MyPy configuration in pyproject.toml to support type checks for blueprints/ and specify search paths for cross-package imports.

Impact & Risks

None. All scripts, references, and tests are scoped to local developer skills and CI checks; no changes affect core protocol specifications or SDK production code.

Testing

  • Skill Unit Tests: Verified all skill unit tests pass successfully:
    python3 scripts/run_skills_tests.py
  • Code Coverage: Verified code coverage exceeds the 90% coverage target using pytest-cov on both scripts:
    • check_compliance.py: 92% coverage
    • create_compliance_report.py: 94% coverage
  • Blueprint Validation: Verified all blueprints pass structural/schema validations:
    python3 blueprints/validate_blueprints.py

gemini-code-assist[bot]

This comment was marked as resolved.

gemini-code-assist[bot]

This comment was marked as resolved.

@gspencergoog
gspencergoog marked this pull request as ready for review July 16, 2026 22:54

@josemontespg josemontespg left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks good to me. Please also get approval from @jacobsimionato for the blueprint part.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is very easily extensible to other audit tasks that we might come up in the future, nice!


## **Instructions**

1. **Audit Codebase Blueprint Compliance**:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Optional: Probably doesn't matter too much, but each of these steps is well suited to be executed by subagents. We could instruct here to use subagents to delegate each of the tasks, to keep the main agent context window clean, and the subtasks well scoped.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Yeah, I considered that, and maybe we should, but I was worried that it might increase the likelihood of exceeding rate limits, and since this is running offline, speed doesn't really matter.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@jacobsimionato deferring to your review for these files, as you are the expert in blueprints

This reference provides information about using the GitHub CLI (`gh`) to perform read-only investigations of repository state, and to manage issues and pull requests.

> [!IMPORTANT]
> If the GITHUB_TOKEN environment variable has a dummy value in it, to run the `gh` command-line tool, you must prefix it with `env -u GITHUB_TOKEN` to unset the dummy environment variable (e.g., `env -u GITHUB_TOKEN gh auth status`). Don't do this if the token appears to be a valid token.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Why do we need to have environments with a dummy GITHUB_TOKEN? Could we just not have them to avoid this?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Antigravity sets a dummy value for the token internally, so the agent can't run it while that value is set. This works around that.

- Refer to the [`a2ui-blueprint-compliance`](../../../blueprints/skills/a2ui-blueprint-compliance/SKILL.md) skill for codebase blueprint checking.
- Refer to the [`a2ui-doc-sync-check`](../a2ui-doc-sync-check/SKILL.md) skill for documentation sync checking.
- Refer to the [`a2ui-test-quality-check`](../a2ui-test-quality-check/SKILL.md) skill for test quality and assertion checking.
- Refer to the [`gh-reference`](./references/gh-reference.md) reference for GitHub CLI (`gh`) operations.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Seeing as there is a wrapper script for creating the Github issue anyway, what is gh-reference needed for? Does the agent typically check Github issues to understand project context etc?

@gspencergoog gspencergoog Jul 17, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Yes, and if you look at the reference, it's all about investigation: it doesn't include reference information about write operations (which it doesn't have access to anyhow). If it needs to fetch issues, PRs, or other information it can use gh to do it. I suppose not strictly required, but it seemed like something that would be useful for collecting information.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

When you initially proposed this idea of thinking of blueprints as versioned documents, it struck me as too complex.

But now that I understand your vision for the tooling around this, I really love this model. Every time a module blueprint is updated, we can ensure that each codebase is updated. I hope it works as well in practice as it does in my head!

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

We'll see... It's all a grand experiment.

- Features listed in `implemented_features` that are missing or incomplete in the code.
- Implemented features that are missing from the `implemented_features` frontmatter list.
- **Implemented Optional Features**: A list of optional features verified as implemented in the code.
- **Missing Commits / Spec Diffs**: The list of git commits since the pinned hash.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Potential future idea: Given the model will have already spent a lot of tokens looking through the code at this point, I wonder if it's good value for it to write down some proposals outlining the rough process required to fix discrepancies that are found, e.g. missing features, incorrectly implemented etc.

It's be great to work towards a state where from this report, you're one click away from asking an agent to go and fix each issue. E.g. the report includes proposals with enough context that a human can review and be confident the proposal will send an agent in the right direction.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Yes, that would be a good step. Right now, I want to see if this report is useful, and refine it until it is. I can see the bot also filing draft PRs and posting them here, but that feels like it might be too noisy.

I did consider somehow staging the PRs so that you could just click on a link in the report and have it generate a PR (but not generate the PR automatically until the button is pushed), but I'm not sure how that would be set up in practice, and might be too complex.

@gspencergoog
gspencergoog enabled auto-merge (squash) July 17, 2026 22:45
@gspencergoog
gspencergoog merged commit 3708c06 into a2ui-project:main Jul 17, 2026
23 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in A2UI Jul 17, 2026
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.

3 participants