Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
ac91484
Add design: bundle PAAD skills into a Kiro power
Ovid Jun 30, 2026
223298c
Revise Kiro power design: reconcile with existing path, add impl plan
Ovid Jun 30, 2026
29cdb09
Add Phase 0.2 keyword sidecar for Kiro power generator
Ovid Jun 30, 2026
8dbfd85
Extract shared body-cleaning core into scripts/skill_body.py
Ovid Jun 30, 2026
749cc30
Regenerate stale Kiro alignment output to match current source
Ovid Jun 30, 2026
717c0a4
Replace tautological output guard with golden clean_body() check
Ovid Jun 30, 2026
181d77a
Harden shared core: None-sentinel default, drop dead import, seam note
Ovid Jun 30, 2026
548d010
Add Kiro power steering-file generator (Task 2)
Ovid Jun 30, 2026
6724916
Protect dot blocks in the whole-body /paad: rewrite (symmetric fix)
Ovid Jun 30, 2026
871339d
Harden dot-block protection: trailing-fence tolerance + NUL guard
Ovid Jun 30, 2026
8c1f699
Add POWER.md aggregation to the Kiro power generator (Task 3)
Ovid Jun 30, 2026
dff68d2
Trim POWER.md onboarding to Kiro-appropriate framing (Task 3 follow-up)
Ovid Jun 30, 2026
4c71a8f
Harden POWER.md generation: fence regex, docstring, defensive-branch …
Ovid Jun 30, 2026
803fc6a
Add Kiro power drift check + idempotency guard (Task 4)
Ovid Jun 30, 2026
d0d35ac
Harden Kiro power drift check: orphans, stamp anchor, DRY loading
Ovid Jun 30, 2026
20f196a
Add frontmatter-first lint for the Kiro power (Task 5)
Ovid Jun 30, 2026
8761011
Tighten frontmatter-first lint: shared enumeration, mapping check, so…
Ovid Jun 30, 2026
a5cab2f
Document the Kiro power install path (Task 6)
Ovid Jun 30, 2026
472360b
Harden Kiro power: single-source SKIP_NAMES, sidecar drift gate, digr…
Ovid Jul 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
/scratch/
.DS_Store
__pycache__/
.pytest_cache/
11 changes: 11 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,17 @@ paad/
│ │ └── SKILL.md ← /paad:pushback skill
│ └── vibe/
│ └── SKILL.md ← /paad:vibe skill
├── scripts/
│ ├── build-kiro-power.py ← generates the Kiro power from SKILL.md (single source)
│ └── kiro-keywords.yaml ← Kiro-only keyword sidecar (per-skill + power-level)
├── POWER.md ← generated: Kiro power manifest (run `make kiro`)
├── steering/ ← generated: one inclusion:manual steering file per shipped skill
├── CLAUDE.md ← this file
└── README.md
```

`POWER.md` and `steering/` are generated by `make kiro` from the canonical `plugins/paad/skills/*/SKILL.md`; do not hand-edit them (the `make check-kiro` drift check enforces this).

## Key conventions

- **Marketplace name**: `paad`
Expand All @@ -53,11 +60,15 @@ paad/
6. Bump the version in both `plugins/paad/.claude-plugin/plugin.json` and `.claude-plugin/marketplace.json`
7. Update `README.md` to document the new skill under "Available Skills", including argument syntax in the heading
8. Add the new skill to `paad:help` — both the overview table and a detailed help section
9. Add an entry for the new skill in `scripts/kiro-keywords.yaml` under `skills:` (otherwise the Kiro power generator WARNS and the skill won't surface in the power's keyword set). Note: `help` and `makefile` are intentionally excluded from the power and have no steering file.
10. Run `make kiro` to regenerate the Kiro power, then commit the updated `POWER.md` and `steering/`. The `make check-kiro` drift check (part of `make test`) enforces that the committed power is regenerated, not stale or hand-edited.

## Modifying an existing skill

When changing a skill's behavior, arguments, or output, review `plugins/paad/skills/help/SKILL.md` and update the corresponding help text to match.

After editing a `SKILL.md`, run `make kiro` to regenerate the Kiro power and commit the updated `POWER.md` and `steering/`. The `make check-kiro` drift check will fail otherwise.

## Digraph requirements

Every skill (except `paad:help`) must include at least one graphviz digraph (`\`\`\`dot` block) that visualizes the skill's decision points and flow. Digraphs must be:
Expand Down
13 changes: 11 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,23 @@ SKILLS_DIR := plugins/paad/skills
SKILL_DIRS := $(wildcard $(SKILLS_DIR)/*)
SKILL_NAMES := $(notdir $(SKILL_DIRS))

.PHONY: help test validate check-versions check-digraphs check-help check-readme check-frontmatter
.PHONY: help test validate check-versions check-digraphs check-help check-readme check-frontmatter kiro check-kiro check-kiro-frontmatter

help: ## Show this help
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " %-15s %s\n", $$1, $$2}'

test: validate check-versions check-digraphs check-help check-readme check-frontmatter ## Run all checks
test: validate check-versions check-digraphs check-help check-readme check-frontmatter check-kiro check-kiro-frontmatter ## Run all checks
@echo "All checks passed."

kiro: ## Regenerate the Kiro power (POWER.md + steering/)
@python3 scripts/build-kiro-power.py

check-kiro: ## Fail if the committed Kiro power is stale or hand-edited (ignores provenance stamp)
@python3 scripts/build-kiro-power.py --check

check-kiro-frontmatter: ## Lint that POWER.md + steering/*.md have frontmatter as the literal first line
@python3 scripts/build-kiro-power.py --lint

validate: ## Validate marketplace and all plugins
@claude plugin validate .
@for dir in plugins/*/; do \
Expand Down
28 changes: 28 additions & 0 deletions POWER.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: paad
displayName: PAAD — Architecture, Review & Quality Skills
description: Multi-agent architecture analysis, code review, accessibility, and quality workflows.
keywords: [architecture, code review, accessibility, requirements, code quality]
author: Ovid
version: 1.11.0
---

