Agent-Assisted SDLC is a sample software development pipeline in which an AI coding assistant reads an issue, changes a codebase, and opens a pull request through Amazon Bedrock AgentCore. Developers use it to automate work from an issue to a proposed code change, with a shared orchestration process and repository-specific guidance. The catalogue entries provide the skills, agents, plugin, hook, and instruction used by this workflow.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add aws-samples/sample-agent-assisted-sdlc --skill prgit clone --depth 1 https://github.com/aws-samples/sample-agent-assisted-sdlcWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/aws-samples/sample-agent-assisted-sdlc/pr)<a href="https://agentmods.dev/skills/aws-samples/sample-agent-assisted-sdlc/pr"><img src="https://agentmods.dev/badge/skills/aws-samples/sample-agent-assisted-sdlc/pr/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/aws-samples/sample-agent-assisted-sdlc/pr"><img src="https://agentmods.dev/badge/skills/aws-samples/sample-agent-assisted-sdlc/pr.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00011 | $0.00926 |
| Opus 5.5 | $0.00004 | $0.00370 |
| Sonnet 5.5 | $0.00002 | $0.00185 |
| Haiku 4.5 | $0.00001 | $0.00093 |
Grade A, and why
pr scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Read:
- ./.dev-claude/project.json (owner, repo, issue_number)
- ./.dev-claude/issue.json (issue title + number)
- ./.dev-claude/current/critique.md (was there a critique?)
- Run
git log main..HEAD --oneline(commits made on this branch)
STEP 1: Push the branch via the MCP gateway (NOT direct git push).
The runtime container has no HTTPS credentials for the remote, so direct
git push fails. Instead, enumerate the files this branch changed
relative to main and push their contents through
mcp__gateway__source-control___push_files (which uses the GitHub App token).
- Run
git diff --name-status main..HEADto list every changed path with its status (A=added, M=modified, D=deleted, R=renamed). - Run
git status --shortto confirm the working tree is clean (everything is committed). If it is not, STOP — the implement-agent left work uncommitted; do not push partial state. - For every A/M/R path, read the file content (
Readtool) and add it to thefilesarray in the push_files call. For D paths, delete viamcp__gateway__source-control___delete_fileper path. - Call
mcp__gateway__source-control___push_files: owner, repo, branch=feat/issue-{number} message: "feat: {issue title} (#{number})" (or "fix: ..." on second pass / re-invocation, matching the commit message style implement-agent used) files: array of {path, content} for every A/M/R path - If push_files reports 422 "branch does not exist", first call
mcp__gateway__source-control___create_branchwith branch=feat/issue-{number} and ref="main", then retry push_files.
STEP 2: Write ./.dev-claude/current/pr.md summarising what was built. Then post pr.md content
as a comment on the issue via mcp__gateway__project-management___add_issue_comment.
Prefix with ### PR Summary\n\n.
Follow the formatting skill for all markdown output.
STEP 2b: PR-existence verification (defense-in-depth, late gate). Follow the pr-verification skill procedure. If open PR exists → skip STEP 3, proceed to STEP 4. If no PR → STEP 3.
STEP 3: Call mcp__gateway__source-control___create_pull_request: owner and repo from project.json title: "feat: {issue title} (#{number})" head: feat/issue-{number} base: main draft: false body: ## What One paragraph describing what was built.
## Why
Closes #{number}
## How
Key implementation decisions and patterns used.
## Testing
How to verify the change works.
CRITICAL — the body must be a plain markdown string. Do NOT use: - shell substitution like $(...) or $(cat <<EOF ... EOF) - heredoc syntax (<<EOF, <<'EOF') - command chaining (&&, ;) WAF blocks these patterns with HTML 403. If you see that, simplify and retry.
STEP 4: Set labels: ["{{LABEL_PREFIX}}:pr-completed"] via mcp__gateway__project-management___issue_write.
STEP 5: Post invocation summary as a comment on the issue:
### Invocation Summary
| Metric | Value |
|--------|-------|
| Model | claude-opus-4-7 |
| Stages completed | explore → implement → critique → PR |
_Closes #{number}_
On push/PR failure: retry once. On second failure, set labels: ["{{LABEL_PREFIX}}:error"] and post an error comment via mcp__gateway__project-management___add_issue_comment.
Exit cleanly. {{LABEL_PREFIX}}:pr-completed is the terminal success state.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 92 lines · 11 tokens per session scan A c2e167d74fe9
pr is a skill published in the GitHub repository aws-samples/sample-agent-assisted-sdlc (47 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 11 tokens to every session and 926 once invoked, about $0.0000 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-20.
Other skills, from other repositories
pr
Draft a PR body from OMC's paper trail — the smallest visual that proves the change, evidence consumed from the verify protocol (never re-collected), reversibility from the ADR test on the diff, glossary language throughout.
merge-batch
Prepare and merge an owner-selected PR batch with contributor credit and exact-candidate admission. Use for a pasted PR list; combined focused validation is diagnostic, and every actual landing still requires its applicable checks and authorization.
otto-pr-review-loop
Run Polly and OCR on a PR until all findings settle.
engram-branch-pr
PR creation workflow for Engram following the issue-first enforcement system. Trigger: When creating a pull request, opening a PR, or preparing changes for review.
github-contributor
A step-by-step guide for contributing code, tests, documentation, or build changes to open-source projects you do not maintain. It explains how to prepare a pull request that follows the project’s rules and is easier for maintainers to review.
revdiff
Review diffs, files, and documents with inline annotations in a TUI overlay, or answer questions about revdiff usage, configuration, themes, and keybindings. Opens revdiff in agterm/tmux/zellij/herdr/kitty/wezterm/cmux/ghostty/iterm2/emacs-vterm, captures annotations, and addresses them. Works in git, hg, and jj repos…