Install
$ agentstack add skill-skyf0xx-better-thinking-expectation-contracting ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Expectation Contracting
Make roles, deliverables, and definitions-of-done explicit before work begins, converting assumed alignment into checkable agreement.
Why
Most collaboration friction traces back to differing assumptions about who owns what and what "done" means — assumptions nobody stated because each side thought they were obvious. A short explicit contract prevents the argument that happens later when the gap surfaces.
Use when / Don't use when
- Use when: starting any collaboration with unclear or unstated role boundaries; delegating work; cross-team projects.
- Don't use when: the working relationship is well-established and the task is routine within it.
Inputs → Outputs
- Inputs: a collaborative effort about to start.
- Outputs: an explicit, mutually confirmed statement of roles, deliverables, and completion criteria.
Principles
- "Done" needs a checkable definition, not a feeling — specify the artifact or state that constitutes completion.
- Roles — who decides, who executes, who's consulted — should be named per decision-point, not assumed globally.
- The contract should be confirmed by both sides, not just stated by one; silence isn't agreement.
Procedure
- State the deliverable(s) and their definition of done, specifically enough to be checkable.
- State roles: who decides, who executes, who's consulted, who's informed — for the key decision points, not just generically.
- State the timeline and any dependencies each side owns.
- Confirm explicitly with the other party — ask them to restate their understanding rather than assuming silence means agreement.
- Revisit if scope or roles shift materially during the work; note any point still genuinely unresolved after confirmation.
Common mistakes
- Assuming a shared definition of "done" without ever stating it.
- Announcing the contract without confirming the other side's understanding actually matches it.
- Setting it once and never revisiting as the work evolves.
Examples
- Delegating a project to a direct report.
- A cross-functional project's kickoff.
- A freelance engagement's scope agreement, or a research collaboration's authorship agreement.
Related
- [[decision-framing]] — establishes the decider and consulted roles this contract makes explicit.
- [[session-design]] — often the venue where this contract gets negotiated and confirmed.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: skyf0xx
- Source: skyf0xx/better-thinking
- License: MIT
- Homepage: https://zenbin.org/p/better-thinking
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.