# PAAD — Kiro Power

paad — impractical tools for software architecture, code quality, and development workflows.

Each skill is exposed as a manual steering file the agent loads on demand. Pick the one that matches your request from the list below.

## When to load steering files

Each skill is a manual steering file — load the one matching the user's request (type `/` in chat to pick it, or reference `#<name>`):

- **#agentic-a11y** — Comprehensive multi-agent accessibility audit of user-facing code — supports web, mobile (iOS/Android/React Native/Flutter), desktop, CLI, and games — dispatches specialists for screen readers, vision, motor, cognitive, and multimedia concerns, verifies findings, and produces an actionable report with WCAG 2.2 AA/AAA ratings
- **#agentic-architecture** — Multi-agent architecture analysis — dispatches specialists for structure, coupling, integration, error handling, and security, verifies findings, and produces a comprehensive report of strengths and flaws with evidence
- **#agentic-review** — Use when reviewing current branch for bugs before pushing or merging, when wanting a thorough multi-agent review of local changes, or when preparing work for human review
- **#alignment** — Check that requirements, designs, and implementation plans are aligned — finds coverage gaps, scope creep, and design mismatches, then rewrites tasks in TDD red/green/refactor format
- **#fix-architecture** — Guided fixing of architectural flaws from an agentic-architecture report — validates findings, writes tests, applies fixes with developer approval, and tracks status in the report
- **#pushback** — Push back on specs, PRDs, requirements, and design documents — finds unrelated features, oversized scope, contradictions, feasibility issues, scope imbalance, omissions, ambiguity, and security concerns, with source control reality checks
- **#vibe** — Safe vibe coding with TDD guardrails — for small fixes and quick changes where you want speed but not recklessness. Enforces red/green/refactor, checks for architecture issues, reusable components, and test infrastructure before diving in.

<!-- Generated from paad@803fc6a by build-kiro-power -->
37 changes: 31 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,26 @@ cp -r kiro_and_antigravity/skills/.kiro/skills/pushback .cursor/skills/

### Kiro

There are two ways to install PAAD into Kiro. The **power** is an experimental one-click channel that installs straight from this GitHub repository. The **manual copy** is the established method when you want file-level control over exactly which skills land in your project.

#### Power (one-click install)

In Kiro, choose **Add Custom Power → Import from GitHub** and use the repository URL:

```
https://github.com/Ovid/paad
```

Kiro reads the root `POWER.md` and the `steering/` directory. Each PAAD skill becomes a manual steering file, which you invoke through Kiro's native `/` slash-command list (or by typing `#<name>`, for example `#pushback`). When PAAD is updated, you pull the changes in with Kiro's **refresh from remote**.

This install path is newly added and experimental, so a real install test is appreciated. The manual copy below remains the established method for file-level control.

**No arguments.** Kiro slash commands take no arguments. Where a Claude Code skill accepts a path or scope (for example `/paad:agentic-architecture src/`), in the Kiro power you instead invoke the steering file and then state the scope in your chat message — for example, after invoking `agentic-architecture`, say "review `src/`". The skill reads the scope from your message rather than from a command argument.

**Trust note.** Importing the power from a GitHub URL injects steering files that dispatch multi-agent workflows — the same trust boundary as installing the Claude Code plugin. Install it only from a source you trust.

#### Manual copy

All skills (bash/zsh):

```bash
Expand Down Expand Up @@ -341,14 +361,19 @@ This validates the marketplace and plugin structure, then runs consistency check
Individual checks can also be run separately:

```bash
make check-versions # marketplace.json ↔ plugin.json version sync
make check-digraphs # every skill (except help) has a digraph
make check-help # every skill is documented in paad:help
make check-readme # every skill is documented in README.md
make check-frontmatter # SKILL.md frontmatter is valid, folder name matches
make validate # claude plugin validate on marketplace + plugins
make check-versions # marketplace.json ↔ plugin.json version sync
make check-digraphs # every skill (except help) has a digraph
make check-help # every skill is documented in paad:help
make check-readme # every skill is documented in README.md
make check-frontmatter # SKILL.md frontmatter is valid, folder name matches
make validate # claude plugin validate on marketplace + plugins
make kiro # regenerate the Kiro power (POWER.md + steering/)
make check-kiro # fail if the committed Kiro power is stale or hand-edited
make check-kiro-frontmatter # lint that POWER.md + steering/*.md lead with frontmatter
```

`make test` also runs `check-kiro` and `check-kiro-frontmatter`, so a stale or hand-edited Kiro power fails the suite.

## Contributing

1. Fork the repository and create a feature branch.
Expand Down
Loading