Build & Track with Silverile and AI

AI Integrations

Meet the Code Koalas — a sprint team using Silverile to track their work and an AI assistant to move faster without losing visibility. This guide follows their team through a real sprint: creating stories, writing code, catching bugs, and shipping — all by talking to their AI in plain English.

Every prompt in this guide works the same way whether you're using Claude, Codex, or any compatible AI assistant connected to Silverile. If you haven't connected your AI yet, start here and come back once you're set up:

Meet your AI assistant — Monty

TT
Todo Turtle
Developer, Code Koalas
Monday morning, start of sprint

Todo Turtle opens Claude first thing on Monday. Before checking emails or opening a single dashboard, they say two words. The AI already knows who they are.

Todo Turtle says
"Hello Monty"
Monty

Hi Todo Turtle! Great to see you. Here's where things stand for you in the Code Koalas sprint:

Stories assigned to you:

  • Story 2157 — User login with OAuth · In Development
  • Story 2143 — Password reset flow · Verification
  • Story 2098 — Email notification templates · Backlog

Open defects assigned to you:

  • Defect 461 — Failed Google auth shows raw error · Story 2157 · Medium · Open
  • Defect 462 — Login redirect broken on mobile · Story 2157 · High · Open

Heads up: Story 2143 hasn't been updated in 5 days. Story 2098 is still unassigned for QA. What would you like to work on today?

No dashboard to open. No filters to set. Monty — sometimes called Monty Milestone by the team — already knows Todo Turtle's name, their project, and what's in the sprint. The morning standup question "what are you working on?" is answered before anyone asks it. Open defects show up right alongside stories, so nothing falls through the cracks.

Start every session with "Hello Monty" to get an instant snapshot: your assigned stories, any open defects in your name, their current status, and anything that needs attention — all from a single greeting.

Before you begin — one-time setup

The first time you connect your AI to Silverile, run these three things. You won't need to repeat them unless you change your API key or switch projects.

1Verify the connection
"Check if my Silverile connection is working"
Monty confirms your credentials and which server it's connected to.
2Find your project
"Show me my available projects"
Monty lists every Silverile project you have access to.
3Set your default
"Set project 12 as my default project"
Saves your project choice so you never have to repeat it. Change it any time.

If you ever need to rotate your API key or switch accounts, just tell Monty: "Update my Silverile credentials" — no need to leave your current session.

Workflow 1 — See your work

TT
Todo Turtle
Developer, Code Koalas
Monday morning — after saying hello

After the greeting, Todo Turtle wants to dig into story 2157 before writing a single line of code. They need the full picture — what to build, how it should behave, and who's expecting it on the other end.

Todo Turtle says
"Show me story 2157"
Monty

Story 2157 — User login with OAuth

In Development · Assigned to: Todo Turtle · QA: Bug Bouncer · 5 points

Implement OAuth 2.0 login supporting Google and GitHub providers. Users should be able to sign in without creating a separate password.

Acceptance criteria:

  • Users can log in with Google OAuth
  • Users can log in with GitHub OAuth
  • Session persists across page refreshes
  • Failed auth shows a clear, user-facing error message
  • Redirect returns user to the page they were on before login

Todo Turtle now has everything they need without opening a browser tab. They can see what Bug Bouncer will be checking later and build toward those exact criteria. Time to start.

Todo Turtle says
"Start development on story 2157"
Monty

Here's what I'll update:

  • Story 2157 — User login with OAuth
  • Kanban: Backlog → In Development

Confirm? (yes / no)

Todo Turtle says
"Yes"
Monty

Done. Story 2157 is now In Development. Starting implementation — OAuth login with Google and GitHub, Express + passport.js. Here's the Google strategy:

// src/auth/providers/google.ts
passport.use(new GoogleStrategy({
  clientID: process.env.GOOGLE_CLIENT_ID!,
  clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
  callbackURL: '/auth/google/callback',
}, async (_accessToken, _refreshToken, profile, done) => {
  const user = await upsertUser({ provider: 'google', profile });
  return done(null, user);
}));

router.get('/auth/google/callback',
  passport.authenticate('google', { failureRedirect: '/login?error=oauth_failed' }),
  (req, res) => {
    const redirect = req.session.returnTo ?? '/dashboard'; // AC: post-login redirect
    delete req.session.returnTo;
    res.redirect(redirect);
  }
);

