install
source · Clone the upstream repo
git clone https://github.com/matthewsinclair/intent
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/matthewsinclair/intent "$T" && mkdir -p ~/.claude/skills && cp -r "$T/intent/plugins/claude/skills/in-finish" ~/.claude/skills/matthewsinclair-intent-in-finish && rm -rf "$T"
manifest:
intent/plugins/claude/skills/in-finish/SKILL.mdsource content
Session Finish
End-of-session wrap-up. Ensure all state is captured so the next session can pick up cleanly.
Procedure
1. Update steel thread docs
For each ST/WP worked on this session:
- Update
with completed and remaining taskstasks.md - Update
with as-built status (if design changed)design.md - Update
with implementation notes (if applicable)impl.md - Move completed tasks from
totasks.md
if that file existsdone.md
2. Update work-in-progress
Update
intent/wip.md with:
- What was accomplished this session
- Current state of in-progress work
- What's next
3. Update restart context
Update
intent/restart.md with:
- Key context the next session needs
- Any decisions made or deferred
- Pointers to relevant files and STs
Rewrite
.claude/restart.md with:
- WIP/TODO focus for Claude Code startup
- Concise pointers to current work
4. File quality checks
- No non-printing characters in any files (proper emojis and ASCII only)
- All markdown tables are column-aligned
- No Claude signature in commit messages
5. ONLY update .md doc files
Do NOT write new code during session finish. This step is documentation only. Commit the documentation updates.
Skill Chain
Before finishing, consider:
-- verify any completion claims made this session/in-verify
Red Flags
| Rationalization | Reality |
|---|---|
| "I'll update restart.md next session" | Next session won't have this context. Write it now. |
| "The code speaks for itself" | Code changes without docs are invisible to the next session. |
| "Just one more quick fix before wrap-up" | Finish means finish. No new code. |