This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow-steward.git
The following commit(s) were added to refs/heads/main by this push:
new 16123d4 feat(skills): add argument-hint (#117)
16123d4 is described below
commit 16123d454c47ea137cb1501238e362cf88df78f3
Author: Yeonguk Choo <[email protected]>
AuthorDate: Mon May 11 19:33:23 2026 +0900
feat(skills): add argument-hint (#117)
---
.claude/skills/pr-management-code-review/SKILL.md | 1 +
.claude/skills/pr-management-mentor/SKILL.md | 1 +
.claude/skills/pr-management-stats/SKILL.md | 1 +
.claude/skills/pr-management-triage/SKILL.md | 1 +
.claude/skills/security-cve-allocate/SKILL.md | 1 +
.claude/skills/security-issue-deduplicate/SKILL.md | 1 +
.claude/skills/security-issue-fix/SKILL.md | 1 +
.claude/skills/security-issue-import-from-md/SKILL.md | 1 +
.claude/skills/security-issue-import-from-pr/SKILL.md | 1 +
.claude/skills/security-issue-import/SKILL.md | 1 +
.claude/skills/security-issue-invalidate/SKILL.md | 1 +
.claude/skills/security-issue-sync/SKILL.md | 1 +
.claude/skills/setup-override-upstream/SKILL.md | 1 +
.claude/skills/setup-steward/SKILL.md | 1 +
tools/skill-validator/tests/test_validator.py | 16 ++++++++++++++++
15 files changed, 30 insertions(+)
diff --git a/.claude/skills/pr-management-code-review/SKILL.md
b/.claude/skills/pr-management-code-review/SKILL.md
index 79fc7f4..3e5d040 100644
--- a/.claude/skills/pr-management-code-review/SKILL.md
+++ b/.claude/skills/pr-management-code-review/SKILL.md
@@ -12,6 +12,7 @@ when_to_use: |
Also fires on "review my CODEOWNER PRs", "pair this PR with Codex /
adversarial review", and "review the
ready-for-maintainer-review queue". Distinct from `pr-management-triage`
(which decides *whether* to engage);
this skill runs **after** triage has produced reviewable PRs.
+argument-hint: "[pr:N] [area:LBL] [collab:true|false] [team:NAME] [ready]
[dry-run]"
license: Apache-2.0
---
<!-- SPDX-License-Identifier: Apache-2.0
diff --git a/.claude/skills/pr-management-mentor/SKILL.md
b/.claude/skills/pr-management-mentor/SKILL.md
index 6488cd2..1982595 100644
--- a/.claude/skills/pr-management-mentor/SKILL.md
+++ b/.claude/skills/pr-management-mentor/SKILL.md
@@ -30,6 +30,7 @@ when_to_use: |
threads (Mentoring always hands off these), or for any thread
where the maintainer has *deliberately* not replied yet — ask
before invoking.
+argument-hint: "[issue-or-pr-number]"
license: Apache-2.0
---
<!-- SPDX-License-Identifier: Apache-2.0
diff --git a/.claude/skills/pr-management-stats/SKILL.md
b/.claude/skills/pr-management-stats/SKILL.md
index 7af81c1..8a1afc1 100644
--- a/.claude/skills/pr-management-stats/SKILL.md
+++ b/.claude/skills/pr-management-stats/SKILL.md
@@ -11,6 +11,7 @@ when_to_use: |
variation on "give me the maintainer view of the backlog". Good as a daily
health check, before or after a triage sweep, or as an input to a planning
session.
+argument-hint: "[repo:owner/name] [since:date] [clear-cache]"
license: Apache-2.0
---
diff --git a/.claude/skills/pr-management-triage/SKILL.md
b/.claude/skills/pr-management-triage/SKILL.md
index f8d6f36..23bb3ea 100644
--- a/.claude/skills/pr-management-triage/SKILL.md
+++ b/.claude/skills/pr-management-triage/SKILL.md
@@ -23,6 +23,7 @@ when_to_use: |
the skill is cheap against a one-page batch (default 20 PRs)
and is a no-op when every candidate is already triaged or inside
its grace window.
+argument-hint: "[pr:N] [label:LBL] [author:LOGIN] [review-for-me] [stale]
[repo:owner/name]"
license: Apache-2.0
---
<!-- SPDX-License-Identifier: Apache-2.0
diff --git a/.claude/skills/security-cve-allocate/SKILL.md
b/.claude/skills/security-cve-allocate/SKILL.md
index 4d8a9e2..bbd7e44 100644
--- a/.claude/skills/security-cve-allocate/SKILL.md
+++ b/.claude/skills/security-cve-allocate/SKILL.md
@@ -22,6 +22,7 @@ when_to_use: |
report is valid (process step 6). Not appropriate before the
valid/invalid decision has been landed, nor for trackers that
already carry a CVE ID in their *CVE tool link* body field.
+argument-hint: "[issue-number] [CVE-YYYY-NNNNN]"
license: Apache-2.0
---
diff --git a/.claude/skills/security-issue-deduplicate/SKILL.md
b/.claude/skills/security-issue-deduplicate/SKILL.md
index 9d190e5..f4b420b 100644
--- a/.claude/skills/security-issue-deduplicate/SKILL.md
+++ b/.claude/skills/security-issue-deduplicate/SKILL.md
@@ -17,6 +17,7 @@ when_to_use: |
ID collision) between a new report and an existing tracker. Also
appropriate as a periodic cleanup action when a triager spots two
open trackers describing the same bug from different angles.
+argument-hint: "[kept-issue] [duplicate-issue]"
license: Apache-2.0
---
diff --git a/.claude/skills/security-issue-fix/SKILL.md
b/.claude/skills/security-issue-fix/SKILL.md
index 4b9ee51..662776f 100644
--- a/.claude/skills/security-issue-fix/SKILL.md
+++ b/.claude/skills/security-issue-fix/SKILL.md
@@ -23,6 +23,7 @@ when_to_use: |
valid vulnerabilities, or for changes that require private
code-review in `<tracker>` itself (the private-PR fallback
in process step 9 of README.md).
+argument-hint: "[issue-number]"
license: Apache-2.0
---
diff --git a/.claude/skills/security-issue-import-from-md/SKILL.md
b/.claude/skills/security-issue-import-from-md/SKILL.md
index 4032267..614a4b8 100644
--- a/.claude/skills/security-issue-import-from-md/SKILL.md
+++ b/.claude/skills/security-issue-import-from-md/SKILL.md
@@ -22,6 +22,7 @@ when_to_use: |
inbound report is best handled through the Gmail path
(`security-issue-import`) or when there is a public PR to anchor
the import on (`security-issue-import-from-pr`).
+argument-hint: "[path-to-markdown-file]"
license: Apache-2.0
---
diff --git a/.claude/skills/security-issue-import-from-pr/SKILL.md
b/.claude/skills/security-issue-import-from-pr/SKILL.md
index 2a4417f..1fc7062 100644
--- a/.claude/skills/security-issue-import-from-pr/SKILL.md
+++ b/.claude/skills/security-issue-import-from-pr/SKILL.md
@@ -20,6 +20,7 @@ when_to_use: |
security relevance has already been agreed informally; this skill
does not host a validity discussion. For reports that arrive on
`<security-list>`, use `security-issue-import`.
+argument-hint: "[pr-number] [repo:owner/name]"
license: Apache-2.0
---
diff --git a/.claude/skills/security-issue-import/SKILL.md
b/.claude/skills/security-issue-import/SKILL.md
index 469836a..9bbadba 100644
--- a/.claude/skills/security-issue-import/SKILL.md
+++ b/.claude/skills/security-issue-import/SKILL.md
@@ -20,6 +20,7 @@ when_to_use: |
no-op when every recent thread is already tracked or already
answered-and-closed on-thread. Use `import last 30d` / `import all`
(= 90d) for a wider backlog sweep when genuinely warranted.
+argument-hint: "[import] [last Nd|all] [skip threadId]"
license: Apache-2.0
---
diff --git a/.claude/skills/security-issue-invalidate/SKILL.md
b/.claude/skills/security-issue-invalidate/SKILL.md
index 8a32441..e2f34c8 100644
--- a/.claude/skills/security-issue-invalidate/SKILL.md
+++ b/.claude/skills/security-issue-invalidate/SKILL.md
@@ -21,6 +21,7 @@ when_to_use: |
the advisory has already shipped (closing as invalid then is a
retraction with public consequences and needs explicit team
escalation).
+argument-hint: "[issue-number]"
license: Apache-2.0
---
diff --git a/.claude/skills/security-issue-sync/SKILL.md
b/.claude/skills/security-issue-sync/SKILL.md
index 28a71e2..d1ef432 100644
--- a/.claude/skills/security-issue-sync/SKILL.md
+++ b/.claude/skills/security-issue-sync/SKILL.md
@@ -15,6 +15,7 @@ when_to_use: |
through issue NNN". Also appropriate as part of a recurring triage sweep
where the team member wants to reconcile a batch of open issues with the
current state of the world.
+argument-hint: "[issue-number]"
license: Apache-2.0
---
diff --git a/.claude/skills/setup-override-upstream/SKILL.md
b/.claude/skills/setup-override-upstream/SKILL.md
index 3cb63c5..d90f9b3 100644
--- a/.claude/skills/setup-override-upstream/SKILL.md
+++ b/.claude/skills/setup-override-upstream/SKILL.md
@@ -19,6 +19,7 @@ when_to_use: |
this override", or similar — typically after running the
override locally for a while and deciding the change is
worth contributing back.
+argument-hint: "[skill-name]"
license: Apache-2.0
---
diff --git a/.claude/skills/setup-steward/SKILL.md
b/.claude/skills/setup-steward/SKILL.md
index 75dc65f..a7c2f61 100644
--- a/.claude/skills/setup-steward/SKILL.md
+++ b/.claude/skills/setup-steward/SKILL.md
@@ -24,6 +24,7 @@ when_to_use: |
skill that should be **copied** into an adopter's repo
(every other framework skill is a symlink the adopt
sub-action wires up).
+argument-hint: "[adopt|upgrade|verify|override skill-name]"
license: Apache-2.0
---
diff --git a/tools/skill-validator/tests/test_validator.py
b/tools/skill-validator/tests/test_validator.py
index bbc157f..ee41da4 100644
--- a/tools/skill-validator/tests/test_validator.py
+++ b/tools/skill-validator/tests/test_validator.py
@@ -149,6 +149,22 @@ class TestValidateFrontmatter:
violations = list(validate_frontmatter(path, text))
assert any("truncates" in v.message and str(MAX_METADATA_CHARS) in
v.message for v in violations)
+ def test_argument_hint_accepted(self, tmp_path: Path) -> None:
+ # argument-hint is a Claude Code autocomplete-only field; it must not
be
+ # rejected as an unknown key, and it must not count toward the
+ # description+when_to_use metadata budget.
+ path = tmp_path / "SKILL.md"
+ text = (
+ "---\n"
+ "name: foo\n"
+ "description: bar\n"
+ "license: Apache-2.0\n"
+ "argument-hint: [--quick|--standard|--deep] <idea>\n"
+ "---\n"
+ )
+ violations = list(validate_frontmatter(path, text))
+ assert violations == []
+
def test_metadata_block_scalar_indicator_not_counted(self) -> None:
text = f"---\nname: foo\ndescription: |\n {'a' * 100}\nlicense:
Apache-2.0\n---\n"
fm = parse_frontmatter(text)