microsoft/apm

python-architecture

Activate when creating new modules, refactoring class hierarchies, introducing design patterns, or making changes spanning 3+ files in the APM CLI codebase.

First seen Apr 5, 2026

Installation

$ npx skills add microsoft/apm --skill python-architecture

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from microsoft/apm · top by installs.

npx skills add microsoft/apm

Browse all from microsoft/apm

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 3.7K
License LICENSE
Default branch main
Open issues 143
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 1,394 B
  • docs SUMMARY.md 183 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 15 installs

SKILL.md

Python Architecture Skill

[Python architect persona](../../../.apm/agents/python-architect.agent.md)

When to activate

  • Creating new Python modules or packages under src/apm_cli/
  • Refactoring class hierarchies or introducing base classes
  • Changes that touch 3+ files with shared logic patterns
  • Introducing new design patterns (Strategy, Observer, etc.)
  • Cross-cutting concerns (logging, auth, error handling)
  • Performance-sensitive paths (parallel downloads, large manifests)

Key rules

  • Follow existing patterns (BaseIntegrator, CommandLogger, AuthResolver) before inventing new ones
  • Prefer composition over deep inheritance
  • Push shared logic into base classes, not duplicated across siblings
  • One canonical owner per decision: route through the existing authority (targetcatalog, AuthResolver/hostproviders, runtime registry, CommandLogger, CompiledOutputWriter, deployment_ledger, install-outcome, neutral hook IR, BaseIntegrator); extend it, never fork it. Full rule: .apm/instructions/architecture.instructions.md
  • Lock every centralization with a dual guardrail: a regression test plus a static check in scripts/lint-architecture-boundaries.sh