Software Developer / Engineer
Less typing, more specifying, directing and reviewing agents
Print / Save as PDF
Top 3 changes for you
- 1Writing codeDevelopers using agents often plan first and check output
- 2Automated testingPassing tests may not mean an agent's change was tested
- 3Code reviewWorking with agents can mean much time on code review
- Tools to try first
- GitHub Copilot(opens in new tab)
- Skills to build
- Writing specs, plans and task breakdowns an agent can follow
- Maintaining repository context for agents (docs, instruction files)
How your work changes
#Open any item to see before and now, with sources.
BuildWriting codeExperienced developers in one study planned agent work and validated its output
Before
Developers wrote most code by hand in an editor, helped by autocomplete, documentation and search engines.
Now
In one study of experienced developers (13 observed in field sessions and 99 surveyed via AI-related GitHub projects, between August and October 2025), participants used agents to build software but kept control of design and implementation: they planned before implementing and validated the agents' output. The 2025 Stack Overflow Developer Survey described AI agents as not yet mainstream.[1][5]
DesignPlanning a change before implementationWillison: planning matters more with agents; Böckeler found spec tools overkill
Before
Intent lived in a ticket, a design doc or the developer's head, and was refined while coding.
Now
Simon Willison notes that planning in advance is even more important with an agent: you can iterate on the plan first, then hand it off to write the code. In one study, every observed experienced developer whose task involved new features controlled the design, mostly by writing plans themselves or revising agent-drafted plans, and even long plans were run in small chunks. Spec-driven tools such as Kiro and spec-kit turn this into documents such as requirements, design and tasks, but Birgitta Böckeler found their workflows overkill for the problems she tried, with verbose markdown files that were tedious to review.[3][4][5]
BuildUnderstanding unfamiliar code and debuggingStudy respondents found agents suited to explaining code; debugging views mixed
Before
Reading source, stepping through a debugger, searching the codebase and asking colleagues who knew the area.
Now
In one study of experienced developers, survey respondents who mentioned these uses mostly found agents suitable for explaining or analysing code, APIs and errors, and for simple debugging or fixes. Views were mixed on general debugging and on understanding project architecture: one respondent said debugging with LLMs often caused more problems than it found. Participants cited strong code comprehension and debugging skills as part of the expertise needed to use agents effectively.[5]
BuildKeeping project context usableWillison: good docs let an agent use APIs without reading that code first
Before
Conventions and architecture knowledge were shared through wikis, onboarding and code review comments.
Now
Simon Willison recommends writing documentation that can be handed to an agent, so it can use APIs from other parts of the codebase without reading that code first.[4]
TestAutomated testingWillison: tests help agents; in one study, many agent PRs had no test changes
Before
Developers wrote unit and integration tests alongside features, with coverage often uneven.
Now
Simon Willison says agentic coding tools can fly with a robust, comprehensive and stable test suite, but without tests an agent might claim something works without having tested it at all. In one study of agent-generated pull requests from five coding agents in Java and Python projects, about half of the pull requests that changed code under test included no test changes, and existing tests were an incomplete safety net. The authors warn teams not to assume that a passing test run means the change has been tested. Willison adds that developers still need to be really good at manual testing, including digging into edge cases.[4][7]
BuildCode reviewWillison says agents mean much code review; study authors urge extra scrutiny
Before
Peers reviewed pull requests written by other people, mostly for design, correctness and readability.
Now
Simon Willison lists "spending so much time on code review" among the work of using coding agents well, and says developers who are fast and productive at code review will have a much better time working with LLMs. In one study, experienced developers observed working within their own expertise carefully reviewed every agent change, with methods such as reading diffs and running tests. In the 2025 Stack Overflow survey, AI solutions that are almost right, but not quite, were developers' biggest single frustration. The authors of a study of Cursor-adopting open-source projects recommend treating AI-generated code as needing extra scrutiny in review, including whether a simpler implementation would achieve the same functionality.[1][4][5][6]
- Related on the Security Engineer page: Reviewing code for security flaws
- Related on the Scrum Master / Agile Coach page: Protecting the Definition of Done
DeployShipping changes safelyIn one study, Cursor sped projects up briefly but left lasting code complexity
Before
Teams balanced delivery speed against stability with CI, version control and release practices.
Now
In one study of open-source GitHub projects that adopted Cursor (most adoptions between August 2024 and March 2025), development velocity rose sharply but only briefly, while static analysis warnings and code complexity rose persistently and later slowed development. The authors call for quality assurance that scales with AI-era velocity, such as test coverage requirements that scale with lines of code added. Simon Willison notes that good version control habits matter even more when a coding agent might have made the changes, and that a preview environment lets you check an agent-built feature without deploying it straight to production.[4][6]
Risks to watch
#Almost-right output can take extra time to debug, and felt speedups can mislead
Output that is almost right can take extra time to debug. In the 2025 Stack Overflow survey, almost-right AI solutions were developers' biggest single frustration, often leading to debugging AI-generated code that takes more time. How much AI speeds you up is also hard to judge. METR, whose early-2025 study found experienced open-source developers slower with AI, now believes developers are likely more sped up in early 2026, but says its newer data is only very weak evidence for the size of this increase, and that self-reported speedups can be quite unreliable.[1][2]
Working AI code can still be exploitable, a benchmark study finds
Code that works can still be exploitable. In a 2026 benchmark study by University at Buffalo researchers, covering a limited set of models and coding-agent setups on function-level and web-application tasks, models usually knew the relevant security concepts, but that knowledge dropped substantially when it had to become functional, exploit-resistant code.[8]
Faster output can leave lasting quality problems, a study of Cursor projects finds
Faster output can leave lasting quality problems. In one study of open-source GitHub projects that adopted Cursor, static analysis warnings and code complexity rose persistently after adoption, and the authors found these increases were major factors in a later slowdown. They note the results may not generalise to other tools or to proprietary projects.[6]
Agents may fall short on complex or legacy work, developers in one study said
Agents may fall short on harder work. In one 2025 survey of experienced developers, most respondents who mentioned these tasks judged agents unsuitable for complex tasks, business logic that needs domain knowledge, and integrating with existing or legacy code.[5]
Spec tools produced tedious documents agents did not always follow, Böckeler found
In Birgitta Böckeler's trials, spec-driven tools created verbose markdown files that were tedious to review, and agents sometimes ignored instructions or followed them too eagerly.[3]
Skills to build
#Human skills: what's new, what matters more, and what AI now does for you.
New skillsDidn't really exist in the role before
- Writing specs, plans and task breakdowns an agent can follow
- Maintaining repository context for agents (docs, instruction files)
- Deciding which work to delegate and which to do by hand
- Reviewing large machine-generated diffs efficiently
- Evaluating AI tools and models against your own codebase
More important nowExisting skills that AI makes more valuable
- Code review
- Test design and maintaining a reliable test suite
- System design and architecture
- Version control discipline
- Secure coding
- Debugging and reading code
Less centralStill useful, but AI now does much of it
- Memorising syntax and API signatures
- Typing boilerplate and scaffolding by hand
- Searching forums for common error messages
Tools
#"Start here" tools are the editor's pick of where to begin for this role. Our suggestion
Start here
Widely used and core to this role
- GitHub Copilot(opens in new tab)
· AI coding assistant
Inline completions, chat, agent mode in the IDE, and assigning issues to a cloud agent that opens a pull request for review.
Also worth a look
Depends on your team and stack
Show 6 toolsHide tools
- Claude Code(opens in new tab)Anthropic
Agentic coding in the terminal or IDE for multi-file changes, debugging and exploring an unfamiliar codebase.
- Cursor(opens in new tab)Anysphere (part of SpaceX)
AI-first editor with completions, an agent for multi-step changes, and pull request review.
Open-source terminal agent for querying a codebase and automating development tasks, used with a Gemini Code Assist licence, Google Cloud or a paid API key.
Setting up a constitution and a specify, plan and tasks workflow that you run through slash commands in your coding assistant.[3]
- Kiro(opens in new tab)Amazon Web Services
Agentic IDE that turns a prompt into requirements, design and tasks before implementation.[3]
- CodeRabbit(opens in new tab)CodeRabbit
Automated first-pass review comments on GitHub and GitLab pull requests, before a human reviewer.
Your first steps
#- 1Pick one AI coding assistant your organisation allows and use it daily on real tickets, noting where it saves time and where it costs time.
- 2Check that the repository you work in has a test suite you trust and fast CI before delegating larger changes to an agent.
Show 3 more stepsShow fewer steps
- 3Add a short instruction file with build commands, conventions and architecture notes, and update it when the agent gets something wrong.
- 4Try a spec-plan-tasks flow on one medium-sized feature and compare it with plain prompting on a small fix.
- 5Review every generated diff as you would a colleague's, with extra attention to security, error handling and duplicated code.
A week in this role now
A typical week now starts with shaping work more than typing it. You break a ticket into a short plan, point an agent at the relevant part of the codebase, and let it draft the change while you look at something else. Much of the rest of the day goes on reading diffs, running the app, tightening tests, and sending the agent back with corrections. Small fixes are often faster to do by hand; well-defined, well-tested chunks of work are where delegation pays off.
The core craft has not gone away. It has moved. Knowing what good code looks like, how the system fits together and what could break in production is what lets you review agent output quickly and catch the almost-right change before it ships. Solid tests, small pull requests and careful review are what make agent output safe to ship. Without them, you mostly get more code, and more problems.
Agent Skills
AI instructions to copy
#Each one is a text file (SKILL.md) that tells an AI tool, step by step, how to do one task the way you want. Copy it into a chat, or add it to a tool that supports Agent Skills. Which tools, and how
Starter instructions for this role
Our suggestionWritten from the changes above. Read and adapt one before you use it.
AI diff reviewReviews AI-written code changes for correctness, security and tests, and drafts comments
How to use it
- In any AI chat, such as ChatGPT, Microsoft 365 Copilot or Claude: choose Copy instructions, paste them at the start of a new chat, then add your material. Our suggestion
- Install it in Claude (web or desktop): download the .zip, then go to Customize › Skills › + › Create skill › Upload a skill. Code execution must be turned on. Claude help (opens in new tab)
- Install it in a coding agent such as Claude Code, GitHub Copilot or Codex: unzip the folder into the tool's skills folder. Folder locations
Show the full file
File name
SKILL.md, in a folder namedai-diff-review. When to use it: Reviews a diff or pull request written by an AI assistant or coding agent for correctness, security, test integrity and fit with the codebase, and drafts review comments. Use when asked to review AI-generated code, an agent's pull request, a large machine-generated diff, or your own agent's changes before merge; triggers include "review this diff", "check the agent's PR", "is this AI change safe to merge". For infrastructure, data-model, security-fix or test-only changes, a more specific review skill fits better.--- name: ai-diff-review description: Reviews a diff or pull request written by an AI assistant or coding agent for correctness, security, test integrity and fit with the codebase, and drafts review comments. Use when asked to review AI-generated code, an agent's pull request, a large machine-generated diff, or your own agent's changes before merge; triggers include "review this diff", "check the agent's PR", "is this AI change safe to merge". For infrastructure, data-model, security-fix or test-only changes, a more specific review skill fits better. metadata: title: "AI diff review" summary: "Reviews AI-written code changes for correctness, security and tests, and drafts comments" --- # AI Diff Review Review a change drafted by an AI assistant or agent as carefully as a colleague's, and draft findings a human reviewer can act on. ## What to gather first Ask for anything missing before you start: - The diff, branch or pull request to review, and the base it is compared against. - The task, ticket or spec the change was meant to implement. - How to build and run the tests locally, if you are allowed to run them. - Any areas the author is unsure about, and any parts of the codebase that are off limits. - The team's coding and security conventions (instruction file, style guide, lint rules). Ask for anything missing once. If the user can't provide it or asks you to go ahead, proceed and record every assumption. ## Steps 1. Restate the intended change in two or three sentences from the ticket or spec. If there is no ticket, say so and infer intent from the diff, marking it as an assumption. 2. Read the whole diff once without commenting. List every file touched and group them: feature code, tests, configuration, dependencies, generated files. 3. Check scope. Flag changes that the task did not ask for, such as unrelated refactors, renamed files, reformatting or edits to shared configuration. 4. Check correctness line by line against the intent. Look for code that is almost right: off-by-one boundaries, wrong defaults, swallowed errors, missing null or empty handling, incorrect assumptions about existing APIs, and logic that only works for the happy path. 5. Verify that every function, method, library and configuration key the diff uses actually exists in this codebase or its declared dependencies. Search the repository rather than trusting names that look plausible. 6. Run a security pass on every changed line, treating AI-written code as untrusted until checked: - input validation and output encoding (injection, cross-site scripting, log injection); - authentication and authorisation checks on new or changed entry points; - secrets, tokens or credentials in code, tests, logs or fixtures; - unsafe use of cryptography, randomness, file paths, deserialisation or shell calls; - new or changed dependencies: confirm each package name is real, intended and pinned the way the project expects. 7. Check test integrity. Flag any test that was deleted, skipped, disabled, loosened (weaker assertions, broader matchers, added retries) or rewritten to match new behaviour without explanation. 8. Check that new behaviour has tests, including at least one failure or edge case, not only the happy path. 9. If you are allowed to, run the existing build, linters and tests in an isolated environment without production credentials, and record the results. Do not push, merge, deploy or change the branch. 10. Check fit: duplicated helpers that already exist elsewhere, naming and structure that break local conventions, and missing or stale documentation. 11. Sort findings by severity and write each one as a concrete comment with file, line and a suggested fix or question. ## Output format ```markdown ## Review summary - **Change:** <one-sentence restatement of intent> - **Recommendation:** Approve / Approve with changes / Request changes / Needs discussion - **Tests run:** <commands and results, or "not run" with reason> ## Findings | # | Severity | File:line | Category | Finding | Suggested fix or question | | --- | ----------------------------- | --------- | -------------------------------------------------------- | ------- | ------------------------- | | 1 | Blocker / Major / Minor / Nit | | Correctness / Security / Tests / Scope / Maintainability | | | ## Security pass - Input handling: <ok / issues, with references> - Auth and access control: <...> - Secrets and sensitive data: <...> - Dependencies: <new packages and whether each was confirmed> ## Test integrity - Tests added: <list> - Tests removed, skipped or weakened: <list, or "none found"> ## Out of scope changes - <list, or "none"> ## Assumptions and open questions - <assumption or question, and who can confirm> ``` ## Watch out for - Output that is almost right. It compiles and reads well but handles one case wrongly; trace the unusual inputs, not just the obvious ones. - Clean syntax is not evidence of secure code. Always do the security pass, even for small diffs. - An agent claiming it ran or passed tests. Only report test results you ran yourself or can see in CI output. - Plausible but invented APIs, configuration options or package names. - Tests changed in the same diff as the code they test, which can hide a behaviour change. - Very large diffs. Say which parts you reviewed in depth and which you only skimmed. - Fixes that silence a symptom (catching and ignoring an exception, widening a type) instead of fixing the cause. - Never reproduce secrets, tokens, credentials or personal data in the output; refer to them by location and type, and tell the user to rotate anything exposed. - For infrastructure, data-model, security-fix or test-only changes, a more specific review skill fits better. ## Before you finish - [ ] Every finding points to a file and line and says what to change or ask. - [ ] The security pass covers every changed entry point and dependency. - [ ] Deleted, skipped or weakened tests are listed explicitly. - [ ] Test results are ones you observed, or are marked "not run". - [ ] You made no commits, pushes, merges or deployments. - [ ] No secret, token, credential or personal data value appears in the output; any found is referred to by location and type, with advice to rotate it. - [ ] Clearly flag your assumptions, the parts you did not review in depth, and every decision a human reviewer must make before merge.
Change spec for an agentTurns a ticket into a short spec, plan and task list that a coding agent can follow
How to use it
- In any AI chat, such as ChatGPT, Microsoft 365 Copilot or Claude: choose Copy instructions, paste them at the start of a new chat, then add your material. Our suggestion
- Install it in Claude (web or desktop): download the .zip, then go to Customize › Skills › + › Create skill › Upload a skill. Code execution must be turned on. Claude help (opens in new tab)
- Install it in a coding agent such as Claude Code, GitHub Copilot or Codex: unzip the folder into the tool's skills folder. Folder locations
Show the full file
File name
SKILL.md, in a folder namedchange-spec-for-agent. When to use it: Turns a ticket or feature request into a short spec, technical plan and ordered task list that a coding agent can follow, with acceptance checks and a security and testing plan for each task. Use when planning a medium or large code change before delegating it to an AI agent, breaking down a ticket, writing a spec or implementation plan, or deciding what to hand to an agent and what to do by hand.--- name: change-spec-for-agent description: Turns a ticket or feature request into a short spec, technical plan and ordered task list that a coding agent can follow, with acceptance checks and a security and testing plan for each task. Use when planning a medium or large code change before delegating it to an AI agent, breaking down a ticket, writing a spec or implementation plan, or deciding what to hand to an agent and what to do by hand. metadata: title: "Change spec for an agent" summary: "Turns a ticket into a short spec, plan and task list that a coding agent can follow" --- # Change Spec for an Agent Write a concise spec, plan and task list for a code change so an agent can implement it in small, reviewable steps. ## What to gather first Ask for anything missing before you start: - The ticket, feature request or bug report, including acceptance criteria if any. - The repository and the area of code involved. - Constraints: deadlines, performance or compatibility needs, APIs that must not change. - The project's build, test and lint commands, and any agent instruction file. - Who will review the agent's work, and how large a pull request they are comfortable reviewing. Ask for anything missing once. If the user can't provide it or asks you to go ahead, proceed and record every assumption. ## Steps 1. Decide whether a spec is worth it. If the change is a small, well-understood fix, say so and propose a two-line prompt instead of a full spec. 2. Read the relevant code before writing. Note the files, functions and existing patterns the change should follow. Do not describe code you have not looked at. 3. Write the problem statement and the intended behaviour in plain language, from the user's or caller's point of view. 4. List what is explicitly out of scope, so the agent does not wander into unrelated refactors. 5. Write acceptance criteria as checkable statements. Include error cases, empty or boundary inputs, and any non-functional needs such as performance, accessibility or backwards compatibility. 6. Draft the technical plan: components to change, data or schema changes, new interfaces, and how the change will be rolled out or reversed. 7. Add a security section: new inputs and where they are validated, permission checks, sensitive data touched, and new dependencies (each must be named and justified). 8. Break the plan into ordered tasks. Each task should be small enough for one reviewable commit, name the files it expects to touch, and say which tests prove it is done. 9. For each task, mark whether it suits an agent, needs a human, or needs a human decision first (for example, a design choice or a migration on real data). 10. Add stop conditions: situations where the agent must stop and ask rather than guess, such as failing unrelated tests, missing credentials or ambiguous requirements. 11. Keep the whole document short. Cut anything a reviewer would skim past. 12. Produce the spec only; do not start implementing it or hand it to an agent. ## Output format ```markdown # Spec: <change title> ## Problem <2–4 sentences> ## Intended behaviour - <bullet per behaviour> ## Out of scope - <bullet> ## Acceptance criteria - [ ] <checkable statement> - [ ] <error or edge case> - [ ] <non-functional need, if any> ## Technical plan - **Components:** <files, modules> - **Data changes:** <or "none"> - **Rollout and rollback:** <how> ## Security considerations - <inputs, permissions, sensitive data, new dependencies> ## Tasks | # | Task | Files | Done when (tests) | Owner | | --- | ---- | ----- | ----------------- | ------------------------------------ | | 1 | | | | Agent / Human / Human decision first | ## Stop and ask if - <condition> ## Assumptions and open questions - <assumption or question, and who can confirm> ``` ## Watch out for - Over-specifying small changes. A long spec can take longer to review than the change itself. - Long documents the agent will not follow closely. Prefer short, concrete tasks with checks over prose. - Acceptance criteria that only cover the happy path. - Plans that assume a library, endpoint or table exists without checking. - Tasks that mix a refactor with a behaviour change, which makes review harder. - Leaving the security and test sections empty because the change "looks simple". - No secrets, credentials or customer data in the spec. Never reproduce secrets, tokens, credentials or personal data found in code, configs or tickets; refer to them by location and type, and tell the user to rotate anything exposed. ## Before you finish - [ ] Every task has a test or check that proves it is done. - [ ] Out of scope items and stop conditions are written down. - [ ] Security considerations are filled in or explicitly marked "none identified" with a reason. - [ ] File and function names in the plan were confirmed in the repository. - [ ] The document is short enough to review in a few minutes. - [ ] You produced the spec only; nothing was implemented or handed to an agent. - [ ] Clearly flag your assumptions, open questions, and every decision a human must make before the agent starts.
Agent context fileDrafts or updates a file telling AI coding agents a repo's commands and conventions
How to use it
- In any AI chat, such as ChatGPT, Microsoft 365 Copilot or Claude: choose Copy instructions, paste them at the start of a new chat, then add your material. Our suggestion
- Install it in Claude (web or desktop): download the .zip, then go to Customize › Skills › + › Create skill › Upload a skill. Code execution must be turned on. Claude help (opens in new tab)
- Install it in a coding agent such as Claude Code, GitHub Copilot or Codex: unzip the folder into the tool's skills folder. Folder locations
Show the full file
File name
SKILL.md, in a folder namedagent-context-file. When to use it: Drafts or updates a repository instruction file for coding agents, covering build and test commands, conventions, architecture notes, internal APIs and lessons learned from past agent mistakes. Use when setting up a repository for AI coding agents, when an agent keeps making the same mistake, when onboarding an agent to an unfamiliar codebase, or when asked to write or refresh an agent instructions, context or conventions file.--- name: agent-context-file description: Drafts or updates a repository instruction file for coding agents, covering build and test commands, conventions, architecture notes, internal APIs and lessons learned from past agent mistakes. Use when setting up a repository for AI coding agents, when an agent keeps making the same mistake, when onboarding an agent to an unfamiliar codebase, or when asked to write or refresh an agent instructions, context or conventions file. metadata: title: "Agent context file" summary: "Drafts or updates a file telling AI coding agents a repo's commands and conventions" --- # Agent Context File Draft a short, accurate instruction file that gives a coding agent the context it needs to work in this repository. ## What to gather first Ask for anything missing before you start: - The repository, and whether an instruction file already exists (and its expected file name). - The commands the team uses to install, build, test, lint and run the project. - Recent examples of agent mistakes the team wants to prevent. - Areas of the codebase that are sensitive, generated, or must not be edited. - Team conventions that are not obvious from the code (branching, commit style, review rules). Ask for anything missing once. If the user can't provide it or asks you to go ahead, proceed and record every assumption. ## Steps 1. If a file exists, read it fully first. Plan to edit it, not replace it, and keep content the team wrote unless it is wrong. 2. Explore the repository read-only: package manifests, build scripts, CI configuration, directory layout, and a few representative modules. 3. Record the exact commands for install, build, test (all and single test), lint and format. Confirm each command appears in a manifest, script or CI file. Do not run commands that change state beyond a local build or test. 4. Write a short architecture overview: main components, how they talk to each other, and where new code of each kind should go. 5. Document internal APIs and helpers an agent should reuse instead of re-creating, with the module path for each. 6. Write conventions as concrete rules, each with a short example where it helps: naming, error handling, logging, test placement. 7. Add a security section: where secrets live and that they must never be committed, input validation expectations, and any code that needs human security review. 8. Add a testing rule: new behaviour needs tests, and tests must not be deleted, skipped or weakened without explaining why in the pull request. 9. List files and directories the agent must not edit (generated code, vendored code, migrations already applied). 10. Add a "Lessons learned" section and turn each reported agent mistake into one short rule. 11. Keep the file short. Link to longer docs instead of copying them. 12. Return the file content. Write or overwrite the file only if the user asks, and never commit. ## Output format Return the file content, then a change note. Do not write the file unless the user asks, and never commit. ```markdown # <Project name> — agent instructions ## Commands - Install: `<command>` - Build: `<command>` - Test (all / single): `<command>` / `<command>` - Lint and format: `<command>` ## Architecture <short overview, where new code goes> ## Reuse these - `<module path>` — <what it does> ## Conventions - <rule> ## Security - <rule> ## Testing - <rule> ## Do not edit - `<path>` — <reason> ## Lessons learned - <rule from a past mistake> ``` ```markdown ## Change note - Added: <sections or rules> - Changed: <what and why> - Unverified: <commands or facts you could not confirm> ### Assumptions and open questions - <assumption or question, and who can confirm> ``` ## Watch out for - Commands copied from a README that no longer match the build scripts or CI. - Describing the architecture the team wants rather than the one that exists. Write what the code shows and flag differences. - Long files that bury the important rules. Commands and "do not" rules should be near the top. - Rules that are vague ("write clean code"). Each rule should be something a reviewer can check. - Internal hostnames copied into the file from configuration. - Never reproduce secrets, tokens, credentials or personal data in the output; refer to them by location and type, and tell the user to rotate anything exposed. - Deleting team-written rules because you cannot see why they exist; ask instead. ## Before you finish - [ ] Every command was confirmed in a script, manifest or CI file, or is marked unverified. - [ ] Every module path in "Reuse these" exists. - [ ] Security and testing rules are present. - [ ] No secrets or sensitive values appear in the file. - [ ] Existing team content was kept or its removal is explained in the change note. - [ ] The file was written only if the user asked, and nothing was committed. - [ ] Clearly flag your assumptions, unverified facts, and any rule a human must confirm before the file is committed.
Published skills you can reuse(3)From public skill catalogs. Check the license before use.
- mcp-builder(opens in new tab)anthropics/skillsOpen source
Building an MCP server so an agent can use an internal API or service through well-designed tools.
- webapp-testing(opens in new tab)anthropics/skillsOpen source
Letting an agent test your local web app with Playwright, capture screenshots and read browser logs.
- gh-fix-ci(opens in new tab)openai/skillsOpen source
Debugging failing GitHub Actions checks on a pull request, with a fix plan before any change.
Related roles
Related roles
Works closely with
Our suggestion- Software ArchitectMore time on constraints agents check and shared understanding
- QA Engineer / TesterAI can draft and repair tests; testers direct and check the work
- Security EngineerAI finds vulnerabilities; more of the work is verifying and patching
- DevOps / SRE EngineerSet guardrails for agents in production and check what they produce
- Engineering ManagerThe job covers measuring AI impact, tool spend and junior growth
Sources (8)
5 research papers, 2 practitioner articles, 1 survey · 2 vendor-affiliated
Sources (8)
5 research papers, 2 practitioner articles, 1 survey · 2 vendor-affiliated
Each source is labelled by what the page is and whether its publisher sells in this space. How we label sources
- 1.2025 Stack Overflow Developer Survey — AI(opens in new tab)
Stack Overflow
SurveyVendor-affiliated
“The biggest single frustration, cited by 66% of developers, is dealing with "AI solutions that are almost right, but not quite," which often leads to the second-biggest frustration: "Debugging AI-generated code is more time-consuming" (45%)”
- 2.We are Changing our Developer Productivity Experiment Design(opens in new tab)
METR (Becker, Rush, Cunningham, Rein, Mahamud) · 24 February 2026
Research paper
“Based on conversations with study participants, we believe it is likely that developers are more sped up from AI tools now — in early 2026 — compared to our estimates from early 2025. However, because of the selection effects in our experiment, our data is only very weak evidence for the size of this increase.”
- 3.Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl(opens in new tab)
martinfowler.com (Birgitta Böckeler) · 15 October 2025
PractitionerVendor-affiliated
- 4.
- 5.Professional Software Developers Don't Vibe, They Control: AI Agent Use for Coding in 2025(opens in new tab)
arXiv (Huang, Reyna, Lerner, Xia, Hempel) · 18 August 2026
Research paper
“Our most salient finding is that, indeed, professional developers do not vibe code. Instead, they carefully control the agents through planning and supervision.”
- 6.Speed at the Cost of Quality: How Cursor AI Increases Short-Term Velocity and Long-Term Complexity in Open-Source Projects(opens in new tab)
arXiv (He, Miller, Agarwal, Kästner, Vasilescu; MSR 2026) · 26 January 2026
Research paper
“We find that the adoption of Cursor leads to a statistically significant, large, but transient increase in project-level development velocity, along with a substantial and persistent increase in static analysis warnings and code complexity.”
- 7.Test Coverage Analysis of Agentic Pull Requests(opens in new tab)
arXiv (Dipongkor, Baral, Lam, Moran) · 20 July 2026
Research paper
“Do not assume agents write tests: 50.4% of code under test-modifying PRs include no test changes at all, and the safety net provided by existing tests is incomplete in both languages.”
- 8.SoK: AI Secure Code Generation: Progress, Pitfalls, and Paths Forward(opens in new tab)
arXiv (Patir, Guo, Cai, Hu) · 23 June 2026
Research paper
“The models usually know the relevant security concepts, but that knowledge drops substantially when it must become functional, exploit-resistant code.”