Covers AC 1, 4, and 5. Ready to continue with GitHub strategy and session persistence?

One confirm. Monty updates the board and starts writing — working through all five acceptance criteria. While the code takes shape, Todo Turtle checks in on the sprint.

Todo Turtle says
"Show me the current sprint"
Monty

Sprint 24 — Code Koalas  ·  Jun 16 – Jun 30

  • 12 stories committed · 42 points
  • Accepted: 14 pts  ·  Development: 18 pts  ·  Testing: 6 pts  ·  Backlog: 4 pts
  • 2 stories unassigned  ·  1 story blocked  ·  3 stories missing QA

A full sprint health picture in one reply. No board to load. No columns to scroll.

Workflow 2 — Validate & ship

MM
Merge Masters
Senior Developer, Code Koalas
Wednesday afternoon — PR open, ready for senior review

Story 2157 is ready for a senior review. Todo Turtle built the OAuth feature and raised the PR. Merge Masters — the team's senior developer — picks it up for a final validation before it moves to Testing. They want to be sure every acceptance criterion is met in the code, not just assumed.

They ask the AI to check.

Merge Masters says
"Validate story 2157"
Monty

On it — pulling story 2157 and checking your codebase against each criterion.

Results:

  • Google OAuth login — implemented in src/auth/providers/google.ts, callback handled at line 42
  • GitHub OAuth login — implemented in src/auth/providers/github.ts, line 38
  • Session persistence — JWT stored in localStorage, refresh logic in src/auth/session.ts
  • ⚠️ Error message on failed authAuthError is caught in src/auth/callback.ts but the message passed to the UI is the raw API error string, not user-friendly
  • Post-login redirect — no redirect logic found; user always lands on /dashboard after login

3 of 5 criteria fully met. 2 need attention before this moves to Testing.

Two gaps. Merge Masters fixes the error message and adds the redirect logic. Twenty minutes later, they re-run the validation — all five criteria return green. Time to update the story.

Merge Masters says
"Move story 2157 to Testing"
Monty

Here's what I'll update:

  • Story 2157 — User login with OAuth
  • Kanban: In Development → Verification

Confirm? (yes / no)

Merge Masters says
"Yes"
Monty
Done. Story 2157 is now in Verification. Bug Bouncer will be able to see it in the Testing queue.

The story moves to Testing. Bug Bouncer gets notified. Merge Masters raises the PR. The whole flow — validate, fix, confirm, move — happened without touching the Silverile UI once.

Monty always shows a preview before changing anything. You see exactly what will happen and say yes or no. Nothing is saved until you confirm.

Workflow 3 — Validate with test cases and test runs

BB
Build Breakers
QA Lead, Code Koalas
Thursday morning — story just landed in Verification

Build Breakers picks up story 2157 in Verification. There are test cases on this one — five of them, covering the OAuth flows. Build Breakers doesn't just want to check the code; they want to see how those test cases actually ran.

Build Breakers says
"Validate story 2157 with test cases"
Monty

Story 2157 has 5 test cases. Do you want to:
a) Include all of them
b) Pick specific ones
c) Skip test cases and validate acceptance criteria only?

Build Breakers says
"Include all of them"
Monty

Checking codebase and fetching latest test runs...

Acceptance criteria — all met ✅

Test case results:

  • 🟢 TC-01 — Google login happy path · Passed Jun 18
  • 🟢 TC-02 — GitHub login happy path · Passed Jun 18
  • 🔴 TC-03 — Failed Google auth shows error · Failed Jun 18
  • 🟢 TC-04 — Session persists on refresh · Passed Jun 18
  • 🔴 TC-05 — Redirect after login · Failed Jun 18

Two failures. The acceptance criteria said those items were fixed — but the test runs tell a different story. Build Breakers has exactly what they need: the specific test cases that failed, when they ran, and what was being tested. No need to switch tools — Monty has all the data right there.

Workflow 4 — File defects from failed test runs

BB
Build Breakers
QA Lead, Code Koalas
Thursday morning — two failures to log before standup

Build Breakers has been through this before. Logging defects usually means copying test steps into a form, re-typing the actual result from the run log, and manually linking everything back to the story. It takes ten minutes per defect.

Not today. The validation report is already open. Monty has the test data.

