/plugin marketplace add ClementWalter/rookie-marketplace/plugin install chief-of-staff@rookie-marketplaceDefined in hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "prompt",
"prompt": "Before ending this session, capture learnings for the knowledge base.\n\n**Required Action**: Use the Write tool to APPEND a retrospective entry to the learnings file at:\n`/Users/clementwalter/Documents/rookie-marketplace/chief-of-staff/learnings/session-learnings.md`\n\nFormat each entry as:\n```markdown\n## Session: YYYY-MM-DD HH:MM\n\n**Summary**: Brief 1-line summary of what was accomplished\n\n### What Worked Well\n- Item 1\n- Item 2\n\n### What Didn't Work\n- Item 1\n\n### Key Learnings\n- Insight 1\n- Insight 2\n\n---\n```\n\nAfter writing the learnings entry, return 'approve' to end the session.\nIf this was a trivial session with no significant learnings, return 'approve' immediately."
}
],
"matcher": "*"
}
],
"SubagentStop": [
{
"hooks": [
{
"type": "prompt",
"prompt": "## MANDATORY: Code Quality Checklist Before Completion\n\n**You CANNOT complete this task until you have done ALL of the following:**\n\n### 1. Run trunk check --fix\n```bash\ntrunk check --fix\n```\nIf trunk is not available, run the project's linter/formatter instead.\n\n### 2. Run CI/Build/Tests\nRun the project's test suite or build command. Common patterns:\n```bash\n# Check for package.json scripts\nnpm test OR npm run build OR npm run check\n\n# Check for Makefile\nmake test OR make check\n\n# Check for Cargo.toml\ncargo test && cargo clippy\n\n# Check for pyproject.toml\npytest OR uv run pytest\n```\n\n### 3. Verify git status is clean\n```bash\ngit status\n```\nAll changes should be committed. No untracked files that should be included.\n\n---\n\n**RESPOND WITH:**\n- `approve` — ONLY if you have run trunk check, CI/tests passed, and git is clean\n- `block: [reason]` — if you haven't completed the checklist, explaining what's missing\n\n**If you claim completion without running these checks, you are violating process. The Chief of Staff will reject your work.**"
}
],
"matcher": "*"
}
]
}{
"riskFlags": {
"touchesBash": false,
"matchAllTools": false,
"touchesFileWrites": false
},
"typeStats": {
"prompt": 2
},
"eventStats": {
"Stop": 1,
"SubagentStop": 1
},
"originCounts": {
"absolutePaths": 0,
"pluginScripts": 0,
"projectScripts": 0
},
"timeoutStats": {
"commandsWithoutTimeout": 0
}
}