[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5X0TNY54R2XKJFJ4PJSGG":3,"skill-same:01M6C5X0TNY54R2XKJFJ4PJSGG":114},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":58,"ownerDescription":6,"updatedAt":59,"install":60,"resources":73},"01M6C5X0TNY54R2XKJFJ4PJSGG","deep-execution",null,"Executes agent-enhanced council queries as one Workflow of parallel Claude analyst agents that each query a provider, evaluate response quality, ask follow-up questions, and return a schema-enforced analysis with confidence ratings and blind spot analysis. Invoked when the --agents flag is used or when complex architectural decisions are detected.","hex\u002Fclaude-council","hex","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F88922?v=4","01M6C5WVQBW10C262X76YMZ5WR","Alex G","01M6C5WVW2F1TZETTY7N0EQYT1",936,"MIT","https:\u002F\u002Fgithub.com\u002Fhex\u002Fclaude-council\u002Fblob\u002Fmain\u002Fskills\u002Fdeep-execution\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"execution","deep","deep execution","when","workflow","ratings","follow-up","with","as","analyst","query","queries","provider","up","schema","decisions","ask","quality","parallel","analysis","council","2026-11-10 10:12:30",false,"---\nname: build-iterated-agentic-loop\ndescription: build a repo-local skill and install a matching iterated coding-agent GitHub Actions workflow, prompt, memory file, and reference templates\n---\n\n# Build Iterated Agentic Loop\n\nUse this skill when the user wants to turn a repeatable agent task into a repo-local skill plus a GitHub Actions workflow that runs a coding agent on a schedule, manually, or both.\n\nThe target shape is an iterated agentic loop: a focused skill defines the agent's judgement, a workflow invokes a coding agent with a repo-specific prompt, an agent-memory file carries standing feedback between runs, and each workflow labels its PRs so only one open PR exists per loop. The `narrow-react-prop-types` skill is the concrete reference pattern.\n\n## Outputs\n\nCreate or update these files in the target repo:\n\n- `.claude\u002Fskills\u002F\u003Cskill-name>\u002FSKILL.md` for the repo-local agent behavior.\n- `.github\u002Fworkflows\u002Fagent-\u003Ctask-name>.yml` for the recurring coding-agent automation.\n- `.github\u002Fagent-memory\u002F\u003Ctask-name>.md` for stable feedback and scope constraints.\n- Optional references under `.claude\u002Fskills\u002F\u003Cskill-name>\u002Freferences\u002F` when the skill needs templates, examples, or long supporting material.\n\n## Workflow\n\n### 1. Explore the target repo\n\nRead before asking setup questions:\n\n- Existing `.github\u002Fworkflows\u002F*.yml` and `.github\u002Factions\u002F**` to understand runner, checkout, dependency install, cache, and PR patterns.\n- Package manager files such as `package.json`, `bun.lock`, `pnpm-lock.yaml`, `yarn.lock`, `package-lock.json`, `pyproject.toml`, `go.mod`, or `Cargo.toml`, or other package management-related files\n- Existing validation scripts, especially typecheck, lint, test, quality, format, and package-scoped commands.\n- Existing `.claude\u002Fskills` and `.agents\u002Fskills` to avoid duplicating conventions.\n\nCompletion criterion: you can name the repo's package manager, install command, likely validation commands, and existing workflow conventions.\n\n### 2. Ask setup questions\n\nWalk the user through these decisions. Recommend defaults from repo evidence instead of presenting a blank form.\n\n1. **Coding Agent**: Claude Code, Codex, OpenCode, or CodeLayer. Explain the required secret and headless command for the recommended choice. Use `references\u002Fagent-runner-templates.md`. CodeLayer is Humanlayer's ultra-lightweight agent harness.\n2. **Cadence**: daily, weekly, weekdays, monthly, manual-only, or custom cron. Recommend a cadence based on task risk and review burden - most likely weekdays, daily, or weekly. \n3. **Task**: What task should the agent loop accomplish?\n  - Are there existing skills for doing this? (you can do research before asking the user this)\n  - Ask the user if you should look at recent PRs, git history, or other particular parts of the codebase for reference.\n4. **Scope**: which directories\u002Fpackages the loop may change and which it may only inspect\n5. **Validation**: which commands must pass before the agent commits (You should propose this to the user based on your earlier research and ask them to confirm)\n6. **PR bounding**: Ask if scheduled runs should no-op when open PRs from this agent already exist, and if so, how many open PRs to allow before blocking new runs.\n  - **Recommended: Yes, bound to 1 open PR per agent loop.** This prevents the agent from creating unbounded work that piles up faster than humans can review. Without bounding, a daily agent could generate 5+ unreviewed PRs in a week, creating review fatigue and merge conflicts.\n  - The workflow uses a label (e.g., `agent-\u003Ctask-slug>`) to identify PRs from each agent loop. Scheduled runs check `gh pr list --label \u003Clabel> --state open` and skip if the count meets or exceeds the bound.\n  - Manual `workflow_dispatch` runs bypass the bound check, allowing forced runs when needed.\n7. **PR metadata**: label name, PR title prefix, and branch prefix.\n  - Suggest `[MM\u002FDD][Agent: \u003CAgent Name>]: \u003CConcise Description>` as a template, e.g. `[6\u002F23][Agent: Effect Migrator]: Migrate XYZ module`\n8. **Response format**: How should the CI agent format its final response (which becomes the PR body)?\n  - Show the user `references\u002Fresponse-template.md` for examples (fix\u002Fmigration, generation, refactor).\n  - Ask what information reviewers need: summary stats, risk levels, verification steps, file lists, etc.\n  - Create a customized response template that the generated skill will reference in its `references\u002F` directory\n9. **Iteration behavior**: whether `\u002Fiterate` comments should update the existing PR.\n  - If enabled, install `references\u002Fagent-iteration.ts` to the repo. Ask the user's preferred location: `.github\u002Fscripts\u002F`, `ci-scripts\u002F`, or `scripts\u002F`.\n  - The script has two modes: `footer` (adds the PR body marker) and `prompt` (builds the iteration prompt from PR context).\n  - If disabled, remove the `issue_comment` trigger and iteration-only steps from the workflow.\n\nCompletion criterion: every placeholder in the workflow, prompt, and memory template has a chosen value or an explicit default.\n\n### 3. Define the agent job\n\nExtract the smallest repeatable job the agent should perform. Work through these three questions with the user:\n\n**What are we finding?** How does the agent identify targets for this run?\n- A CLI tool that reports issues (e.g., `bunx react-doctor`, `eslint --format json`)\n- A search pattern (e.g., files matching `*.test.ts` without coverage, components using deprecated APIs)\n- A diff or changelog (e.g., new dependencies since last release, changed files in a PR)\n- An old pattern that should be replaced with a new pattern or migrated to a new framework\n- A flaky test based on previous CI runs \n\n**What are we changing?** What transformation does the agent apply to each target?\n- Fix: resolve a reported issue in place\n- Migrate: update code from one pattern to another\n- Generate: create new files based on existing sources\n- Refactor: restructure without changing behavior\n\n**How do we validate?** What proves the change is correct?\n- Build\u002Ftypecheck passes\n- Tests pass (or a specific subset)\n- The same tool that found the issue now reports it resolved\n- Linting or formatting checks pass\n\nCompletion criterion: you can state the job in one sentence, e.g., \"Find 5 react-doctor violations, fix them, and verify typecheck and quality pass.\"\n\n### 4. Write the skill\n\nWrite a repo-local skill that captures the agent's judgement for this task. The skill can include repo-specific paths, package names, and conventions since it lives in this repository.\n\nUse these skill-writing rules:\n\n- Put ordered behavior in `SKILL.md` in the skill directory (`.claude\u002Fskill-slug-here` or `.agents\u002Fskill-slug-here` depending on repo patterns and user preferences) steps with checkable completion criteria  \n- Move long templates and examples into sibling reference files, then point to them from `SKILL.md`.\n- Keep one source of truth for each rule; do not repeat the same guidance in the skill, prompt, and memory file.\n- Include a response template as a reference file (e.g., `references\u002Fresponse-template.md` under the skill directory) that defines how the CI agent should format its final output. The skill should instruct the agent to read and follow this template when formatting its final response which will be used as the PR body.\n- Use the skill template in `references\u002Fskill-template.md`. An EXAMPLE skill can be found in `references\u002Fexample-skill.md`\n- You may refer to https:\u002F\u002Fagentskills.io\u002Fspecification to understand skill specification. \n\n**IMPORTANT**: the `name` field in the `SKILL.md` frontmatter must match the skill slug - e.g. a skill with name `fix-eslint-issues` must be in `.claude\u002Fskills\u002Ffix-eslint-issues\u002FSKILL.md` or `.agents\u002Fskills\u002Ffix-eslint-issues\u002FSKILL.md`\n\n\n\nCompletion criterion: the skill explains how to do the job clearly enough that the agent can follow it without additional prompting, including how to format the final response.\n\n### 5. Write the workflow prompt\n\nPut repo-specific targeting in the GitHub Actions prompt, not in the generic skill. Include:\n\n- `Begin by using the \u003Cskill-name> skill.`\n- Scope: directories\u002Fpackages the agent may change and may inspect.\n- Instructions: the reviewable unit of work, what to avoid, and how to validate.\n- Validation commands in fenced bash if applicable\n- Agent memory interpolation from `.github\u002Fagent-memory\u002F\u003Ctask-name>.md`.\n- Finishing requirements: validate, commit, push, and return a PR-ready summary.\n\nUse `references\u002Fworkflow-template.yml` as the base template. Use `references\u002Fprompt-template.md` when drafting the embedded prompt.\n\nCompletion criterion: the prompt contains all repo-specific constraints needed for an unattended run.\n\n### 6. Install the memory file\n\nCreate `.github\u002Fagent-memory\u002F\u003Ctask-name>.md` using `references\u002Fmemory-template.md` as a starting point. The memory file carries standing feedback that should affect future runs. Keep it short.\n\nGood memory entries:\n\n- Permanent scope exclusions.\n- Known false-positive areas.\n- Review feedback that should change future agent selection.\n\nBad memory entries:\n\n- One-off task instructions.\n- Validation output from a single run.\n- Rules already stated in the skill.\n\nCompletion criterion: deleting the memory file would lose useful future-run context, not just history.\n\n### 7. Create the workflow\n\nCreate `.github\u002Fworkflows\u002Fagent-\u003Ctask-name>.yml` from `references\u002Fworkflow-template.yml` and replace every placeholder.\n\nRequired customizations:\n\n- Workflow name, cron, branch prefix, workflow id, agent label, PR title.\n- Runner label and setup steps for the repo.\n- Dependency install command.\n- Coding-agent install, secret, and headless run command (from `references\u002Fagent-runner-templates.md`).\n- Response extraction step: each agent outputs differently (JSON, stream-json, plain text). Use the agent-specific extraction from `references\u002Fagent-runner-templates.md` to get the final response into `\u002Ftmp\u002Fpr-body.md` for the PR body.\n- Skill name, scope, validation commands, and memory path.\n- PR bounding gate: the workflow checks for open PRs with the agent label before running. Configure the bound based on the user's choice from step 2 (default: 1). The gate uses `gh pr list --label \"$AGENT_LABEL\" --state open` and compares the count. If bounding is disabled, remove the gate step entirely.\n- If `\u002Fiterate` is enabled: install `references\u002Fagent-iteration.ts` to the user's preferred location and update the workflow paths to match. The script handles both PR footer generation and iteration prompt building. This file can be run with the user's preferred typescript toolchain (node with type-stripping, **Bun (recommended)**, Deno, tsx, etc) or can at the user's request be rewritten into another language.\n\nIf `\u002Fiterate` is disabled, remove the `issue_comment` trigger, the iteration-only steps, and skip installing `agent-iteration.ts`.\n\nCompletion criterion: the workflow can run from `workflow_dispatch` without relying on files that do not exist.\n\n### 8. Validate and verify\n\n**Validate workflow YAML:** Before committing, parse the workflow file to catch syntax errors early. Use one of:\n\n```bash\n# Node.js \u002F bun (js-yaml)\nbunx js-yaml .github\u002Fworkflows\u002Fagent-\u003Ctask-name>.yml > \u002Fdev\u002Fnull && echo \"Valid YAML\"\n\n# Python\npython -c \"import yaml; yaml.safe_load(open('.github\u002Fworkflows\u002Fagent-\u003Ctask-name>.yml'))\"\n\n# yq (if installed)\nyq eval '.name' .github\u002Fworkflows\u002Fagent-\u003Ctask-name>.yml\n```\n\nIf the parser fails, fix the YAML syntax before proceeding.\n\n**Verify references and paths:** Check that every path named by the skill, workflow, and memory file exists or is intentionally created by this task.\n\nCompletion criterion: the workflow YAML parses without errors and all referenced files exist.\n\n### 9. Dry-run the workflow\n\nGitHub Actions workflows cannot be manually dispatched via `workflow_dispatch` until they have run at least once. To bootstrap the workflow:\n\n1. Temporarily add a `push` trigger for the current branch (if not main):\n   ```yaml\n   on:\n     push:\n       branches:\n         - \u003Ccurrent-branch-name>  # Remove after first run\n     schedule:\n       - cron: \"0 13 * * *\"\n     workflow_dispatch:\n       # ...\n   ```\n\n2. Commit and push all the new files (workflow, skill, memory file, scripts).\n\n3. The workflow will trigger on push. Watch the Actions tab to verify it runs successfully.\n\n4. After the first successful run, remove the temporary `push` trigger and push again. The workflow can now be dispatched manually via the Actions UI or `gh workflow run`.\n\n5. If the dry-run creates a PR, review it to verify the agent behavior, then close or merge as appropriate.\n\nCompletion criterion: the workflow appears in the Actions tab and can be triggered via `workflow_dispatch`.\n\n## Reference Files\n\n- `references\u002Fworkflow-template.yml` - coding-agent GitHub Actions workflow skeleton.\n- `references\u002Fagent-runner-templates.md` - headless commands and secrets for Claude Code, Codex, OpenCode, and CodeLayer.\n- `references\u002Fagent-iteration.ts` - helper script for `\u002Fiterate` support (PR footer and iteration prompt building). Install to `.github\u002Fscripts\u002F`, `ci-scripts\u002F`, or `scripts\u002F` based on user preference.\n- `references\u002Fprompt-template.md` - embedded prompt structure for the workflow.\n- `references\u002Fmemory-template.md` - agent-memory file skeleton.\n- `references\u002Fskill-template.md` - skill skeleton for the generated task skill.\n- `references\u002Fresponse-template.md` - examples for how the CI agent should format its final response (PR body).\n- `references\u002Fexample-skill.md` - example skill","# Build Iterated Agentic Loop\n\nUse this skill when the user wants to turn a repeatable agent task into a repo-local skill plus a GitHub Actions workflow that runs a coding agent on a schedule, manually, or both.\n\nThe target shape is an iterated agentic loop: a focused skill defines the agent's judgement, a workflow invokes a coding agent with a repo-specific prompt, an agent-memory file carries standing feedback between runs, and each workflow labels its PRs so only one open PR exists per loop. The `narrow-react-prop-types` skill is the concrete reference pattern.\n\n## Outputs\n\nCreate or update these files in the target repo:\n\n- `.claude\u002Fskills\u002F\u003Cskill-name>\u002FSKILL.md` for the repo-local agent behavior.\n- `.github\u002Fworkflows\u002Fagent-\u003Ctask-name>.yml` for the recurring coding-agent automation.\n- `.github\u002Fagent-memory\u002F\u003Ctask-name>.md` for stable feedback and scope constraints.\n- Optional references under `.claude\u002Fskills\u002F\u003Cskill-name>\u002Freferences\u002F` when the skill needs templates, examples, or long supporting material.\n\n## Workflow\n\n### 1. Explore the target repo\n\nRead before asking setup questions:\n\n- Existing `.github\u002Fworkflows\u002F*.yml` and `.github\u002Factions\u002F**` to understand runner, checkout, dependency install, cache, and PR patterns.\n- Package manager files such as `package.json`, `bun.lock`, `pnpm-lock.yaml`, `yarn.lock`, `package-lock.json`, `pyproject.toml`, `go.mod`, or `Cargo.toml`, or other package management-related files\n- Existing validation scripts, especially typecheck, lint, test, quality, format, and package-scoped commands.\n- Existing `.claude\u002Fskills` and `.agents\u002Fskills` to avoid duplicating conventions.\n\nCompletion criterion: you can name the repo's package manager, install command, likely validation commands, and existing workflow conventions.\n\n### 2. Ask setup questions\n\nWalk the user through these decisions. Recommend defaults from repo evidence instead of presenting a blank form.\n\n1. **Coding Agent**: Claude Code, Codex, OpenCode, or CodeLayer. Explain the required secret and headless command for the recommended choice. Use `references\u002Fagent-runner-templates.md`. CodeLayer is Humanlayer's ultra-lightweight agent harness.\n2. **Cadence**: daily, weekly, weekdays, monthly, manual-only, or custom cron. Recommend a cadence based on task risk and review burden - most likely weekdays, daily, or weekly. \n3. **Task**: What task should the agent loop accomplish?\n  - Are there existing skills for doing this? (you can do research before asking the user this)\n  - Ask the user if you should look at recent PRs, git history, or other particular parts of the codebase for reference.\n4. **Scope**: which directories\u002Fpackages the loop may change and which it may only inspect\n5. **Validation**: which commands must pass before the agent commits (You should propose this to the user based on your earlier research and ask them to confirm)\n6. **PR bounding**: Ask if scheduled runs should no-op when open PRs from this agent already exist, and if so, how many open PRs to allow before blocking new runs.\n  - **Recommended: Yes, bound to 1 open PR per agent loop.** This prevents the agent from creating unbounded work that piles up faster than humans can review. Without bounding, a daily agent could generate 5+ unreviewed PRs in a week, creating review fatigue and merge conflicts.\n  - The workflow uses a label (e.g., `agent-\u003Ctask-slug>`) to identify PRs from each agent loop. Scheduled runs check `gh pr list --label \u003Clabel> --state open` and skip if the count meets or exceeds the bound.\n  - Manual `workflow_dispatch` runs bypass the bound check, allowing forced runs when needed.\n7. **PR metadata**: label name, PR title prefix, and branch prefix.\n  - Suggest `[MM\u002FDD][Agent: \u003CAgent Name>]: \u003CConcise Description>` as a template, e.g. `[6\u002F23][Agent: Effect Migrator]: Migrate XYZ module`\n8. **Response format**: How should the CI agent format its final response (which becomes the PR body)?\n  - Show the user `references\u002Fresponse-template.md` for examples (fix\u002Fmigration, generation, refactor).\n  - Ask what information reviewers need: summary stats, risk levels, verification steps, file lists, etc.\n  - Create a customized response template that the generated skill will reference in its `references\u002F` directory\n9. **Iteration behavior**: whether `\u002Fiterate` comments should update the existing PR.\n  - If enabled, install `references\u002Fagent-iteration.ts` to the repo. Ask the user's preferred location: `.github\u002Fscripts\u002F`, `ci-scripts\u002F`, or `scripts\u002F`.\n  - The script has two modes: `footer` (adds the PR body marker) and `prompt` (builds the iteration prompt from PR context).\n  - If disabled, remove the `issue_comment` trigger and iteration-only steps from the workflow.\n\nCompletion criterion: every placeholder in the workflow, prompt, and memory template has a chosen value or an explicit default.\n\n### 3. Define the agent job\n\nExtract the smallest repeatable job the agent should perform. Work through these three questions with the user:\n\n**What are we finding?** How does the agent identify targets for this run?\n- A CLI tool that reports issues (e.g., `bunx react-doctor`, `eslint --format json`)\n- A search pattern (e.g., files matching `*.test.ts` without coverage, components using deprecated APIs)\n- A diff or changelog (e.g., new dependencies since last release, changed files in a PR)\n- An old pattern that should be replaced with a new pattern or migrated to a new framework\n- A flaky test based on previous CI runs \n\n**What are we changing?** What transformation does the agent apply to each target?\n- Fix: resolve a reported issue in place\n- Migrate: update code from one pattern to another\n- Generate: create new files based on existing sources\n- Refactor: restructure without changing behavior\n\n**How do we validate?** What proves the change is correct?\n- Build\u002Ftypecheck passes\n- Tests pass (or a specific subset)\n- The same tool that found the issue now reports it resolved\n- Linting or formatting checks pass\n\nCompletion criterion: you can state the job in one sentence, e.g., \"Find 5 react-doctor violations, fix them, and verify typecheck and quality pass.\"\n\n### 4. Write the skill\n\nWrite a repo-local skill that captures the agent's judgement for this task. The skill can include repo-specific paths, package names, and conventions since it lives in this repository.\n\nUse these skill-writing rules:\n\n- Put ordered behavior in `SKILL.md` in the skill directory (`.claude\u002Fskill-slug-here` or `.agents\u002Fskill-slug-here` depending on repo patterns and user preferences) steps with checkable completion criteria  \n- Move long templates and examples into sibling reference files, then point to them from `SKILL.md`.\n- Keep one source of truth for each rule; do not repeat the same guidance in the skill, prompt, and memory file.\n- Include a response template as a reference file (e.g., `references\u002Fresponse-template.md` under the skill directory) that defines how the CI agent should format its final output. The skill should instruct the agent to read and follow this template when formatting its final response which will be used as the PR body.\n- Use the skill template in `references\u002Fskill-template.md`. An EXAMPLE skill can be found in `references\u002Fexample-skill.md`\n- You may refer to https:\u002F\u002Fagentskills.io\u002Fspecification to understand skill specification. \n\n**IMPORTANT**: the `name` field in the `SKILL.md` frontmatter must match the skill slug - e.g. a skill with name `fix-eslint-issues` must be in `.claude\u002Fskills\u002Ffix-eslint-issues\u002FSKILL.md` or `.agents\u002Fskills\u002Ffix-eslint-issues\u002FSKILL.md`\n\n\n\nCompletion criterion: the skill explains how to do the job clearly enough that the agent can follow it without additional prompting, including how to format the final response.\n\n### 5. Write the workflow prompt\n\nPut repo-specific targeting in the GitHub Actions prompt, not in the generic skill. Include:\n\n- `Begin by using the \u003Cskill-name> skill.`\n- Scope: directories\u002Fpackages the agent may change and may inspect.\n- Instructions: the reviewable unit of work, what to avoid, and how to validate.\n- Validation commands in fenced bash if applicable\n- Agent memory interpolation from `.github\u002Fagent-memory\u002F\u003Ctask-name>.md`.\n- Finishing requirements: validate, commit, push, and return a PR-ready summary.\n\nUse `references\u002Fworkflow-template.yml` as the base template. Use `references\u002Fprompt-template.md` when drafting the embedded prompt.\n\nCompletion criterion: the prompt contains all repo-specific constraints needed for an unattended run.\n\n### 6. Install the memory file\n\nCreate `.github\u002Fagent-memory\u002F\u003Ctask-name>.md` using `references\u002Fmemory-template.md` as a starting point. The memory file carries standing feedback that should affect future runs. Keep it short.\n\nGood memory entries:\n\n- Permanent scope exclusions.\n- Known false-positive areas.\n- Review feedback that should change future agent selection.\n\nBad memory entries:\n\n- One-off task instructions.\n- Validation output from a single run.\n- Rules already stated in the skill.\n\nCompletion criterion: deleting the memory file would lose useful future-run context, not just history.\n\n### 7. Create the workflow\n\nCreate `.github\u002Fworkflows\u002Fagent-\u003Ctask-name>.yml` from `references\u002Fworkflow-template.yml` and replace every placeholder.\n\nRequired customizations:\n\n- Workflow name, cron, branch prefix, workflow id, agent label, PR title.\n- Runner label and setup steps for the repo.\n- Dependency install command.\n- Coding-agent install, secret, and headless run command (from `references\u002Fagent-runner-templates.md`).\n- Response extraction step: each agent outputs differently (JSON, stream-json, plain text). Use the agent-specific extraction from `references\u002Fagent-runner-templates.md` to get the final response into `\u002Ftmp\u002Fpr-body.md` for the PR body.\n- Skill name, scope, validation commands, and memory path.\n- PR bounding gate: the workflow checks for open PRs with the agent label before running. Configure the bound based on the user's choice from step 2 (default: 1). The gate uses `gh pr list --label \"$AGENT_LABEL\" --state open` and compares the count. If bounding is disabled, remove the gate step entirely.\n- If `\u002Fiterate` is enabled: install `references\u002Fagent-iteration.ts` to the user's preferred location and update the workflow paths to match. The script handles both PR footer generation and iteration prompt building. This file can be run with the user's preferred typescript toolchain (node with type-stripping, **Bun (recommended)**, Deno, tsx, etc) or can at the user's request be rewritten into another language.\n\nIf `\u002Fiterate` is disabled, remove the `issue_comment` trigger, the iteration-only steps, and skip installing `agent-iteration.ts`.\n\nCompletion criterion: the workflow can run from `workflow_dispatch` without relying on files that do not exist.\n\n### 8. Validate and verify\n\n**Validate workflow YAML:** Before committing, parse the workflow file to catch syntax errors early. Use one of:\n\n```bash\n# Node.js \u002F bun (js-yaml)\nbunx js-yaml .github\u002Fworkflows\u002Fagent-\u003Ctask-name>.yml > \u002Fdev\u002Fnull && echo \"Valid YAML\"\n\n# Python\npython -c \"import yaml; yaml.safe_load(open('.github\u002Fworkflows\u002Fagent-\u003Ctask-name>.yml'))\"\n\n# yq (if installed)\nyq eval '.name' .github\u002Fworkflows\u002Fagent-\u003Ctask-name>.yml\n```\n\nIf the parser fails, fix the YAML syntax before proceeding.\n\n**Verify references and paths:** Check that every path named by the skill, workflow, and memory file exists or is intentionally created by this task.\n\nCompletion criterion: the workflow YAML parses without errors and all referenced files exist.\n\n### 9. Dry-run the workflow\n\nGitHub Actions workflows cannot be manually dispatched via `workflow_dispatch` until they have run at least once. To bootstrap the workflow:\n\n1. Temporarily add a `push` trigger for the current branch (if not main):\n   ```yaml\n   on:\n     push:\n       branches:\n         - \u003Ccurrent-branch-name>  # Remove after first run\n     schedule:\n       - cron: \"0 13 * * *\"\n     workflow_dispatch:\n       # ...\n   ```\n\n2. Commit and push all the new files (workflow, skill, memory file, scripts).\n\n3. The workflow will trigger on push. Watch the Actions tab to verify it runs successfully.\n\n4. After the first successful run, remove the temporary `push` trigger and push again. The workflow can now be dispatched manually via the Actions UI or `gh workflow run`.\n\n5. If the dry-run creates a PR, review it to verify the agent behavior, then close or merge as appropriate.\n\nCompletion criterion: the workflow appears in the Actions tab and can be triggered via `workflow_dispatch`.\n\n## Reference Files\n\n- `references\u002Fworkflow-template.yml` - coding-agent GitHub Actions workflow skeleton.\n- `references\u002Fagent-runner-templates.md` - headless commands and secrets for Claude Code, Codex, OpenCode, and CodeLayer.\n- `references\u002Fagent-iteration.ts` - helper script for `\u002Fiterate` support (PR footer and iteration prompt building). Install to `.github\u002Fscripts\u002F`, `ci-scripts\u002F`, or `scripts\u002F` based on user preference.\n- `references\u002Fprompt-template.md` - embedded prompt structure for the workflow.\n- `references\u002Fmemory-template.md` - agent-memory file skeleton.\n- `references\u002Fskill-template.md` - skill skeleton for the generated task skill.\n- `references\u002Fresponse-template.md` - examples for how the CI agent should format its final response (PR body).\n- `references\u002Fexample-skill.md` - example skill",{"name":50,"description":51},"build-iterated-agentic-loop","build a repo-local skill and install a matching iterated coding-agent GitHub Actions workflow, prompt, memory file, and reference templates","master","8537e9e9ff4a8343fd428bc2ea0366e2249196be","skills\u002Fdeep-execution",107,"https:\u002F\u002Fgithub.com\u002Fhex\u002Fclaude-council","https:\u002F\u002Fgithub.com\u002Fhex","hexul.com","2026-11-09 03:33:00",{"source":8,"skillName":50,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add hex\u002Fclaude-council --skill build-iterated-agentic-loop",{"tool":66,"command":67},"bunx","bunx skills add hex\u002Fclaude-council --skill build-iterated-agentic-loop",{"tool":69,"command":70},"pnpm","pnpm dlx skills add hex\u002Fclaude-council --skill build-iterated-agentic-loop","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhex\u002Fclaude-council\u002Fblob\u002Fmain\u002Fskills\u002Fdeep-execution\u002FSKILL.md",true,[74,80,86,90,94,98,102,106,110],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"agent-prompt-template.md","REFERENCE","参考文档",4610,"https:\u002F\u002Fgithub.com\u002Fhex\u002Fclaude-council\u002Fblob\u002Fmain\u002Fskills\u002Fdeep-execution\u002Fagent-prompt-template.md",{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fagent-iteration.ts","SCRIPT","脚本",5896,"https:\u002F\u002Fgithub.com\u002Fprognostikos\u002Fdotfiles\u002Fblob\u002Fmaster\u002Fagents.symlink\u002Fskills\u002Fbuild-iterated-agentic-loop\u002Freferences\u002Fagent-iteration.ts",{"path":87,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fagent-runner-templates.md",4369,"https:\u002F\u002Fgithub.com\u002Fprognostikos\u002Fdotfiles\u002Fblob\u002Fmaster\u002Fagents.symlink\u002Fskills\u002Fbuild-iterated-agentic-loop\u002Freferences\u002Fagent-runner-templates.md",{"path":91,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fexample-skill.md",7466,"https:\u002F\u002Fgithub.com\u002Fprognostikos\u002Fdotfiles\u002Fblob\u002Fmaster\u002Fagents.symlink\u002Fskills\u002Fbuild-iterated-agentic-loop\u002Freferences\u002Fexample-skill.md",{"path":95,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fmemory-template.md",178,"https:\u002F\u002Fgithub.com\u002Fprognostikos\u002Fdotfiles\u002Fblob\u002Fmaster\u002Fagents.symlink\u002Fskills\u002Fbuild-iterated-agentic-loop\u002Freferences\u002Fmemory-template.md",{"path":99,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fprompt-template.md",1456,"https:\u002F\u002Fgithub.com\u002Fprognostikos\u002Fdotfiles\u002Fblob\u002Fmaster\u002Fagents.symlink\u002Fskills\u002Fbuild-iterated-agentic-loop\u002Freferences\u002Fprompt-template.md",{"path":103,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Fresponse-template.md",2442,"https:\u002F\u002Fgithub.com\u002Fprognostikos\u002Fdotfiles\u002Fblob\u002Fmaster\u002Fagents.symlink\u002Fskills\u002Fbuild-iterated-agentic-loop\u002Freferences\u002Fresponse-template.md",{"path":107,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Fskill-template.md",1847,"https:\u002F\u002Fgithub.com\u002Fprognostikos\u002Fdotfiles\u002Fblob\u002Fmaster\u002Fagents.symlink\u002Fskills\u002Fbuild-iterated-agentic-loop\u002Freferences\u002Fskill-template.md",{"path":111,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Fworkflow-template.yml",10521,"https:\u002F\u002Fgithub.com\u002Fprognostikos\u002Fdotfiles\u002Fblob\u002Fmaster\u002Fagents.symlink\u002Fskills\u002Fbuild-iterated-agentic-loop\u002Freferences\u002Fworkflow-template.yml",[115,142,166],{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":45},"01M6C5X72Z19PXXEZRKN21NDYK","provider-integration","Adds new AI providers to claude-council, configures provider API settings, troubleshoots provider connections, and documents the provider script interface. Covers creating provider shell scripts, setting API keys, and validating connectivity. Triggers on \"add provider\", \"new AI agent\", \"provider not working\", \"API configuration\", or \"extend council\".","https:\u002F\u002Fgithub.com\u002Fhex\u002Fclaude-council\u002Fblob\u002Fmain\u002Fskills\u002Fprovider-integration\u002FSKILL.md",[],[36,122,123,124,125,126,44,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141],"provider integration","integration","settings","ai agent","documents","Providers","api","shell","shell scripts","api settings","add provider","connections","triggers","scripts","add","interface","api keys","provider api","extend","new",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":148,"publishedAt":45},"01M6C5X3RCFE8F1MEPRHDX4F54","local-council-execution","Runs a local council when no external AI providers are configured. Spawns N independent Claude subagents (one per role, blind to each other) that each answer the question from a single assigned lens, then synthesizes their perspectives. Invoked by the ask command via --local, or when the user accepts the local-council offer after no providers are found. This is a same-model (Claude-only) panel, not a cross-vendor council.","https:\u002F\u002Fgithub.com\u002Fhex\u002Fclaude-council\u002Fblob\u002Fmain\u002Fskills\u002Flocal-council-execution\u002FSKILL.md",[],[149,150,151,24,44,152,153,27,154,155,127,156,157,40,158,159,160,161,162,163,164,165],"local","local council execution","council execution","no external","single","lens","perspectives","model","answer","question","command","user","vendor","subagents","only","via","panel",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":45},"01M6C5WXA901T6E49P9Y492HRG","council-execution","Executes council queries by running the query pipeline across selected AI providers (Gemini, OpenAI, Grok, Perplexity), displaying formatted responses verbatim, and generating a synthesis of consensus, divergence, and recommendations. Invoked by the ask command during standard (non-agent) council queries.","https:\u002F\u002Fgithub.com\u002Fhex\u002Fclaude-council\u002Fblob\u002Fmain\u002Fskills\u002Fcouncil-execution\u002FSKILL.md",[],[44,151,24,173,174,175,159,176,35,34,177,178,179,180,40,181,127,182,183],"perplexity","openai","gemini","Synthesis","across","recommendations","standard","running","consensus","pipeline","grok"]