Build Breakers says
"Create defects for the failed test cases"
Monty

I found 2 failed test runs. Let me create them one at a time. Here's the first:

Defect preview — TC-03

  • Title: Failed Google auth does not show user-friendly error message
  • Linked to: Story 2157
  • Test case: TC-03 · Run ID: 8821
  • Severity: Medium
  • Steps to reproduce: Attempt Google OAuth login with an invalid account
  • Actual behavior: Raw API error string displayed — "invalid_grant: Token has been expired or revoked"
  • Expected behavior: User-friendly message shown — "We couldn't sign you in with Google. Please try again."

Create this defect? (yes / no)

Build Breakers says
"Yes"
Monty

Defect created and linked to story 2157. Now for the second failure:

Defect preview — TC-05

  • Title: User always redirected to /dashboard after login instead of original destination
  • Linked to: Story 2157
  • Test case: TC-05 · Run ID: 8823
  • Severity: High
  • Steps to reproduce: Navigate to /settings, get redirected to login, complete OAuth
  • Actual behavior: User lands on /dashboard
  • Expected behavior: User returned to /settings

Create this defect? (yes / no)

Build Breakers says
"Yes"
Monty
Done. Both defects created, linked to story 2157, and tied to their respective test runs. Story 2157 now shows 2 open defects.

Two defects. Fully documented. Linked to the story, the test cases, and the specific runs that surfaced them. Build Breakers typed two words: "Yes." Twice.

Monty fills in steps to reproduce from the test case, actual behavior from the run record, and expected behavior from the test case definition. You never copy-paste run logs or type IDs by hand.

Workflow 5 — Manage defects

BB
Bug Bouncer
QA Engineer, Code Koalas
Later that day — managing the defect queue

Merge Masters has picked up the two defects and started fixing them. Bug Bouncer wants to update the defect statuses and check what else is open across the sprint.

Bug Bouncer says
"Show me all open defects in the project"
Monty

3 open defects:

  • Defect 461 — Failed Google auth shows raw error · Story 2157 · Medium · Unassigned
  • Defect 462 — Login redirect broken · Story 2157 · High · Unassigned
  • Defect 448 — Password reset email not sent on first attempt · Story 2143 · High · Merge Masters
Bug Bouncer says
"Update defect 461 to In Development"
Monty

Updating Defect 461 — Failed Google auth shows raw error:

Status: Open → In Development

Confirm? (yes / no)

Bug Bouncer says
"Yes"
Monty
Done. Defect 461 is now In Development.

Bug Bouncer updates both defects, assigns them to Merge Masters, and keeps the board clean — all without switching context out of their AI session.

If a defect comes in from a user report rather than a test run, creating it manually is just as fast:

Bug Bouncer says
"Create a defect for story 2157 — the login page hangs on Safari iOS 17"
Monty

I need a couple more details. What's the expected behavior, and how severe is this?

Monty asks for the missing required fields, then shows a preview before saving. No form to navigate. No story number to look up separately.

Workflow 6 — Sprint health

SP
Sprint Pickle
Scrum Master, Code Koalas
Friday afternoon — end-of-week check-in

Sprint Pickle runs a Friday health check every week. It used to mean opening four different Silverile views, sorting by last updated, and manually counting blocked items. Now it's a conversation.

Sprint Pickle says
"Show me stalled stories"
Monty

4 stalled stories found:

  • 🚫 Story 2134 — Payment integration · Blocked — waiting on API credentials from finance
  • Story 2143 — Password reset flow · No update in 7 days · In Development
  • Story 2101 — Profile image upload · No update in 6 days · In Development
  • Story 2098 — Email notification templates · No update in 9 days · Backlog

Story 2134 is explicitly blocked. Sprint Pickle makes a note to follow up with finance on Monday. The others just haven't moved — those go onto the standup agenda.

Sprint Pickle says
"Give me a sprint summary"
Monty

Sprint 24 — end of week 1

  • 42 points committed · 18 accepted · 14 in development · 6 in testing · 4 in backlog
  • 3 stories missing QA assignment · 2 stories unassigned entirely
  • Velocity on track if blocked stories clear by Wednesday

Sprint Pickle screenshots the summary and pastes it into the team Slack. The Friday update is sent in three minutes.

Workflow 7 — Create and document stories

Path A — Creating a story from scratch

