Give your agents context.
Build with intention.

Turn ideas into working software with project knowledge, reusable skills, clear specs, and changes you can verify.

One idea. A connected workflow.

Follow a notification-preferences feature from first question to final handoff. Illustrative example

01 / 06

Start with what’s already true.

Before an agent changes your project, help it find the architecture, decisions, and constraints that matter to the task.

Start with
A feature idea + your repository
Leave with
Relevant project knowledge
Take the example with you
docs/notifications.md Markdown

Notification preferences

Project context for the example feature. Read this before changing how reminders are sent.

Current behaviour
Members receive a daily reminder at their chosen time.
Existing boundary
The server owns preferences. The scheduler checks them before sending.
Constraint
Turning off reminders must not disable account or security messages.
Start: AGENTS.md
Index: docs/_index.md
Read:  docs/notifications.md

A compact map first. The relevant page next.

02 / 06

Resolve the questions that change the work.

Challenge the idea, inspect existing behaviour, and settle the decisions that would otherwise turn into guesswork during implementation.

Start with
Project context + an open question
Leave with
A clear, bounded direction
Take the example with you
examples/notifications/plan.md Markdown

What does “pause reminders” mean?

Decision: add a single daily-reminder toggle to Settings. Start with the smallest useful change.

Decide
The preference applies to daily reminders on every signed-in device.
Preserve
Existing members keep their current reminder setting.
Exclude
Quiet hours, per-channel controls, and temporary snoozing are future work.
Verify
Test saving the preference and the scheduler’s decision to send.

Record the decision and its reason, not the whole conversation.

03 / 06

Make the intended behaviour explicit.

Turn the agreed direction into a shared contract: the problem, scope, acceptance criteria, and how the behaviour will be tested.

Start with
Agreed decisions
Leave with
An implementable specification
Take the example with you
examples/notifications/spec.md Markdown

Let members control daily reminders

Members can turn daily reminders on or off in Settings without affecting other messages.

Accept 01
The saved preference appears when Settings opens, including on another device.
Accept 02
Switching off prevents future daily reminders after the save succeeds.
Accept 03
A failed save restores the previous setting and offers a retry.
Accept 04
Account and security messages remain unchanged.

Acceptance criteria describe behaviour a person can observe.

04 / 06

Slice the work into verifiable changes.

Give each ticket a useful outcome and explicit dependencies. Start work only when its blockers are complete.

Start with
An agreed specification
Leave with
Small tickets with blocking relationships
Take the example with you
examples/notifications/tickets.md Markdown

One feature. Three complete slices.

Each ticket connects the behaviour to its verification. The order follows real dependencies.

01 · No blockers
Persist a reminder preference and enforce it in the scheduler. Verify defaults and message exclusions.
02 · Blocked by 01
Expose the saved preference in Settings. Verify a successful change across sessions.
03 · Blocked by 02
Complete failure recovery and keyboard interaction. Verify retry, rollback, and focus.

Small fixes can skip ticket breakdown. Structure should fit the work.

05 / 06

Give each agent a bounded piece of work.

Keep the spec, relevant context, and completion criteria within reach. Implement a ready ticket, then inspect and test the resulting change.

Start with
A ready ticket + its context
Leave with
A scoped, reviewable change
Take the example with you
examples/notifications/build.md Markdown

Implement ticket 02

Read the spec and the preferences contract delivered by ticket 01. Follow the existing Settings patterns.

Scope
Show the current value, save a changed value, and display the confirmed result.
Reuse
Use the existing preferences client and accessible switch component.
Check
Verify initial loading, successful saving, and persistence after reopening Settings.
Handoff
Describe the change and test results. Leave failure recovery visible as ticket 03.

Parallel work is useful when the tasks are actually independent.

06 / 06

Finish with evidence. Leave better context.

Review the change against the spec, fix confirmed issues, and update the project docs. Report what was checked and what still needs to happen.

Start with
Implementation + acceptance criteria
Leave with
Review evidence + updated documentation
Take the example with you
examples/notifications/verification.md Markdown

A handoff you can inspect

Illustrative report format only. These are example statuses, not tests run against an application.

Local checks · Passed in example
Preference persistence, scheduler exclusions, failed-save recovery, and keyboard interaction.
Review · Resolved in example
Confirmed the disabled setting leaves security messages unchanged.
Documentation · Updated in example
The notification contract now includes the preference and its default.
Deployment · Not performed
Hosted checks and post-deployment acceptance are separate evidence.

A passing local check is evidence for that check, not proof of deployment.

Use the whole loop for a feature. Take a shorter path for a small fix. Keep the context and the checks.

A good agent starts
with a good map.

Your project already has a history. Make its architecture, decisions, and constraints easy to find before asking an agent to change them.

Explore indexing options
your-project/ Knowledge stays with the code
AGENTS.md The starting point
guardrails.md Your project boundaries
docs/ Project knowledge
_index.md A map of the knowledge
architecture.md How the pieces fit
decisions.md What was decided, and why
development.md How to work in this repo
docs/_index.md Start here

Small entry point.
Useful depth.

AGENTS.md routes the task. A compact documentation index helps agents find the relevant pages without reading the whole project. Start with linked Markdown; add search or wiki tooling as your knowledge grows.

Keep reusable procedures in your skills directory. Keep project-specific knowledge in the repository. Update the relevant page when the behaviour changes.

An index makes knowledge discoverable.
Keeping it accurate is part of the work.

A skill for the job
in front of you.

Small, reusable procedures with clear inputs and useful outputs. Start with these six original templates and adapt them to your project.

How to install the skills
Plan Find the right problem. shape-work

Clarify the outcome, challenge assumptions, and record the decisions that matter.

Input
An idea or unresolved problem
Output
Decisions, scope, and open questions
Read the skill
Specify Make the outcome clear. write-spec

Turn settled decisions into observable behaviour and acceptance criteria.

Input
Agreed direction and project context
Output
A specification with a verification plan
Read the skill
Organise Make the next step small. slice-work

Break a spec into complete slices with explicit blockers and a way to verify each.

Input
An agreed specification
Output
Dependency-linked ticket drafts
Read the skill
Build Build one useful change. implement-slice

Implement a ready ticket within the project’s existing patterns and boundaries.

Input
A ready ticket, its spec, and context
Output
A scoped change and check results
Read the skill
Verify Check what actually changed. review-change

Review behaviour against the spec and identify concrete, actionable regressions.

Input
A defined diff and expected behaviour
Output
Evidence-backed findings or review limits
Read the skill
Maintain Leave the map up to date. maintain-context

Update the existing topic when behaviour changes, then check the docs and index.

Input
Verified changes and current documentation
Output
Accurate, discoverable project knowledge
Read the skill

A skill is a folder with a SKILL.md file. Your agent’s setup determines where it lives and how you invoke it. Explore the format.

“Done” deserves
a little evidence.

A generated change is the beginning of verification. Review the diff, check the behaviour, and leave a handoff someone else can follow.

Keep local checks, hosted CI, and deployment status separate. Then update the docs so the next task starts with better context.

Read the handoff template
Change handoff Example format

Daily reminder preferences

Changed
Members can control daily reminders in Settings.
Checked
Persistence, scheduler behaviour, failure recovery, and keyboard access.
Still to do
Hosted CI and post-deployment acceptance.
Knowledge
Notification contract updated with the new preference.

Illustrative only. A report should include the actual commands and results.

Make your next feature
a better starting point.

Take the skills, the templates, and the worked example.
Bring your own repository.

Get the starter kit Free to use and adapt. No signup.