-
-
Notifications
You must be signed in to change notification settings - Fork 35.6k
fix(agents): convert tools frontmatter from array to comma-separated string #2528
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| --- | ||
| name: agent-evaluator | ||
| description: Evaluates agent output against 5-axis quality rubric (accuracy, completeness, clarity, actionability, conciseness). Use after any non-trivial task when the user wants a quality assessment, or when the agent-self-evaluation skill is active. Produces structured scorecard with evidence and improvement suggestions. | ||
| tools: ["Read", "Grep", "Glob", "Bash"] | ||
| tools: Read, Grep, Glob, Bash | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '\n## agents/agent-evaluator.md (first 80 lines)\n'
nl -ba agents/agent-evaluator.md | sed -n '1,80p'
printf '\n## files in agents/ and nearby configs mentioning Bash or tools\n'
rg -n --hidden --glob 'agents/**/*.md' --glob 'skills/**/*.md' --glob 'commands/**/*.md' --glob 'rules/**/*.md' -e '^tools:' -e 'Bash' -e 'allowlist' -e 'permission' -e 'read-only' -e 'destructive' -e 'prompt-injection' -e 'frontmatter' .Repository: affaan-m/ECC Length of output: 237 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '\n## agents/agent-evaluator.md (first 120 lines)\n'
sed -n '1,120p' agents/agent-evaluator.md | cat -n
printf '\n## agent/tool/permission references\n'
rg -n --hidden --glob 'agents/**/*.md' --glob 'skills/**/*.md' --glob 'commands/**/*.md' --glob 'rules/**/*.md' \
-e '^tools:' -e '^model:' -e 'Bash' -e 'allowlist' -e 'permission' -e 'read-only' -e 'destructive' -e 'prompt-injection' -e 'frontmatter' .Repository: affaan-m/ECC Length of output: 47330 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '\n## agent harness / hook references for tool enforcement\n'
rg -n --hidden \
-e 'allowedTools' \
-e 'tools:' \
-e 'PreToolUse' \
-e 'Bash Tool Constraints' \
-e 'permission' \
-e 'read-only' \
-e 'hook' \
skills/agents commands rules agents | sed -n '1,220p'
printf '\n## relevant docs: agent-harness-construction and hook integration\n'
for f in skills/agent-harness-construction/SKILL.md skills/agent-self-evaluation/references/hook-integration.md skills/safety-guard/SKILL.md; do
if [ -f "$f" ]; then
echo "--- $f ---"
sed -n '1,220p' "$f" | cat -n
fi
doneRepository: affaan-m/ECC Length of output: 23727 🏁 Script executed: #!/bin/bash
set -euo pipefail
for f in rules/common/hooks.md skills/agent-harness-construction/SKILL.md skills/agent-self-evaluation/references/hook-integration.md; do
if [ -f "$f" ]; then
echo "--- $f ---"
sed -n '1,220p' "$f" | cat -n
fi
done
printf '\n## direct references to agent-evaluator / runtime allowlists / hooks.json\n'
rg -n --hidden \
-e 'agent-evaluator' \
-e 'allowedTools' \
-e 'hooks/hooks.json' \
-e 'PreToolUse' \
-e 'PostToolUse' \
-e 'dangerously-skip-permissions' \
-e 'runtime permission' \
-e 'tools are granted' \
rules skills agents commands hooks . | sed -n '1,240p'Repository: affaan-m/ECC Length of output: 37062 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '\n## agent-evaluator files in .kiro and repo\n'
find . -path '*/agent-evaluator*' -o -path '*/agent-evaluator.*' | sed -n '1,120p'
printf '\n## agent registries / loaders mentioning agents directory or .kiro/agents\n'
rg -n --hidden \
-e '\.kiro/agents' \
-e 'agents/' \
-e 'allowedTools' \
-e 'agent-evaluator' \
-e 'load.*agent' \
-e 'frontmatter' \
-e 'yaml' \
commands scripts hooks skills . | sed -n '1,220p'Repository: affaan-m/ECC Length of output: 19331 Remove Bash from this read-only agent, or enforce it in runtime policy — the prompt-only read-only note at 🤖 Prompt for AI AgentsSource: Path instructions |
||
| model: sonnet | ||
| --- | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| --- | ||
| name: chief-of-staff | ||
| description: Personal communication chief of staff that triages email, Slack, LINE, and Messenger. Classifies messages into 4 tiers (skip/info_only/meeting_info/action_required), generates draft replies, and enforces post-send follow-through via hooks. Use when managing multi-channel communication workflows. | ||
| tools: ["Read", "Grep", "Glob", "Bash", "Edit", "Write"] | ||
| tools: Read, Grep, Glob, Bash, Edit, Write | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '\n== agent files ==\n'
git ls-files 'agents/*.md' | sed -n '1,120p'
printf '\n== search for frontmatter tools handling ==\n'
rg -n --hidden --glob '!node_modules' --glob '!dist' --glob '!build' 'tools[:=]|frontmatter|gray-matter|yaml|matter|agent.*tools|comma-separated|string' .
printf '\n== outline likely loaders (if any) ==\n'
fd -t f -a '.*(agent|frontmatter|yaml|md).*' . | sed -n '1,200p'Repository: affaan-m/ECC Length of output: 50371 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '\n== agent frontmatter samples ==\n'
for f in agents/chief-of-staff.md agents/code-architect.md agents/code-explorer.md agents/code-reviewer.md agents/code-simplifier.md agents/opensource-forker.md agents/opensource-packager.md agents/opensource-sanitizer.md agents/performance-optimizer.md agents/php-reviewer.md agents/planner.md; do
echo "--- $f"
sed -n '1,12p' "$f"
done
printf '\n== files that parse agent markdown/frontmatter ==\n'
rg -n --hidden --glob '!node_modules' --glob '!dist' --glob '!build' --glob '!*test*' --glob '!tests/**' \
'agents/.*\.md|frontmatter|gray-matter|matter|yaml-front|parse.*agent|load.*agent|tools:' .Repository: affaan-m/ECC Length of output: 50371 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '\n== scripts/lib/agent-compress.js ==\n'
sed -n '1,260p' scripts/lib/agent-compress.js
printf '\n== scripts/dashboard-web.js relevant frontmatter parsing ==\n'
sed -n '1,120p' scripts/dashboard-web.js
printf '\n== scripts/ci/validate-agents.js ==\n'
sed -n '1,140p' scripts/ci/validate-agents.jsRepository: affaan-m/ECC Length of output: 25236 Keep 📍 Affects 11 files
🤖 Prompt for AI AgentsSource: Path instructions |
||
| model: sonnet | ||
| --- | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,7 +2,7 @@ | |
| name: comment-analyzer | ||
| description: Analyze code comments for accuracy, completeness, maintainability, and comment rot risk. | ||
| model: haiku | ||
| tools: [Read, Grep, Glob] | ||
| tools: Read, Grep, Glob | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift Update downstream parsers before switching agent metadata to a scalar 📍 Affects 11 files
🤖 Prompt for AI Agents |
||
| --- | ||
|
|
||
| ## Prompt Defense Baseline | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| --- | ||
| name: dart-build-resolver | ||
| description: Dart/Flutter build, analysis, and dependency error resolution specialist. Fixes `dart analyze` errors, Flutter compilation failures, pub dependency conflicts, and build_runner issues with minimal, surgical changes. Use when Dart/Flutter builds fail. | ||
| tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"] | ||
| tools: Read, Write, Edit, Bash, Grep, Glob | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win Update the dashboard parser to support the new scalar contract. All these agents now use comma-separated scalar
📍 Affects 11 files
🤖 Prompt for AI Agents |
||
| model: sonnet | ||
| --- | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| --- | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift Update repository consumers before converting all agent metadata. The new values are YAML strings, but
🤖 Prompt for AI Agents |
||
| name: docs-lookup | ||
| description: When the user asks how to use a library, framework, or API or needs up-to-date code examples, use Context7 MCP to fetch current documentation and return answers with examples. Invoke for docs/API/setup questions. | ||
| tools: ["Read", "Grep", "mcp__context7__resolve-library-id", "mcp__context7__query-docs"] | ||
| tools: Read, Grep, mcp__context7__resolve-library-id, mcp__context7__query-docs | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift Preserve tool metadata for repository consumers. This scalar value is valid YAML, but 🤖 Prompt for AI Agents |
||
| model: haiku | ||
| --- | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| --- | ||
| name: e2e-runner | ||
| description: End-to-end testing specialist using Vercel Agent Browser (preferred) with Playwright fallback. Use PROACTIVELY for generating, maintaining, and running E2E tests. Manages test journeys, quarantines flaky tests, uploads artifacts (screenshots, videos, traces), and ensures critical user flows work. | ||
| tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"] | ||
| tools: Read, Write, Edit, Bash, Grep, Glob | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift Keep internal loaders compatible with the new scalar format.
🤖 Prompt for AI Agents |
||
| model: sonnet | ||
| --- | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| --- | ||
| name: fastapi-reviewer | ||
| description: Reviews FastAPI applications for async correctness, dependency injection, Pydantic schemas, security, OpenAPI quality, testing, and production readiness. | ||
| tools: ["Read", "Grep", "Glob", "Bash"] | ||
| tools: Read, Grep, Glob, Bash | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift Update consumers before changing the frontmatter type. The repository's 🤖 Prompt for AI Agents |
||
| model: sonnet | ||
| --- | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| --- | ||
| name: flutter-reviewer | ||
| description: Flutter and Dart code reviewer. Reviews Flutter code for widget best practices, state management patterns, Dart idioms, performance pitfalls, accessibility, and clean architecture violations. Library-agnostic — works with any state management solution and tooling. | ||
| tools: ["Read", "Grep", "Glob", "Bash"] | ||
| tools: Read, Grep, Glob, Bash | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift Do not ship the scalar format without parser support. The internal frontmatter consumers shown in context treat this value as a string and then coerce it to an empty array. That silently removes this agent's tool permissions from repository-generated metadata. 🤖 Prompt for AI Agents |
||
| model: sonnet | ||
| --- | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| --- | ||
| name: fsharp-reviewer | ||
| description: Expert F# code reviewer specializing in functional idioms, type safety, pattern matching, computation expressions, and performance. Use for all F# code changes. MUST BE USED for F# projects. | ||
| tools: ["Read", "Grep", "Glob", "Bash"] | ||
| tools: Read, Grep, Glob, Bash | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift Resolve the array-versus-string contract before merging.
🤖 Prompt for AI Agents |
||
| model: sonnet | ||
| --- | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| --- | ||
| name: gan-generator | ||
| description: "GAN Harness — Generator agent. Implements features according to the spec, reads evaluator feedback, and iterates until quality threshold is met." | ||
| tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"] | ||
| tools: Read, Write, Edit, Bash, Grep, Glob | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: rg -n -C3 'agent\.tools|parseFrontmatter|agent-compress' scripts agentsRepository: affaan-m/ECC Length of output: 2659 Split scalar 🤖 Prompt for AI Agents |
||
| model: sonnet | ||
| color: green | ||
| --- | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift
The scalar format breaks repository consumers that still require arrays.
agents/a11y-architect.md#L5-L5: normalize the scalar in downstream metadata consumers or preserve an array-compatible boundary.agents/agent-evaluator.md#L4-L4: normalize the scalar in downstream metadata consumers or preserve an array-compatible boundary.agents/architect.md#L4-L4: normalize the scalar in downstream metadata consumers or preserve an array-compatible boundary.agents/build-error-resolver.md#L4-L4: normalize the scalar in downstream metadata consumers or preserve an array-compatible boundary.agents/kotlin-build-resolver.md#L4-L4: normalize the scalar in downstream metadata consumers or preserve an array-compatible boundary.agents/kotlin-reviewer.md#L4-L4: normalize the scalar in downstream metadata consumers or preserve an array-compatible boundary.agents/loop-operator.md#L4-L4: normalize the scalar in downstream metadata consumers or preserve an array-compatible boundary.agents/marketing-agent.md#L4-L4: normalize the scalar in downstream metadata consumers or preserve an array-compatible boundary.agents/mle-reviewer.md#L4-L4: normalize the scalar in downstream metadata consumers or preserve an array-compatible boundary.agents/network-architect.md#L4-L4: normalize the scalar in downstream metadata consumers or preserve an array-compatible boundary.agents/network-config-reviewer.md#L4-L4: normalize the scalar in downstream metadata consumers or preserve an array-compatible boundary.agents/network-troubleshooter.md#L4-L4: normalize the scalar in downstream metadata consumers or preserve an array-compatible boundary.📍 Affects 12 files
agents/a11y-architect.md#L5-L5(this comment)agents/agent-evaluator.md#L4-L4agents/architect.md#L4-L4agents/build-error-resolver.md#L4-L4agents/kotlin-build-resolver.md#L4-L4agents/kotlin-reviewer.md#L4-L4agents/loop-operator.md#L4-L4agents/marketing-agent.md#L4-L4agents/mle-reviewer.md#L4-L4agents/network-architect.md#L4-L4agents/network-config-reviewer.md#L4-L4agents/network-troubleshooter.md#L4-L4🤖 Prompt for AI Agents