SS
Story Sprout
Product Manager, Code Koalas
Tuesday — planning next sprint features

Story Sprout has a new feature to scope: users should be able to export their dashboard data as a CSV. They know roughly what they want. They don't know how to write a Silverile story. They don't need to.

Story Sprout says
"Create a story — users should be able to export their dashboard data as a CSV file"
Monty

Story draft:

Title: Dashboard CSV export

Allow users to download their current dashboard view as a CSV file, preserving applied filters and column order.

Acceptance criteria:

  • An "Export CSV" button appears on the dashboard toolbar
  • Clicking it downloads a .csv file with all currently visible rows
  • Applied filters are reflected in the export — hidden rows are excluded
  • Column order in the export matches the order on screen
  • File is named dashboard-export-YYYY-MM-DD.csv

Create this story? You can also ask me to adjust the criteria or add test cases first. (yes / no)

Story Sprout says
"Add one more AC — empty state shows a message if there are no rows to export"
Monty
Added. Updated criteria now includes: "If the dashboard has no visible rows, the export button shows a tooltip: 'No data to export'." Shall I create it?
Story Sprout says
"Yes, and also generate test cases"
Monty
Story created as #2172. Generating test cases from the acceptance criteria... Done — 6 test cases added to story 2172.

A fully formed story with acceptance criteria and test cases — created in a two-minute conversation. Story Sprout adds it to the sprint planning queue and moves on.

Path B — Documenting code that already exists

CC
Code Constructor
Developer, Code Koalas
Thursday — built a feature, story was never created

Code Constructor built a dark mode toggle last week. It was a quick win during a prototyping session and nobody created a story for it at the time. Now it's in production and Silverile has no record of it. That needs to change.

Code Constructor says
"I already built the dark mode toggle — create a Silverile story documenting what was implemented. It's in src/components/ThemeToggle.tsx and src/hooks/useTheme.ts"
Monty

Reading the code...

Story draft — from existing code:

Title: Dark mode toggle

A theme toggle component that switches the application between light and dark mode, persisting the user's preference across sessions via localStorage.

Acceptance criteria (derived from implementation):

  • A toggle button is visible in the top navigation bar
  • Clicking it switches between light and dark mode instantly
  • Preference is saved to localStorage and restored on next visit
  • System preference (prefers-color-scheme) is used on first load if no preference is saved
  • All existing UI components respond to theme changes without a page reload

Create this story? (yes / no)

Code Constructor says
"Yes"
Monty
Story #2173 created. Silverile now has a system-of-record entry for the dark mode toggle.

The feature is documented. The acceptance criteria reflect what was actually built, not what was planned. Code Constructor continues without breaking their flow.

This pattern — build first, document after — is common in fast-moving teams. The AI reads the code and writes the story for you, ensuring Silverile stays accurate as a system of record even when planning happens after the fact.

Workflow 8 — Plan a sprint

SP
Sprint Pickle
Scrum Master, Code Koalas
Monday — sprint planning session

Sprint 25 planning is underway. Sprint Pickle is pulling stories into the sprint, adjusting scope, and moving things around — all in the AI without opening the Silverile board.

Sprint Pickle says
"Show me all sprints"
Monty
  • Sprint 24 — Jun 16–30 · Active · 42 pts committed
  • Sprint 25 — Jul 1–14 · Upcoming · 0 pts so far
  • Sprint 23 — Jun 1–15 · Closed · 38 pts accepted
Sprint Pickle says
"Add story 2172 to sprint 25"
Monty

Adding to sprint 25:

Story 2172 — Dashboard CSV export · 3 points

Confirm? (yes / no)

Sprint Pickle says
"Yes"
Monty
Done. Story 2172 is in Sprint 25. Sprint 25 now has 3 points committed.

Sprint Pickle adds six more stories the same way. When one story turns out to be too large for this sprint, removing it is just as simple:

Sprint Pickle says
"Remove story 2098 from sprint 24"
Monty

Removing from sprint 24:

Story 2098 — Email notification templates · 5 points

Confirm? (yes / no)

Sprint Pickle says
"Yes"
Monty
Done. Story 2098 removed from Sprint 24. Sprint 24 is now 37 points committed.

Sprint planning done. No drag-and-drop. No reloading the board after every move.

Workflow 9 — Assign resources

SP
Sprint Pickle
Scrum Master, Code Koalas
Monday — assigning the sprint 25 stories

The stories are in the sprint. Now Sprint Pickle needs to assign them. First, a quick look at who's on the team — because Monty needs exact names, not nicknames.

Sprint Pickle says
"Who is on the project team?"
Monty

Code Koalas — 6 members:

  • Todo Turtle · Developer
  • Merge Masters · Senior Developer
  • Build Breakers · QA Lead
  • Bug Bouncer · QA Engineer
  • Story Sprout · Product Manager
  • DeployDino · DevOps
Sprint Pickle says
"Assign story 2172 to Todo Turtle as developer and Bug Bouncer as QA"
Monty

Assigning story 2172 — Dashboard CSV export:

  • Developer: Todo Turtle
  • QA: Bug Bouncer

Confirm? (yes / no)

Sprint Pickle says
"Yes"
Monty
Done. Story 2172 is assigned to Todo Turtle (dev) and Bug Bouncer (QA). They'll be notified.

Sprint Pickle works through the remaining stories the same way. In ten minutes, the entire sprint is assigned. The team has their work. The sprint is ready to go.

A single message can assign both developer and QA at once: "Assign story 2172 to Todo Turtle as developer and Bug Bouncer as QA." For defects, the same pattern works: "Assign defect 461 to Merge Masters."

Quick reference

Every prompt from the Code Koalas story in one place. Replace names and numbers with your own — the patterns work the same way.

WorkflowWhat you sayWhat happens
First sessionHello MontyMonty greets you by name, shows your assigned stories, and lists any open defects assigned to you
SetupCheck if my Silverile connection is workingVerifies credentials and connectivity
SetupShow me my available projectsLists all projects you have access to
SetupSet project 12 as my defaultSaves that project for all future requests
SetupUpdate my Silverile credentialsWalks you through re-entering your API key
1 — See your workWhat am I working on?Shows stories currently assigned to you
1 — See your workShow me story 2157Full details — description, acceptance criteria, status, assignees
1 — See your workList stories in my projectRetrieves the project story backlog
1 — See your workStart development on story 2157Moves story to In Development after preview + confirm, then immediately starts writing code
1 — See your workShow me the current sprintSprint summary with points and status breakdown
2 — Validate & shipValidate story 2157AI reads your codebase and checks each acceptance criterion
2 — Validate & shipMove story 2157 to TestingUpdates the Kanban column after preview + confirm
2 — Validate & shipMark story 2157 as AcceptedUpdates lifecycle status after preview + confirm
3 — ValidateValidate story 2157 with test casesIncludes per-test pass/fail results alongside AC checks
3 — ValidateShow me the test cases for story 2157Lists all test cases with their latest run result
4 — File defectsCreate defects for the failed test casesAI pre-fills everything from run data — you only confirm
5 — DefectsShow me defects for story 2157Lists all defects linked to that story
5 — DefectsShow me defect 456Full defect detail including description and status
5 — DefectsCreate a defect for story 2157: login button unresponsive on mobileDrafts defect, shows preview, waits for confirmation
5 — DefectsUpdate defect 456 to In DevelopmentChanges defect status after preview + confirm
6 — Sprint healthShow me stalled storiesStories with no update in several days, sorted by severity
6 — Sprint healthAre there any blocked stories?Highlights blocked items with their reasons
6 — Sprint healthGive me a sprint summaryPoints, status counts, unassigned and missing-QA counts
7 — Create storiesCreate a story for adding a dark mode toggleAI drafts title, description, and acceptance criteria for review
7 — Create storiesI already built the dark mode toggle — document it as a storyAI reads your code and generates the story from what was built
7 — Create storiesGenerate test cases for story 2157AI creates test cases from the story's acceptance criteria
8 — Sprint planningShow me all sprintsLists every sprint with dates and status
8 — Sprint planningAdd story 2157 to sprint 24Moves the story into that sprint after preview + confirm
8 — Sprint planningRemove story 2157 from the current sprintRemoves it from sprint scope after preview + confirm
9 — AssignWho is on the project team?Lists all team members with their roles
9 — AssignAssign story 2157 to Merge Masters as developerSets the dev assignee after preview + confirm
9 — AssignSet Bug Bouncer as QA for story 2157Sets the QA assignee after preview + confirm